]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x
authorroot <root@ip-10-250-162-129.ec2.internal>
Sat, 9 Jan 2010 23:25:08 +0000 (23:25 +0000)
committerroot <root@ip-10-250-162-129.ec2.internal>
Sat, 9 Jan 2010 23:25:08 +0000 (23:25 +0000)
191 files changed:
README
actions/apigroupleave.php
actions/apistatusesupdate.php
actions/featured.php
actions/geocode.php [new file with mode: 0644]
actions/getfile.php
actions/leavegroup.php
actions/newnotice.php
actions/profilesettings.php
actions/shownotice.php
actions/version.php [new file with mode: 0644]
classes/Avatar.php
classes/Config.php
classes/Fave.php
classes/File.php
classes/File_to_post.php
classes/Group_block.php
classes/Group_inbox.php
classes/Group_member.php
classes/Memcached_DataObject.php
classes/Notice.php
classes/Notice_inbox.php
classes/Notice_tag.php
classes/Profile.php
classes/Profile_role.php
classes/Queue_item.php
classes/Subscription.php
classes/User.php
classes/User_location_prefs.php [new file with mode: 0644]
classes/User_username.php [new file with mode: 0644]
classes/statusnet.ini
config.php.sample
db/08to09.sql
db/statusnet.sql
doc-src/about
doc-src/help
doc-src/im
extlib/lgpl-2.1.txt [new file with mode: 0644]
htaccess.sample
index.php
install.php
js/jquery.cookie.js [new file with mode: 0644]
js/json2.js [new file with mode: 0644]
js/util.js
lib/action.php
lib/adminpanelaction.php
lib/authenticationplugin.php [new file with mode: 0644]
lib/authorizationplugin.php [new file with mode: 0644]
lib/cache.php [new file with mode: 0644]
lib/columndef.php
lib/common.php
lib/default.php
lib/htmloutputter.php
lib/jabber.php
lib/language.php
lib/mail.php
lib/mailhandler.php [new file with mode: 0644]
lib/noticeform.php
lib/noticelist.php
lib/ping.php
lib/plugin.php
lib/repeatform.php
lib/router.php
lib/schema.php
lib/util.php
locale/ar/LC_MESSAGES/statusnet.po
locale/arz/LC_MESSAGES/statusnet.po
locale/bg/LC_MESSAGES/statusnet.po
locale/ca/LC_MESSAGES/statusnet.po
locale/cs/LC_MESSAGES/statusnet.po
locale/de/LC_MESSAGES/statusnet.po
locale/el/LC_MESSAGES/statusnet.po
locale/en_GB/LC_MESSAGES/statusnet.po
locale/es/LC_MESSAGES/statusnet.po
locale/fa/LC_MESSAGES/statusnet.po [new file with mode: 0644]
locale/fi/LC_MESSAGES/statusnet.po
locale/fr/LC_MESSAGES/statusnet.po
locale/ga/LC_MESSAGES/statusnet.po
locale/he/LC_MESSAGES/statusnet.po
locale/hsb/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/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.po
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/vi/LC_MESSAGES/statusnet.po
locale/zh_CN/LC_MESSAGES/statusnet.po
locale/zh_TW/LC_MESSAGES/statusnet.po
plugins/APCPlugin.php [new file with mode: 0644]
plugins/Authentication/AuthenticationPlugin.php [deleted file]
plugins/Authentication/User_username.php [deleted file]
plugins/Authorization/AuthorizationPlugin.php [deleted file]
plugins/BitlyUrl/BitlyUrlPlugin.php
plugins/Blacklist/BlacklistPlugin.php
plugins/CacheLogPlugin.php [new file with mode: 0644]
plugins/CasAuthentication/CasAuthenticationPlugin.php [new file with mode: 0644]
plugins/CasAuthentication/README [new file with mode: 0644]
plugins/CasAuthentication/caslogin.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/client.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/catalan.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/english.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/french.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/german.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/greek.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/japanese.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/languages.php [new file with mode: 0644]
plugins/CasAuthentication/extlib/CAS/languages/spanish.php [new file with mode: 0644]
plugins/Facebook/FacebookPlugin.php
plugins/Facebook/facebook/facebook.php
plugins/Facebook/facebook/facebook_desktop.php
plugins/Facebook/facebook/facebook_mobile.php [new file with mode: 0644]
plugins/Facebook/facebook/facebookapi_php5_restlib.php
plugins/Facebook/facebookaction.php
plugins/FeedSub/FeedSubPlugin.php
plugins/FeedSub/feedinfo.php
plugins/GeoURLPlugin.php
plugins/GeonamesPlugin.php
plugins/GoogleAnalyticsPlugin.php
plugins/Imap/ImapPlugin.php [new file with mode: 0644]
plugins/Imap/README [new file with mode: 0644]
plugins/Imap/imapdaemon.php [new file with mode: 0755]
plugins/LdapAuthentication/LdapAuthenticationPlugin.php
plugins/LdapAuthentication/MemcacheSchemaCache.php [new file with mode: 0644]
plugins/LdapAuthentication/README
plugins/LdapAuthorization/LdapAuthorizationPlugin.php
plugins/LilUrl/LilUrlPlugin.php
plugins/LinkbackPlugin.php
plugins/Mapstraction/MapstractionPlugin.php
plugins/MemcachePlugin.php [new file with mode: 0644]
plugins/Minify/MinifyPlugin.php
plugins/MobileProfile/MobileProfilePlugin.php
plugins/MobileProfile/mp-screen.css
plugins/Mollom/MollomPlugin.php [new file with mode: 0644]
plugins/Mollom/README [new file with mode: 0644]
plugins/OpenID/OpenIDPlugin.php
plugins/OpenID/User_openid_trustroot.php
plugins/PiwikAnalyticsPlugin.php
plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php [new file with mode: 0644]
plugins/PtitUrl/PtitUrlPlugin.php
plugins/RSSCloud/LoggingAggregator.php [new file with mode: 0644]
plugins/RSSCloud/README [new file with mode: 0644]
plugins/RSSCloud/RSSCloudNotifier.php [new file with mode: 0644]
plugins/RSSCloud/RSSCloudPlugin.php [new file with mode: 0644]
plugins/RSSCloud/RSSCloudQueueHandler.php [new file with mode: 0755]
plugins/RSSCloud/RSSCloudRequestNotify.php [new file with mode: 0644]
plugins/RSSCloud/RSSCloudSubscription.php [new file with mode: 0644]
plugins/Realtime/RealtimePlugin.php
plugins/Realtime/json2.js [deleted file]
plugins/Realtime/realtimeupdate.js
plugins/Recaptcha/RecaptchaPlugin.php
plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
plugins/Sample/SamplePlugin.php
plugins/Sample/User_greeting_count.php [new file with mode: 0644]
plugins/Sample/hello.php [new file with mode: 0644]
plugins/SimpleUrl/SimpleUrlPlugin.php
plugins/TemplatePlugin.php
plugins/TightUrl/TightUrlPlugin.php
plugins/TwitterBridge/TwitterBridgePlugin.php
plugins/UserFlag/UserFlagPlugin.php
plugins/UserFlag/User_flag_profile.php
plugins/WikiHashtagsPlugin.php
plugins/XCachePlugin.php [new file with mode: 0644]
scripts/console.php
scripts/createsim.php
scripts/maildaemon.php
scripts/stopdaemons.sh
scripts/updatelocation.php [new file with mode: 0644]
theme/base/css/display.css
theme/base/images/icons/icon_geo.png [new file with mode: 0644]
theme/base/images/icons/icons-01.gif
theme/cloudy/css/display.css
theme/default/css/display.css
theme/identica/css/display.css

diff --git a/README b/README
index 9e91ad674d6d76d229aae629daf1e07a7a3d1863..7457215a1f167da322699d27e5d422d90855af1f 100644 (file)
--- a/README
+++ b/README
@@ -710,15 +710,21 @@ private site, but users of the private site may be able to subscribe
 to users on a remote site. (Or not... it's not well tested.) The
 "proper behaviour" hasn't been defined here, so handle with care.
 
-If fancy URLs is enabled, access to file attachments can also be
-restricted to logged-in users only. Uncomment the appropriate rewrite
-<<<<<<< HEAD:README
-rule in .htaccess or your server's httpd.conf. (This most likely will
-not work if you are using a virtual server for attachments, so consider
-the performance/security tradeoff.)
-=======
-rule in .htaccess or your server's httpd.conf.
->>>>>>> 446de62... Revert "Added some explanatory text to README":README
+Access to file attachments can also be restricted to logged-in users only.
+1. Add a directory outside the web root where your file uploads will be
+   stored. Usually a command like this will work:
+
+           mkdir /var/www/mublog-files
+
+2. Make the file uploads directory writeable by the web server. An
+   insecure way to do this is:
+
+           chmod a+x /var/www/mublog-files
+
+3. Tell StatusNet to use this directory for file uploads. Add a line
+   like this to your config.php:
+
+           $config['attachments']['dir'] = '/var/www/mublog-files';
 
 Upgrading
 =========
@@ -1616,6 +1622,7 @@ if anyone's been overlooked in error.
 * Craig Andrews
 * mEDI
 * Brett Taylor
+* Brigitte Schuster
 
 Thanks also to the developers of our upstream library code and to the
 thousands of people who have tried out Identi.ca, installed StatusNet,
index 514a3a557da4e923dbe419e9cf150607c92cbfe2..5627bfc14643a5bb2ae6f78a5d9528c6d9008fac 100644 (file)
@@ -108,7 +108,7 @@ class ApiGroupLeaveAction extends ApiAuthAction
         $member = new Group_member();
 
         $member->group_id   = $this->group->id;
-        $member->profile_id = $this->auth->id;
+        $member->profile_id = $this->auth_user->id;
 
         if (!$member->find(true)) {
             $this->serverError(_('You are not a member of this group.'));
@@ -118,12 +118,12 @@ class ApiGroupLeaveAction extends ApiAuthAction
         $result = $member->delete();
 
         if (!$result) {
-            common_log_db_error($member, 'INSERT', __FILE__);
+            common_log_db_error($member, 'DELETE', __FILE__);
             $this->serverError(
                 sprintf(
-                    _('Could not remove user %s to group %s.'),
+                    _('Could not remove user %s from group %s.'),
                     $this->user->nickname,
-                    $this->$group->nickname
+                    $this->group->nickname
                 )
             );
             return;
index dabbea92f5246c747b913a16bd70a8c3308c7a9d..f594bbf393626ffa67cccc8d5806ea9629df864a 100644 (file)
@@ -203,12 +203,6 @@ class ApiStatusesUpdateAction extends ApiAuthAction
                 }
             }
 
-            $location = null;
-
-            if (!empty($this->lat) && !empty($this->lon)) {
-                $location = Location::fromLatLon($this->lat, $this->lon);
-            }
-
             $upload = null;
 
             try {
@@ -235,11 +229,15 @@ class ApiStatusesUpdateAction extends ApiAuthAction
 
             $options = array('reply_to' => $reply_to);
 
-            if (!empty($location)) {
-                $options['lat'] = $location->lat;
-                $options['lon'] = $location->lon;
-                $options['location_id'] = $location->location_id;
-                $options['location_ns'] = $location->location_ns;
+            if ($this->user->shareLocation()) {
+
+                $locOptions = Notice::locationOptions($this->lat,
+                                                      $this->lon,
+                                                      null,
+                                                      null,
+                                                      $this->user->getProfile());
+
+                $options = array_merge($options, $locOptions);
             }
 
             $this->notice =
index 39bf09d8f07b125e278ba20315aea786ec2d0145..dd1056dd58338dc85408414aa06d23a45911632b 100644 (file)
@@ -96,7 +96,7 @@ class FeaturedAction extends Action
 
     function getInstructions()
     {
-        return sprintf(_('A selection of some of the great users on %s'),
+        return sprintf(_('A selection of some great users on %s'),
                        common_config('site', 'name'));
     }
 
diff --git a/actions/geocode.php b/actions/geocode.php
new file mode 100644 (file)
index 0000000..9671d2c
--- /dev/null
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Geocode action class
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Craig Andrews <candrews@integralblue.com>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, 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);
+}
+
+/**
+ * Geocode action class
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Craig Andrews <candrews@integralblue.com>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ */
+class GeocodeAction extends Action
+{
+    function prepare($args)
+    {
+        parent::prepare($args);
+        $token = $this->trimmed('token');
+        if (!$token || $token != common_session_token()) {
+            $this->clientError(_('There was a problem with your session token. '.
+                                 'Try again, please.'));
+        }
+        $this->lat = $this->trimmed('lat');
+        $this->lon = $this->trimmed('lon');
+        $location = Location::fromLatLon($this->lat, $this->lon);
+        if ($location) {
+            $this->location = Location::fromId($location->location_id, $location->location_ns);
+            $this->lat = $this->location->lat;
+            $this->lon = $this->location->lon;
+        }
+        return true;
+    }
+
+    /**
+     * Class handler
+     *
+     * @param array $args query arguments
+     *
+     * @return nothing
+     *
+     **/
+    function handle($args)
+    {
+        header('Content-Type: application/json; charset=utf-8');
+        $location_object = array();
+        $location_object['lat']=$this->lat;
+        $location_object['lon']=$this->lon;
+        if($this->location) {
+            $location_object['location_id']=$this->location->location_id;
+            $location_object['location_ns']=$this->location->location_ns;
+            $location_object['name']=$this->location->getName();
+            $location_object['url']=$this->location->getUrl();
+        }
+        print(json_encode($location_object));
+    }
+
+    /**
+     * Is this action read-only?
+     *
+     * @return boolean true
+     */
+
+    function isReadOnly($args)
+    {
+        return true;
+    }
+}
+?>
index ecda34c0f6c8168d37f6fb3d3853031a5b4626eb..cd327e41007e43b25fd26db97c25d26145e040f5 100644 (file)
@@ -1,13 +1,13 @@
 <?php
 /**
- * StatusNet, the distributed open-source microblogging tool
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
  *
- * Returns a given file attachment, allowing private sites to only allow
- * access to file attachments after login.
+ * Return a requested file
  *
  * PHP version 5
  *
- * LICENCE: This program is free software: you can redistribute it and/or modify
+ * 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.
  * 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  Personal
+ * @category  PrivateAttachments
  * @package   StatusNet
  * @author    Jeffery To <jeffery.to@gmail.com>
- * @copyright 2008-2009 StatusNet, Inc.
- * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
+if (!defined('STATUSNET')) {
     exit(1);
 }
 
 require_once 'MIME/Type.php';
 
 /**
- * Action for getting a file attachment
+ * An action for returning a requested file
  *
- * @category Personal
- * @package  StatusNet
- * @author   Jeffery To <jeffery.to@gmail.com>
- * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://status.net/
+ * The StatusNet system will do an implicit user check if the site is
+ * private before allowing this to continue
+ *
+ * @category  PrivateAttachments
+ * @package   StatusNet
+ * @author    Jeffery To <jeffery.to@gmail.com>
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
  */
 
 class GetfileAction extends Action
@@ -68,7 +72,7 @@ class GetfileAction extends Action
         $path = null;
 
         if ($filename) {
-            $path = common_config('attachments', 'dir') . $filename;
+            $path = File::path($filename);
         }
 
         if (empty($path) or !file_exists($path)) {
@@ -103,6 +107,10 @@ class GetfileAction extends Action
 
     function lastModified()
     {
+        if (common_config('site', 'use_x_sendfile')) {
+            return null;
+        }
+
         return filemtime($this->path);
     }
 
@@ -114,8 +122,24 @@ class GetfileAction extends Action
      *
      * @return string etag http header
      */
+
     function etag()
     {
+        if (common_config('site', 'use_x_sendfile')) {
+            return null;
+        }
+
+        $cache = common_memcache();
+        if($cache) {
+            $key = common_cache_key('attachments:etag:' . $this->path);
+            $etag = $cache->get($key);
+            if($etag === false) {
+                $etag = crc32(file_get_contents($this->path));
+                $cache->set($key,$etag);
+            }
+            return $etag;
+        }
+
         $stat = stat($this->path);
         return '"' . $stat['ino'] . '-' . $stat['size'] . '-' . $stat['mtime'] . '"';
     }
@@ -133,13 +157,19 @@ class GetfileAction extends Action
         // undo headers set by PHP sessions
         $sec = session_cache_expire() * 60;
         header('Expires: ' . date(DATE_RFC1123, time() + $sec));
-        header('Cache-Control: public, max-age=' . $sec);
-        header('Pragma: public');
+        header('Cache-Control: max-age=' . $sec);
 
         parent::handle($args);
 
         $path = $this->path;
+
         header('Content-Type: ' . MIME_Type::autoDetect($path));
-        readfile($path);
+
+        if (common_config('site', 'use_x_sendfile')) {
+            header('X-Sendfile: ' . $path);
+        } else {
+            header('Content-Length: ' . filesize($path));
+            readfile($path);
+        }
     }
 }
index 08fce150980eb406fce36bf46ceff307bf66ba32..90c85e1a4e6e602eed57d7b552745564f8c41ae2 100644 (file)
@@ -123,8 +123,8 @@ class LeavegroupAction extends Action
         $result = $member->delete();
 
         if (!$result) {
-            common_log_db_error($member, 'INSERT', __FILE__);
-            $this->serverError(sprintf(_('Could not remove user %s to group %s'),
+            common_log_db_error($member, 'DELETE', __FILE__);
+            $this->serverError(sprintf(_('Could not remove user %s from group %s'),
                                        $cur->nickname, $this->group->nickname));
         }
 
index c014f1781cd9b380b46a160e3113bc846057327f..a4ed87bb62e695b86cc02e026259dce025d01102 100644 (file)
@@ -164,19 +164,6 @@ class NewnoticeAction extends Action
             $replyto = 'false';
         }
 
-        $lat = $this->trimmed('lat');
-        $lon = $this->trimmed('lon');
-        $location_id = $this->trimmed('location_id');
-        $location_ns = $this->trimmed('location_ns');
-
-        if (!empty($lat) && !empty($lon) && empty($location_id)) {
-            $location = Location::fromLatLon($lat, $lon);
-            if (!empty($location)) {
-                $location_id = $location->location_id;
-                $location_ns = $location->location_ns;
-            }
-        }
-
         $upload = null;
         $upload = MediaFile::fromUpload('attach');
 
@@ -195,12 +182,20 @@ class NewnoticeAction extends Action
             }
         }
 
-        $notice = Notice::saveNew($user->id, $content_shortened, 'web',
-                                  array('reply_to' => ($replyto == 'false') ? null : $replyto,
-                                        'lat' => $lat,
-                                        'lon' => $lon,
-                                        'location_id' => $location_id,
-                                        'location_ns' => $location_ns));
+        $options = array('reply_to' => ($replyto == 'false') ? null : $replyto);
+
+        if ($user->shareLocation() && $this->arg('notice_data-geo')) {
+
+            $locOptions = Notice::locationOptions($this->trimmed('lat'),
+                                                  $this->trimmed('lon'),
+                                                  $this->trimmed('location_id'),
+                                                  $this->trimmed('location_ns'),
+                                                  $user->getProfile());
+
+            $options = array_merge($options, $locOptions);
+        }
+
+        $notice = Notice::saveNew($user->id, $content_shortened, 'web', $options);
 
         if (isset($upload)) {
             $upload->attachToNotice($notice);
index 359664096ee8a3a715ae02b703902922bf617790..0d6777879193af2e9d66e662a3737ebd396fc062 100644 (file)
@@ -69,7 +69,7 @@ class ProfilesettingsAction extends AccountSettingsAction
     function getInstructions()
     {
         return _('You can update your personal profile info here '.
-                  'so people know more about you.');
+                 'so people know more about you.');
     }
 
     function showScripts()
@@ -92,9 +92,9 @@ class ProfilesettingsAction extends AccountSettingsAction
         $profile = $user->getProfile();
 
         $this->elementStart('form', array('method' => 'post',
-                                           'id' => 'form_settings_profile',
-                                           'class' => 'form_settings',
-                                           'action' => common_local_url('profilesettings')));
+                                          'id' => 'form_settings_profile',
+                                          'class' => 'form_settings',
+                                          'action' => common_local_url('profilesettings')));
         $this->elementStart('fieldset');
         $this->element('legend', null, _('Profile information'));
         $this->hidden('token', common_session_token());
@@ -133,6 +133,13 @@ class ProfilesettingsAction extends AccountSettingsAction
                          ($this->arg('location')) ? $this->arg('location') : $profile->location,
                          _('Where you are, like "City, State (or Region), Country"'));
             $this->elementEnd('li');
+            if (common_config('location', 'share') == 'user') {
+                $this->elementStart('li');
+                $this->checkbox('sharelocation', _('Share my current location when posting notices'),
+                                ($this->arg('sharelocation')) ?
+                                $this->arg('sharelocation') : $user->shareLocation());
+                $this->elementEnd('li');
+            }
             Event::handle('EndProfileFormData', array($this));
             $this->elementStart('li');
             $this->input('tags', _('Tags'),
@@ -185,7 +192,7 @@ class ProfilesettingsAction extends AccountSettingsAction
         $token = $this->trimmed('token');
         if (!$token || $token != common_session_token()) {
             $this->showForm(_('There was a problem with your session token. '.
-                        'Try again, please.'));
+                              'Try again, please.'));
             return;
         }
 
@@ -203,15 +210,15 @@ class ProfilesettingsAction extends AccountSettingsAction
 
             // Some validation
             if (!Validate::string($nickname, array('min_length' => 1,
-                            'max_length' => 64,
-                            'format' => NICKNAME_FMT))) {
+                                                   'max_length' => 64,
+                                                   'format' => NICKNAME_FMT))) {
                 $this->showForm(_('Nickname must have only lowercase letters and numbers and no spaces.'));
                 return;
             } else if (!User::allowed_nickname($nickname)) {
                 $this->showForm(_('Not a valid nickname.'));
                 return;
             } else if (!is_null($homepage) && (strlen($homepage) > 0) &&
-                    !Validate::uri($homepage, array('allowed_schemes' => array('http', 'https')))) {
+                       !Validate::uri($homepage, array('allowed_schemes' => array('http', 'https')))) {
                 $this->showForm(_('Homepage is not a valid URL.'));
                 return;
             } else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
@@ -253,15 +260,15 @@ class ProfilesettingsAction extends AccountSettingsAction
             $user->query('BEGIN');
 
             if ($user->nickname != $nickname ||
-                    $user->language != $language ||
-                    $user->timezone != $timezone) {
+                $user->language != $language ||
+                $user->timezone != $timezone) {
 
                 common_debug('Updating user nickname from ' . $user->nickname . ' to ' . $nickname,
-                        __FILE__);
+                             __FILE__);
                 common_debug('Updating user language from ' . $user->language . ' to ' . $language,
-                        __FILE__);
+                             __FILE__);
                 common_debug('Updating user timezone from ' . $user->timezone . ' to ' . $timezone,
-                        __FILE__);
+                             __FILE__);
 
                 $original = clone($user);
 
@@ -281,7 +288,7 @@ class ProfilesettingsAction extends AccountSettingsAction
                 }
             }
 
-// XXX: XOR
+            // XXX: XOR
             if ($user->autosubscribe ^ $autosubscribe) {
 
                 $original = clone($user);
@@ -309,7 +316,12 @@ class ProfilesettingsAction extends AccountSettingsAction
 
             $loc = Location::fromName($location);
 
-            if (!empty($loc)) {
+            if (empty($loc)) {
+                $profile->lat         = null;
+                $profile->lon         = null;
+                $profile->location_id = null;
+                $profile->location_ns = null;
+            } else {
                 $profile->lat         = $loc->lat;
                 $profile->lon         = $loc->lon;
                 $profile->location_id = $loc->location_id;
@@ -318,6 +330,37 @@ class ProfilesettingsAction extends AccountSettingsAction
 
             $profile->profileurl = common_profile_url($nickname);
 
+            if (common_config('location', 'share') == 'user') {
+
+                $exists = false;
+
+                $prefs = User_location_prefs::staticGet('user_id', $user->id);
+
+                if (empty($prefs)) {
+                    $prefs = new User_location_prefs();
+
+                    $prefs->user_id = $user->id;
+                    $prefs->created = common_sql_now();
+                } else {
+                    $exists = true;
+                    $orig = clone($prefs);
+                }
+
+                $prefs->share_location = $this->boolean('sharelocation');
+
+                if ($exists) {
+                    $result = $prefs->update($orig);
+                } else {
+                    $result = $prefs->insert();
+                }
+
+                if ($result === false) {
+                    common_log_db_error($prefs, ($exists) ? 'UPDATE' : 'INSERT', __FILE__);
+                    $this->serverError(_('Couldn\'t save location prefs.'));
+                    return;
+                }
+            }
+
             common_debug('Old profile: ' . common_log_objstring($orig_profile), __FILE__);
             common_debug('New profile: ' . common_log_objstring($profile), __FILE__);
 
@@ -351,7 +394,7 @@ class ProfilesettingsAction extends AccountSettingsAction
         $user = common_current_user();
         $other = User::staticGet('nickname', $nickname);
         if (!$other) {
-           return false;
+            return false;
         } else {
             return $other->id != $user->id;
         }
index 5d16fdad9ed84a4706d759c04f9d681ab37ac760..d09100f676aaf473e46e54aadd409f6ff1b1eb0c 100644 (file)
@@ -103,7 +103,7 @@ class ShownoticeAction extends OwnerDesignAction
 
         $this->user = User::staticGet('id', $this->profile->id);
 
-        if (! $this->notice->is_local) {
+        if ($this->notice->is_local == Notice::REMOTE_OMB) {
             common_redirect($this->notice->uri);
             return false;
         }
diff --git a/actions/version.php b/actions/version.php
new file mode 100644 (file)
index 0000000..2cf9142
--- /dev/null
@@ -0,0 +1,270 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
+ *
+ * Show version information for this software and plugins
+ *
+ * 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 Info
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link     http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+/**
+ * Version info page
+ *
+ * A page that shows version information for this site. Helpful for
+ * debugging, for giving credit to authors, and for linking to more
+ * complete documentation for admins.
+ *
+ * @category Info
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link     http://status.net/
+ */
+
+class VersionAction extends Action
+{
+    var $pluginVersions = array();
+
+    /**
+     * Return true since we're read-only.
+     *
+     * @param array $args other arguments
+     *
+     * @return boolean is read only action?
+     */
+
+    function isReadOnly($args)
+    {
+        return true;
+    }
+
+    /**
+     * Returns the page title
+     *
+     * @return string page title
+     */
+
+    function title()
+    {
+        return sprintf(_("StatusNet %s"), STATUSNET_VERSION);
+    }
+
+    /**
+     * Prepare to run
+     *
+     * Fire off an event to let plugins report their
+     * versions.
+     *
+     * @param array $args array misc. arguments
+     *
+     * @return boolean true
+     */
+
+    function prepare($args)
+    {
+        parent::prepare($args);
+
+        Event::handle('PluginVersion', array(&$this->pluginVersions));
+
+        return true;
+    }
+
+    /**
+     * Execute the action
+     *
+     * Shows a page with the version information in the
+     * content area.
+     *
+     * @param array $args ignored.
+     *
+     * @return void
+     */
+
+    function handle($args)
+    {
+        parent::handle($args);
+        $this->showPage();
+    }
+
+
+    /*
+    * Override to add hentry, and content-inner classes
+    *
+    * @return void
+    */
+    function showContentBlock()
+     {
+         $this->elementStart('div', array('id' => 'content', 'class' => 'hentry'));
+         $this->showPageTitle();
+         $this->showPageNoticeBlock();
+         $this->elementStart('div', array('id' => 'content_inner',
+                                          'class' => 'entry-content'));
+         // show the actual content (forms, lists, whatever)
+         $this->showContent();
+         $this->elementEnd('div');
+         $this->elementEnd('div');
+     }
+
+
+    /*
+    * Overrride to add entry-title class
+    *
+    * @return void
+    */
+    function showPageTitle() {
+        $this->element('h1', array('class' => 'entry-title'), $this->title());
+    }
+
+
+    /**
+     * Show version information
+     *
+     * @return void
+     */
+
+    function showContent()
+    {
+        $this->elementStart('p');
+
+        $this->raw(sprintf(_('This site is powered by %s version %s, '.
+                             'Copyright 2008-2010 StatusNet, Inc. '.
+                             'and contributors.'),
+                           XMLStringer::estring('a', array('href' => 'http://status.net/'),
+                                                _('StatusNet')),
+                           STATUSNET_VERSION));
+        $this->elementEnd('p');
+
+        $this->element('h2', null, _('Contributors'));
+
+        $this->element('p', null, implode(', ', $this->contributors));
+
+        $this->element('h2', null, _('License'));
+
+        $this->element('p', null,
+                       _('StatusNet 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->element('p', null,
+                       _('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. '));
+
+        $this->elementStart('p');
+        $this->raw(sprintf(_('You should have received a copy of the GNU Affero General Public License '.
+                             'along with this program.  If not, see %s.'),
+                           XMLStringer::estring('a', array('href' => 'http://www.gnu.org/licenses/agpl.html'),
+                                                'http://www.gnu.org/licenses/agpl.html')));
+        $this->elementEnd('p');
+
+        // XXX: Theme information?
+
+        if (count($this->pluginVersions)) {
+            $this->element('h2', null, _('Plugins'));
+
+            $this->elementStart('table', array('id' => 'plugins_enabled'));
+
+            $this->elementStart('thead');
+            $this->elementStart('tr');
+            $this->element('th', array('id' => 'plugin_name'), _('Name'));
+            $this->element('th', array('id' => 'plugin_version'), _('Version'));
+            $this->element('th', array('id' => 'plugin_authors'), _('Author(s)'));
+            $this->element('th', array('id' => 'plugin_description'), _('Description'));
+            $this->elementEnd('tr');
+            $this->elementEnd('thead');
+
+            $this->elementStart('tbody');
+            foreach ($this->pluginVersions as $plugin) {
+                $this->elementStart('tr');
+                if (array_key_exists('homepage', $plugin)) {
+                    $this->elementStart('th');
+                    $this->element('a', array('href' => $plugin['homepage']),
+                                   $plugin['name']);
+                    $this->elementEnd('th');
+                } else {
+                    $this->element('th', null, $plugin['name']);
+                }
+
+                $this->element('td', null, $plugin['version']);
+
+                if (array_key_exists('author', $plugin)) {
+                    $this->element('td', null, $plugin['author']);
+                }
+
+                if (array_key_exists('rawdescription', $plugin)) {
+                    $this->elementStart('td');
+                    $this->raw($plugin['rawdescription']);
+                    $this->elementEnd('td');
+                } else if (array_key_exists('description', $plugin)) {
+                    $this->element('td', null, $plugin['description']);
+                }
+                $this->elementEnd('tr');
+            }
+            $this->elementEnd('tbody');
+            $this->elementEnd('table');
+        }
+
+    }
+
+    var $contributors = array('Evan Prodromou (StatusNet)',
+                              'Zach Copley (StatusNet)',
+                              'Earle Martin (StatusNet)',
+                              'Marie-Claude Doyon (StatusNet)',
+                              'Sarven Capadisli (StatusNet)',
+                              'Robin Millette (StatusNet)',
+                              'Ciaran Gultnieks',
+                              'Michael Landers',
+                              'Ori Avtalion',
+                              'Garret Buell',
+                              'Mike Cochrane',
+                              'Matthew Gregg',
+                              'Florian Biree',
+                              'Erik Stambaugh',
+                              'drry',
+                              'Gina Haeussge',
+                              'Tryggvi Björgvinsson',
+                              'Adrian Lang',
+                              'Meitar Moscovitz',
+                              'Sean Murphy',
+                              'Leslie Michael Orchard',
+                              'Eric Helgeson',
+                              'Ken Sedgwick',
+                              'Brian Hendrickson',
+                              'Tobias Diekershoff',
+                              'Dan Moore',
+                              'Fil',
+                              'Jeff Mitchell',
+                              'Brenda Wallace',
+                              'Jeffery To',
+                              'Federico Marani',
+                              'Craig Andrews',
+                              'mEDI',
+                              'Brett Taylor',
+                              'Brigitte Schuster');
+}
index 8d6424e8b2d1f53c5ccec912404ccde6ee7b26d9..91bde0f0401b6dc144b48a6ba434c312c80c967c 100644 (file)
@@ -37,7 +37,7 @@ class Avatar extends Memcached_DataObject
         }
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Avatar', $kv);
     }
index 390d75381ac82fb74289a91fc6a77a011d875da0..43b99587fa14971c2c66a32790d548da10f4e6c6 100644 (file)
@@ -59,7 +59,7 @@ class Config extends Memcached_DataObject
 
         if (!empty($c)) {
             $settings = $c->get(common_cache_key(self::settingsKey));
-            if (!empty($settings)) {
+            if ($settings !== false) {
                 return $settings;
             }
         }
@@ -120,7 +120,7 @@ class Config extends Memcached_DataObject
         return $result;
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Config', $kv);
     }
index 11e876ff19dcc1294aae6ddb8dfda6e7486eda11..8113c8e1668a508251323f117468da25d119f7f6 100644 (file)
@@ -32,7 +32,7 @@ class Fave extends Memcached_DataObject
         return $fave;
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Fave', $kv);
     }
index e04a9d5255ad50c85c840e3563e58ed0017610b9..6173f31d6e5025c5d8a4c56284f3b72d83598f37 100644 (file)
@@ -182,25 +182,32 @@ class File extends Memcached_DataObject
 
     static function url($filename)
     {
-        $path = common_config('attachments', 'path');
+        if(common_config('site','private')) {
 
-        if ($path[strlen($path)-1] != '/') {
-            $path .= '/';
-        }
+            return common_local_url('getfile',
+                                array('filename' => $filename));
 
-        if ($path[0] != '/') {
-            $path = '/'.$path;
-        }
+        } else {
+            $path = common_config('attachments', 'path');
 
-        $server = common_config('attachments', 'server');
+            if ($path[strlen($path)-1] != '/') {
+                $path .= '/';
+            }
 
-        if (empty($server)) {
-            $server = common_config('site', 'server');
-        }
+            if ($path[0] != '/') {
+                $path = '/'.$path;
+            }
+
+            $server = common_config('attachments', 'server');
 
-        // XXX: protocol
+            if (empty($server)) {
+                $server = common_config('site', 'server');
+            }
 
-        return 'http://'.$server.$path.$filename;
+            // XXX: protocol
+
+            return 'http://'.$server.$path.$filename;
+        }
     }
 
     function getEnclosure(){
index e3db91b205ab597f7c46dfdcd36f0dd01f953ed8..72a42b0880a46269ac22758c37798e2b8d411e8d 100644 (file)
@@ -62,7 +62,7 @@ class File_to_post extends Memcached_DataObject
         }
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('File_to_post', $kv);
     }
index de2cf5f6eb12c694a34d059f447e3ce4add972fd..9f4d592956eaf497ee7258a11ac049e66921af84 100644 (file)
@@ -40,7 +40,7 @@ class Group_block extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Group_block', $kv);
     }
index 1af7439f7f749e668824773aa6363012e77e33f2..2a0787e387dc8ea087060dfc447cf661121d0e74 100644 (file)
@@ -20,7 +20,7 @@ class Group_inbox extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Group_inbox', $kv);
     }
index 3c23a991f05f272e5f610d3bf62b724e83a343b8..069b2c7a1c75c4150a2a0263473ad60e9069868d 100644 (file)
@@ -21,7 +21,7 @@ class Group_member extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Group_member', $kv);
     }
index ca360d4111fa092defaf4cc273dfeee47f22f23a..400b05f9776fca066e462e3a812a2a37fc08f7a6 100644 (file)
@@ -19,8 +19,6 @@
 
 if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
-
 class Memcached_DataObject extends DB_DataObject
 {
     /**
@@ -68,7 +66,6 @@ class Memcached_DataObject extends DB_DataObject
         // Clear this out so we don't accidentally break global
         // state in *this* process.
         $this->_DB_resultid = null;
-        
         // We don't have any local DBO refs, so clear these out.
         $this->_link_loaded = false;
     }
@@ -93,30 +90,42 @@ class Memcached_DataObject extends DB_DataObject
             unset($i);
         }
         $i = Memcached_DataObject::getcached($cls, $k, $v);
-        if ($i) {
-            return $i;
-        } else {
+        if ($i === false) { // false == cache miss
             $i = DB_DataObject::factory($cls);
             if (empty($i)) {
-                return false;
+                $i = false;
+                return $i;
             }
             $result = $i->get($k, $v);
             if ($result) {
+                // Hit!
                 $i->encache();
-                return $i;
             } else {
-                return false;
+                // save the fact that no such row exists
+                $c = self::memcache();
+                if (!empty($c)) {
+                    $ck = self::cachekey($cls, $k, $v);
+                    $c->set($ck, null);
+                }
+                $i = false;
             }
         }
+        return $i;
     }
 
-    function &pkeyGet($cls, $kv)
+    /**
+     * @fixme Should this return false on lookup fail to match staticGet?
+     */
+    function pkeyGet($cls, $kv)
     {
         $i = Memcached_DataObject::multicache($cls, $kv);
-        if ($i) {
+        if ($i !== false) { // false == cache miss
             return $i;
         } else {
-            $i = new $cls();
+            $i = DB_DataObject::factory($cls);
+            if (empty($i)) {
+                return false;
+            }
             foreach ($kv as $k => $v) {
                 $i->$k = $v;
             }
@@ -124,6 +133,11 @@ class Memcached_DataObject extends DB_DataObject
                 $i->encache();
             } else {
                 $i = null;
+                $c = self::memcache();
+                if (!empty($c)) {
+                    $ck = self::multicacheKey($cls, $kv);
+                    $c->set($ck, null);
+                }
             }
             return $i;
         }
@@ -132,6 +146,9 @@ class Memcached_DataObject extends DB_DataObject
     function insert()
     {
         $result = parent::insert();
+        if ($result) {
+            $this->encache(); // in case of cached negative lookups
+        }
         return $result;
     }
 
@@ -177,6 +194,17 @@ class Memcached_DataObject extends DB_DataObject
 
     function keyTypes()
     {
+        // ini-based classes return number-indexed arrays. handbuilt
+        // classes return column => keytype. Make this uniform.
+
+        $keys = $this->keys();
+
+        $keyskeys = array_keys($keys);
+
+        if (is_string($keyskeys[0])) {
+            return $keys;
+        }
+
         global $_DB_DATAOBJECT;
         if (!isset($_DB_DATAOBJECT['INI'][$this->_database][$this->__table."__keys"])) {
             $this->databaseStructure();
@@ -188,67 +216,90 @@ class Memcached_DataObject extends DB_DataObject
     function encache()
     {
         $c = $this->memcache();
+
         if (!$c) {
             return false;
-        } else {
-            $pkey = array();
-            $pval = array();
-            $types = $this->keyTypes();
-            ksort($types);
-            foreach ($types as $key => $type) {
-                if ($type == 'K') {
-                    $pkey[] = $key;
-                    $pval[] = $this->$key;
-                } else {
-                    $c->set($this->cacheKey($this->tableName(), $key, $this->$key), $this);
-                }
-            }
-            # XXX: should work for both compound and scalar pkeys
-            $pvals = implode(',', $pval);
-            $pkeys = implode(',', $pkey);
-            $c->set($this->cacheKey($this->tableName(), $pkeys, $pvals), $this);
+        }
+
+        $keys = $this->_allCacheKeys();
+
+        foreach ($keys as $key) {
+            $c->set($key, $this);
         }
     }
 
     function decache()
     {
         $c = $this->memcache();
+
         if (!$c) {
             return false;
-        } else {
-            $pkey = array();
-            $pval = array();
-            $types = $this->keyTypes();
-            ksort($types);
-            foreach ($types as $key => $type) {
-                if ($type == 'K') {
-                    $pkey[] = $key;
-                    $pval[] = $this->$key;
-                } else {
-                    $c->delete($this->cacheKey($this->tableName(), $key, $this->$key));
+        }
+
+        $keys = $this->_allCacheKeys();
+
+        foreach ($keys as $key) {
+            $c->delete($key, $this);
+        }
+    }
+
+    function _allCacheKeys()
+    {
+        $ckeys = array();
+
+        $types = $this->keyTypes();
+        ksort($types);
+
+        $pkey = array();
+        $pval = array();
+
+        foreach ($types as $key => $type) {
+
+            assert(!empty($key));
+
+            if ($type == 'U') {
+                if (empty($this->$key)) {
+                    continue;
                 }
+                $ckeys[] = $this->cacheKey($this->tableName(), $key, $this->$key);
+            } else if ($type == 'K' || $type == 'N') {
+                $pkey[] = $key;
+                $pval[] = $this->$key;
+            } else {
+                throw new Exception("Unknown key type $key => $type for " . $this->tableName());
             }
-            # should work for both compound and scalar pkeys
-            # XXX: comma works for now but may not be safe separator for future keys
-            $pvals = implode(',', $pval);
-            $pkeys = implode(',', $pkey);
-            $c->delete($this->cacheKey($this->tableName(), $pkeys, $pvals));
         }
+
+        assert(count($pkey) > 0);
+
+        // XXX: should work for both compound and scalar pkeys
+        $pvals = implode(',', $pval);
+        $pkeys = implode(',', $pkey);
+
+        $ckeys[] = $this->cacheKey($this->tableName(), $pkeys, $pvals);
+
+        return $ckeys;
     }
 
     function multicache($cls, $kv)
     {
         ksort($kv);
-        $c = Memcached_DataObject::memcache();
+        $c = self::memcache();
         if (!$c) {
             return false;
         } else {
-            $pkeys = implode(',', array_keys($kv));
-            $pvals = implode(',', array_values($kv));
-            return $c->get(Memcached_DataObject::cacheKey($cls, $pkeys, $pvals));
+            return $c->get(self::multicacheKey($cls, $kv));
         }
     }
 
+    static function multicacheKey($cls, $kv)
+    {
+        ksort($kv);
+        $pkeys = implode(',', array_keys($kv));
+        $pvals = implode(',', array_values($kv));
+        return self::cacheKey($cls, $pkeys, $pvals);
+    }
+
     function getSearchEngine($table)
     {
         require_once INSTALLDIR.'/lib/search_engines.php';
@@ -283,7 +334,8 @@ class Memcached_DataObject extends DB_DataObject
         $key_part = common_keyize($cls).':'.md5($qry);
         $ckey = common_cache_key($key_part);
         $stored = $c->get($ckey);
-        if ($stored) {
+
+        if ($stored !== false) {
             return new ArrayWrapper($stored);
         }
 
index c2ff7fd09cffb5f18911d62bbbd51a23c3294c6c..9bda478271f23af89bf37458f5a86a2a12fde02f 100644 (file)
@@ -63,7 +63,7 @@ class Notice extends Memcached_DataObject
     public $created;                         // datetime  multiple_key not_null default_0000-00-00%2000%3A00%3A00
     public $modified;                        // timestamp   not_null default_CURRENT_TIMESTAMP
     public $reply_to;                        // int(4)
-    public $is_local;                        // tinyint(1)
+    public $is_local;                        // int(4)
     public $source;                          // varchar(32)
     public $conversation;                    // int(4)
     public $lat;                             // decimal(10,7)
@@ -289,21 +289,11 @@ class Notice extends Memcached_DataObject
         if (!empty($lat) && !empty($lon)) {
             $notice->lat = $lat;
             $notice->lon = $lon;
+        }
+
+        if (!empty($location_ns) && !empty($location_id)) {
             $notice->location_id = $location_id;
             $notice->location_ns = $location_ns;
-        } else if (!empty($location_ns) && !empty($location_id)) {
-            $location = Location::fromId($location_id, $location_ns);
-            if (!empty($location)) {
-                $notice->lat = $location->lat;
-                $notice->lon = $location->lon;
-                $notice->location_id = $location_id;
-                $notice->location_ns = $location_ns;
-            }
-        } else {
-            $notice->lat         = $profile->lat;
-            $notice->lon         = $profile->lon;
-            $notice->location_id = $profile->location_id;
-            $notice->location_ns = $profile->location_ns;
         }
 
         if (Event::handle('StartNoticeSave', array(&$notice))) {
@@ -1217,7 +1207,7 @@ class Notice extends Memcached_DataObject
 
         $idstr = $cache->get($idkey);
 
-        if (!empty($idstr)) {
+        if ($idstr !== false) {
             // Cache hit! Woohoo!
             $window = explode(',', $idstr);
             $ids = array_slice($window, $offset, $limit);
@@ -1226,7 +1216,7 @@ class Notice extends Memcached_DataObject
 
         $laststr = $cache->get($idkey.';last');
 
-        if (!empty($laststr)) {
+        if ($laststr !== false) {
             $window = explode(',', $laststr);
             $last_id = $window[0];
             $new_ids = call_user_func_array($fn, array_merge($args, array(0, NOTICE_CACHE_WINDOW,
@@ -1395,7 +1385,7 @@ class Notice extends Memcached_DataObject
             $ids = $this->_repeatStreamDirect($limit);
         } else {
             $idstr = $cache->get(common_cache_key('notice:repeats:'.$this->id));
-            if (!empty($idstr)) {
+            if ($idstr !== false) {
                 $ids = explode(',', $idstr);
             } else {
                 $ids = $this->_repeatStreamDirect(100);
@@ -1438,4 +1428,47 @@ class Notice extends Memcached_DataObject
 
         return $ids;
     }
+
+    function locationOptions($lat, $lon, $location_id, $location_ns, $profile = null)
+    {
+        $options = array();
+
+        if (!empty($location_id) && !empty($location_ns)) {
+
+            $options['location_id'] = $location_id;
+            $options['location_ns'] = $location_ns;
+
+            $location = Location::fromId($location_id, $location_ns);
+
+            if (!empty($location)) {
+                $options['lat'] = $location->lat;
+                $options['lon'] = $location->lon;
+            }
+
+        } else if (!empty($lat) && !empty($lon)) {
+
+            $options['lat'] = $lat;
+            $options['lon'] = $lon;
+
+            $location = Location::fromLatLon($lat, $lon);
+
+            if (!empty($location)) {
+                $options['location_id'] = $location->location_id;
+                $options['location_ns'] = $location->location_ns;
+            }
+        } else if (!empty($profile)) {
+
+            if (isset($profile->lat) && isset($profile->lon)) {
+                $options['lat'] = $profile->lat;
+                $options['lon'] = $profile->lon;
+            }
+
+            if (isset($profile->location_id) && isset($profile->location_ns)) {
+                $options['location_id'] = $profile->location_id;
+                $options['location_ns'] = $profile->location_ns;
+            }
+        }
+
+        return $options;
+    }
 }
index d3ddad656a7aae8492f1bee4d80afd3959193b92..e350e6e2f8469b0281f5edff0656cfc741f61db8 100644 (file)
@@ -101,7 +101,7 @@ class Notice_inbox extends Memcached_DataObject
         return $ids;
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Notice_inbox', $kv);
     }
index 02740280f5d402f959e9889303bcf847cd7091d7..79231f0b0c0777749c09cf91da451192ed55cb2f 100644 (file)
@@ -96,7 +96,7 @@ class Notice_tag extends Memcached_DataObject
         }
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Notice_tag', $kv);
     }
index 03196447b891e31ef5b09e7af9d97b6942cf24dd..25d908dbf93c22c1a24fb41cbd5a204d2478e825 100644 (file)
@@ -504,6 +504,7 @@ class Profile extends Memcached_DataObject
                          'Reply',
                          'Group_member',
                          );
+        Event::handle('ProfileDeleteRelated', array($this, &$related));
 
         foreach ($related as $cls) {
             $inst = new $cls();
index afa7fb74e49e0e5902c725fd3af246d0c2077b57..74aca3730501777d5ef9d8afdc8e05b91a90caf4 100644 (file)
@@ -43,7 +43,7 @@ class Profile_role extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Profile_role', $kv);
     }
index 295c321b57d4615fa5a139b9e14b9752fd19a4e3..9c673540d746a6a25d55a62ba6fffbe8d8b17b46 100644 (file)
@@ -55,7 +55,7 @@ class Queue_item extends Memcached_DataObject
         return null;
     }
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Queue_item', $kv);
     }
index fedfd5f19eeec5212a898fb967a00371dd23f56a..faf1331cda11565eec0655ea4a266079ceca0618 100644 (file)
@@ -46,7 +46,7 @@ class Subscription extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
     
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('Subscription', $kv);
     }
index 6708d95b6a52fea1dd6ba52abe79783ff5f7e545..34151778c5c3274b89cf6f6562334e11c29249a7 100644 (file)
@@ -996,4 +996,28 @@ class User extends Memcached_DataObject
 
         return $ids;
     }
+
+    function shareLocation()
+    {
+        $cfg = common_config('location', 'share');
+
+        if ($cfg == 'always') {
+            return true;
+        } else if ($cfg == 'never') {
+            return false;
+        } else { // user
+            $share = true;
+
+            $prefs = User_location_prefs::staticGet('user_id', $this->id);
+
+            if (empty($prefs)) {
+                $share = common_config('location', 'sharedefault');
+            } else {
+                $share = $prefs->share_location;
+                $prefs->free();
+            }
+
+            return $share;
+        }
+    }
 }
diff --git a/classes/User_location_prefs.php b/classes/User_location_prefs.php
new file mode 100644 (file)
index 0000000..bd6029f
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Data class for user location preferences
+ *
+ * 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  Data
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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/
+ */
+
+require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+
+class User_location_prefs extends Memcached_DataObject
+{
+    ###START_AUTOCODE
+    /* the code below is auto generated do not remove the above tag */
+
+    public $__table = 'user_location_prefs';             // table name
+    public $user_id;                         // int(4)  primary_key not_null
+    public $share_location;                  // tinyint(1)   default_1
+    public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
+    public $modified;                        // timestamp   not_null default_CURRENT_TIMESTAMP
+
+    /* Static get */
+    function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_location_prefs',$k,$v); }
+
+    /* the code above is auto generated do not remove the tag below */
+    ###END_AUTOCODE
+
+    function sequenceKey()
+    {
+        return array(false, false, false);
+    }
+}
diff --git a/classes/User_username.php b/classes/User_username.php
new file mode 100644 (file)
index 0000000..853fd5c
--- /dev/null
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Table Definition for user_username
+ */
+require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+
+class User_username extends Memcached_DataObject
+{
+    ###START_AUTOCODE
+    /* the code below is auto generated do not remove the above tag */
+
+    public $__table = 'user_username';                     // table name
+    public $user_id;                        // int(4)  not_null
+    public $provider_name;                  // varchar(255)  primary_key not_null
+    public $username;                       // varchar(255)  primary_key not_null
+    public $created;                        // datetime()   not_null
+    public $modified;                       // timestamp()   not_null default_CURRENT_TIMESTAMP
+
+    /* Static get */
+    function staticGet($k,$v=null)
+    { return Memcached_DataObject::staticGet('User_username',$k,$v); }
+
+    /* the code above is auto generated do not remove the tag below */
+    ###END_AUTOCODE
+
+    /**
+    * Register a user with a username on a given provider
+    * @param User User object
+    * @param string username on the given provider
+    * @param provider_name string name of the provider
+    * @return mixed User_username instance if the registration succeeded, false if it did not
+    */
+    static function register($user, $username, $provider_name)
+    {
+        $user_username = new User_username();
+        $user_username->user_id = $user->id;
+        $user_username->provider_name = $provider_name;
+        $user_username->username = $username;
+        $user_username->created = DB_DataObject_Cast::dateTime();
+        if($user_username->insert()){
+            return $user_username;
+        }else{
+            return false;
+        }
+    }
+
+    function table() {
+        return array(
+            'user_id'     => DB_DATAOBJECT_INT,
+            'username'   => DB_DATAOBJECT_STR,
+            'provider_name'   => DB_DATAOBJECT_STR ,
+            'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
+        );
+    }
+
+    // now define the keys.
+    function keys() {
+        return array('provider_name', 'username');
+    }
+
+}
index 2cc37dbfefa2b327287eb6b3b1d1c9bcd8cadf48..0db2c5d6e35eda5b3b24d8fb0f87e8e5336cab16 100644 (file)
@@ -1,4 +1,3 @@
-
 [avatar]
 profile_id = 129
 original = 17
@@ -93,6 +92,7 @@ modified = 384
 
 [file__keys]
 id = N
+url = U
 
 [file_oembed]
 file_id = 129
@@ -564,4 +564,14 @@ modified = 384
 
 [user_openid__keys]
 trustroot = K
-user_id = K
\ No newline at end of file
+user_id = K
+
+[user_location_prefs]
+user_id = 129
+share_location = 17
+created = 142
+modified = 384
+
+[user_location_prefs__keys]
+user_id = K
+
index 91e6614c0659ca404a7ebca0e712c2371a7510ed..b8852dc672f3b755b3e715b2df1969e825e85168 100644 (file)
@@ -41,6 +41,20 @@ $config['site']['path'] = 'statusnet';
 // Make the site invisible to  non-logged-in users
 // $config['site']['private'] = true;
 
+// If your web server supports X-Sendfile (Apache with mod_xsendfile,
+// lighttpd, nginx), you can enable X-Sendfile support for better
+// performance. Presently, only attachment serving when the site is
+// in private mode will use X-Sendfile.
+// $config['site']['X-Sendfile'] = false;
+// You may also need to enable X-Sendfile support for your web server and
+// allow it to access files outside of the web root. For Apache with
+// mod_xsendfile, you can add these to your .htaccess or server config:
+//
+//       XSendFile on
+//       XSendFileAllowAbove on
+//
+// See http://tn123.ath.cx/mod_xsendfile/ for mod_xsendfile.
+
 // If you want logging sent to a file instead of syslog
 // $config['site']['logfile'] = '/tmp/statusnet.log';
 
@@ -265,6 +279,7 @@ $config['sphinx']['port'] = 3312;
 // $config['attachments']['user_quota'] = 50000000;
 // $config['attachments']['monthly_quota'] = 15000000;
 // $config['attachments']['uploads'] = true;
-// $config['attachments']['path'] = "/file/";
+// $config['attachments']['path'] = "/file/"; //ignored if site is private
+// $config['attachments']['dir'] = INSTALLDIR . '/file/';
 
 // $config['oohembed']['endpoint'] = 'http://oohembed.com/oohembed/';
index 28ec3ec16b779eaf416b05448daf8d651d6940c4..d9c25bc723ade4610b69951a7dc9e6466e7e4391 100644 (file)
@@ -84,3 +84,13 @@ create table login_token (
 
     constraint primary key (user_id)
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table user_location_prefs (
+    user_id integer not null comment 'user who has the preference' references user (id),
+    share_location tinyint default 1 comment 'Whether to share location data',
+    created datetime not null comment 'date this record was created',
+    modified timestamp comment 'date this record was modified',
+
+    constraint primary key (user_id)
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
index 6b3c2ca068a0339aff53a831e0c1818e3d00a716..94b03df639172146dff192e21634e2ff1db5362b 100644 (file)
@@ -587,3 +587,12 @@ create table login_token (
     constraint primary key (user_id)
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
+create table user_location_prefs (
+    user_id integer not null comment 'user who has the preference' references user (id),
+    share_location tinyint default 1 comment 'Whether to share location data',
+    created datetime not null comment 'date this record was created',
+    modified timestamp comment 'date this record was modified',
+
+    constraint primary key (user_id)
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
index 21f4dbf15c917ea6370fe7b9fcb0b90ead0fd591..6a68e41cf06ab814c1c72290174041151abcbdbe 100644 (file)
@@ -3,7 +3,7 @@
 based on the Free Software [StatusNet](http://status.net/) tool.
 
 If you [register](%%action.register%%) for an account,
-you can post small (140 chars or less) text notices
+you can post small (%%site.textlimit%% chars or less) text notices
 about yourself, where you are, what you're doing, or practically
 anything you want. You can also subscribe to the notices of your
 friends, or other people you're interested in, and follow them on the
index 93300ab242e3c517cc4f25b54d5c3ad898ef7e9c..37a8d11f72047897f5f2f8bbb1d93b1e03c5fc65 100644 (file)
@@ -1,4 +1,4 @@
-%%site.name%% is a **microblogging service**. Users post short (140
+%%site.name%% is a **microblogging service**. Users post short (%%site.textlimit%%
 character) notices which are broadcast to their friends and fans using
 the Web, RSS, or instant messages.
 
@@ -30,4 +30,4 @@ Here are some documents that you might find helpful in understanding
 * [Privacy](%%doc.privacy%%) - %%site.name%%'s privacy policy
 * [Source](%%doc.source%%) - How to get the StatusNet source code
 * [Badge](%%doc.badge%%) - How to put a StatusNet badge on your blog or homepage
-* [Bookmarklet](%%doc.bookmarklet%%) - Bookmarklet for posting Web pages
\ No newline at end of file
+* [Bookmarklet](%%doc.bookmarklet%%) - Bookmarklet for posting Web pages
index 631f6d9bb7c36212d935e451dc294f6f7c91f20d..eda4f6fc57b579dd9fdedc12c1c230914fdb4a33 100644 (file)
@@ -20,7 +20,7 @@ Sending updates
 ---------------
 
 You send updates by sending messages to %%xmpp.user%%@%%xmpp.server%%. Messages
-should be less than 140 characters; longer messages will be truncated.
+should be less than %%site.textlimit%% characters; longer messages will be truncated.
 
 Commands
 --------
diff --git a/extlib/lgpl-2.1.txt b/extlib/lgpl-2.1.txt
new file mode 100644 (file)
index 0000000..3b473db
--- /dev/null
@@ -0,0 +1,458 @@
+                 GNU LESSER GENERAL PUBLIC LICENSE
+                      Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+\f
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+\f
+                 GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+\f
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+\f
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+\f
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+\f
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+\f
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+\f
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                           NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
index 91ae9da9be19b7613abb596b85a015be947ab59b..37eb8e01ec01f1169159a1b920c265c00b9bfdc2 100644 (file)
@@ -5,14 +5,6 @@
 
   RewriteBase /mublog/
 
-  # If your site is private and want to only allow logged-in users to
-  # be able to download file attachments, uncomment this rule.
-  #
-  # If you have a custom attachment path
-  # ($config['attachments']['path']), change "file/" to match.
-  #
-  #RewriteRule ^file/(.*) getfile/$1
-
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule (.*) index.php?p=$1 [L,QSA]
index 997ee6197f27a1b55e222dc932def5f24a4dbd79..47cde87409b62a31146d553d4e8582bdfd7acb13 100644 (file)
--- a/index.php
+++ b/index.php
@@ -278,6 +278,20 @@ function main()
         && !preg_match('/rss$/', $action)
         && !preg_match('/^Api/', $action)
     ) {
+        // set returnto
+        $rargs =& common_copy_args($args);
+        unset($rargs['action']);
+        if (common_config('site', 'fancy')) {
+            unset($rargs['p']);
+        }
+        if (array_key_exists('submit', $rargs)) {
+            unset($rargs['submit']);
+        }
+        foreach (array_keys($_COOKIE) as $cookie) {
+            unset($rargs[$cookie]);
+        }
+        common_set_returnto(common_local_url($action, $rargs));
+
         common_redirect(common_local_url('login'));
         return;
     }
index 1c62bb2b21659efee149854a27c9e70a86899162..435f6d63bf4ffe22f43045568b22cadc92ec0039 100644 (file)
@@ -454,7 +454,6 @@ function showForm()
     <dd>
         <div class="instructions">
             <p>Enter your database connection information below to initialize the database.</p>
-            <p>StatusNet bundles a number of libraries for ease of installation. <a href="?checklibs=true">You can see what bundled libraries you are using, versus what libraries are installed on your server.</a>
         </div>
     </dd>
 </dl>
diff --git a/js/jquery.cookie.js b/js/jquery.cookie.js
new file mode 100644 (file)
index 0000000..6df1fac
--- /dev/null
@@ -0,0 +1,96 @@
+/**
+ * Cookie plugin
+ *
+ * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ */
+
+/**
+ * Create a cookie with the given name and value and other optional parameters.
+ *
+ * @example $.cookie('the_cookie', 'the_value');
+ * @desc Set the value of a cookie.
+ * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
+ * @desc Create a cookie with all available options.
+ * @example $.cookie('the_cookie', 'the_value');
+ * @desc Create a session cookie.
+ * @example $.cookie('the_cookie', null);
+ * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
+ *       used when the cookie was set.
+ *
+ * @param String name The name of the cookie.
+ * @param String value The value of the cookie.
+ * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
+ * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
+ *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
+ *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
+ *                             when the the browser exits.
+ * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
+ * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
+ * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
+ *                        require a secure protocol (like HTTPS).
+ * @type undefined
+ *
+ * @name $.cookie
+ * @cat Plugins/Cookie
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
+ */
+
+/**
+ * Get the value of a cookie with the given name.
+ *
+ * @example $.cookie('the_cookie');
+ * @desc Get the value of a cookie.
+ *
+ * @param String name The name of the cookie.
+ * @return The value of the cookie.
+ * @type String
+ *
+ * @name $.cookie
+ * @cat Plugins/Cookie
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
+ */
+jQuery.cookie = function(name, value, options) {
+    if (typeof value != 'undefined') { // name and value given, set cookie
+        options = options || {};
+        if (value === null) {
+            value = '';
+            options.expires = -1;
+        }
+        var expires = '';
+        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
+            var date;
+            if (typeof options.expires == 'number') {
+                date = new Date();
+                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
+            } else {
+                date = options.expires;
+            }
+            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
+        }
+        // CAUTION: Needed to parenthesize options.path and options.domain
+        // in the following expressions, otherwise they evaluate to undefined
+        // in the packed version for some reason...
+        var path = options.path ? '; path=' + (options.path) : '';
+        var domain = options.domain ? '; domain=' + (options.domain) : '';
+        var secure = options.secure ? '; secure' : '';
+        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
+    } else { // only name given, get cookie
+        var cookieValue = null;
+        if (document.cookie && document.cookie != '') {
+            var cookies = document.cookie.split(';');
+            for (var i = 0; i < cookies.length; i++) {
+                var cookie = jQuery.trim(cookies[i]);
+                // Does this cookie string begin with the name we want?
+                if (cookie.substring(0, name.length + 1) == (name + '=')) {
+                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
+                    break;
+                }
+            }
+        }
+        return cookieValue;
+    }
+};
\ No newline at end of file
diff --git a/js/json2.js b/js/json2.js
new file mode 100644 (file)
index 0000000..ecd5e95
--- /dev/null
@@ -0,0 +1,4 @@
+/*
+http://www.JSON.org/json2.js minified
+*/
+if(!this.JSON){JSON={};}(function(){function f(n){return n<10?'0'+n:n;}if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}if(typeof rep==='function'){value=rep.call(holder,key,value);}switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}return str('',{'':value});};}if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}throw new SyntaxError('JSON.parse');};}}());
index f60b5d313750559dcd519625d0550d1028f70a84..0314668d9d753117182db9b0075d02978116bf8e 100644 (file)
@@ -50,7 +50,11 @@ var SN = { // StatusNet
             NoticeLat: 'notice_data-lat',
             NoticeLon: 'notice_data-lon',
             NoticeLocationId: 'notice_data-location_id',
-            NoticeLocationNs: 'notice_data-location_ns'
+            NoticeLocationNs: 'notice_data-location_ns',
+            NoticeGeoName: 'notice_data-geo_name',
+            NoticeDataGeo: 'notice_data-geo',
+            NoticeDataGeoCookie: 'notice_data-geo_cookie',
+            NoticeDataGeoSelected: 'notice_data-geo_selected'
         }
     },
 
@@ -174,12 +178,13 @@ var SN = { // StatusNet
         },
 
         FormNoticeXHR: function(form) {
+            var NDG, NLat, NLon, NLNS, NLID;
             form_id = form.attr('id');
             form.append('<input type="hidden" name="ajax" value="1"/>');
             form.ajaxForm({
                 dataType: 'xml',
                 timeout: '60000',
-                beforeSend: function(xhr) {
+                beforeSend: function(formData) {
                     if ($('#'+form_id+' #'+SN.C.S.NoticeDataText)[0].value.length === 0) {
                         form.addClass(SN.C.S.Warning);
                         return false;
@@ -187,6 +192,29 @@ var SN = { // StatusNet
                     form.addClass(SN.C.S.Processing);
                     $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).addClass(SN.C.S.Disabled);
                     $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).attr(SN.C.S.Disabled, SN.C.S.Disabled);
+
+                    NLat = $('#'+SN.C.S.NoticeLat).val();
+                    NLon = $('#'+SN.C.S.NoticeLon).val();
+                    NLNS = $('#'+SN.C.S.NoticeLocationNs).val();
+                    NLID = $('#'+SN.C.S.NoticeLocationId).val();
+                    NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked');
+
+                    cookieValue = $.cookie(SN.C.S.NoticeDataGeoCookie);
+
+                    if (cookieValue !== null && cookieValue != 'disabled') {
+                        cookieValue = JSON.parse(cookieValue);
+                        NLat = $('#'+SN.C.S.NoticeLat).val(cookieValue.NLat).val();
+                        NLon = $('#'+SN.C.S.NoticeLon).val(cookieValue.NLon).val();
+                        NLNS = $('#'+SN.C.S.NoticeLocationNs).val(cookieValue.NLNS).val();
+                        NLID = $('#'+SN.C.S.NoticeLocationId).val(cookieValue.NLID).val();
+                    }
+                    if (cookieValue == 'disabled') {
+                        NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', false).attr('checked');
+                    }
+                    else {
+                        NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', true).attr('checked');
+                    }
+
                     return true;
                 },
                 error: function (xhr, textStatus, errorThrown) {
@@ -269,6 +297,12 @@ var SN = { // StatusNet
                     form.removeClass(SN.C.S.Processing);
                     $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeAttr(SN.C.S.Disabled);
                     $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeClass(SN.C.S.Disabled);
+
+                    $('#'+SN.C.S.NoticeLat).val(NLat);
+                    $('#'+SN.C.S.NoticeLon).val(NLon);
+                    $('#'+SN.C.S.NoticeLocationNs).val(NLNS);
+                    $('#'+SN.C.S.NoticeLocationId).val(NLID);
+                    $('#'+SN.C.S.NoticeDataGeo).attr('checked', NDG);
                 }
             });
         },
@@ -316,7 +350,42 @@ var SN = { // StatusNet
         },
 
         NoticeRepeat: function() {
-            $('.form_repeat').each(function() { SN.U.FormXHR($(this)); });
+            $('.form_repeat').each(function() {
+                SN.U.FormXHR($(this));
+                SN.U.NoticeRepeatConfirmation($(this));
+            });
+        },
+
+        NoticeRepeatConfirmation: function(form) {
+            function NRC() {
+                form.closest('.notice-options').addClass('opaque');
+                form.addClass('dialogbox');
+
+                form.append('<button class="close">&#215;</button>');
+                form.find('button.close').click(function(){
+                    $(this).remove();
+
+                    form.closest('.notice-options').removeClass('opaque');
+                    form.removeClass('dialogbox');
+                    form.find('.submit_dialogbox').remove();
+                    form.find('.submit').show();
+
+                    return false;
+                });
+            };
+
+            form.find('.submit').bind('click', function(e) {
+                e.preventDefault();
+
+                var submit = form.find('.submit').clone();
+                submit.addClass('submit_dialogbox');
+                submit.removeClass('submit');
+                form.append(submit);
+
+                $(this).hide();
+
+                NRC();
+            });
         },
 
         NoticeAttachments: function() {
@@ -396,15 +465,228 @@ var SN = { // StatusNet
                 $('#'+SN.C.S.NoticeDataAttachSelected+' button').click(function(){
                     $('#'+SN.C.S.NoticeDataAttachSelected).remove();
                     NDA.val('');
+
+                    return false;
                 });
             });
         },
 
         NoticeLocationAttach: function() {
-            if(navigator.geolocation) navigator.geolocation.watchPosition(function(position) {
-                $('#'+SN.C.S.NoticeLat).val(position.coords.latitude);
-                $('#'+SN.C.S.NoticeLon).val(position.coords.longitude);
-            });
+            var NLat = $('#'+SN.C.S.NoticeLat).val();
+            var NLon = $('#'+SN.C.S.NoticeLon).val();
+            var NLNS = $('#'+SN.C.S.NoticeLocationNs).val();
+            var NLID = $('#'+SN.C.S.NoticeLocationId).val();
+            var NLN = $('#'+SN.C.S.NoticeGeoName).text();
+            var NDGe = $('#'+SN.C.S.NoticeDataGeo);
+
+            function removeNoticeDataGeo() {
+                $('label[for='+SN.C.S.NoticeDataGeo+']').removeClass('checked').attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()));
+                $('#'+SN.C.S.NoticeDataGeoSelected).hide();
+
+                $('#'+SN.C.S.NoticeLat).val('');
+                $('#'+SN.C.S.NoticeLon).val('');
+                $('#'+SN.C.S.NoticeLocationNs).val('');
+                $('#'+SN.C.S.NoticeLocationId).val('');
+                $('#'+SN.C.S.NoticeDataGeo).attr('checked', false);
+
+                $.cookie(SN.C.S.NoticeDataGeoCookie, 'disabled');
+            }
+
+            function getJSONgeocodeURL(geocodeURL, data) {
+                $.getJSON(geocodeURL, data, function(location) {
+                    var lns, lid;
+
+                    if (typeof(location.location_ns) != 'undefined') {
+                        $('#'+SN.C.S.NoticeLocationNs).val(location.location_ns);
+                        lns = location.location_ns;
+                    }
+
+                    if (typeof(location.location_id) != 'undefined') {
+                        $('#'+SN.C.S.NoticeLocationId).val(location.location_id);
+                        lid = location.location_id;
+                    }
+
+                    if (typeof(location.name) == 'undefined') {
+                        NLN_text = position.coords.latitude + ';' + position.coords.longitude;
+                    }
+                    else {
+                        NLN_text = location.name;
+                    }
+
+                    $('#'+SN.C.S.NoticeGeoName)
+                        .replaceWith('<a id="notice_data-geo_name"/>');
+
+                    $('#'+SN.C.S.NoticeGeoName)
+                        .attr('href', location.url)
+                        .text(NLN_text)
+                        .click(function() {
+                            window.open(location.url);
+
+                            return false;
+                        });
+
+                    $('#'+SN.C.S.NoticeLat).val(data.lat);
+                    $('#'+SN.C.S.NoticeLon).val(data.lon);
+                    $('#'+SN.C.S.NoticeLocationNs).val(lns);
+                    $('#'+SN.C.S.NoticeLocationId).val(lid);
+                    $('#'+SN.C.S.NoticeDataGeo).attr('checked', true);
+
+                    var cookieValue = {
+                        'NLat': data.lat,
+                        'NLon': data.lon,
+                        'NLNS': lns,
+                        'NLID': lid,
+                        'NLN': NLN_text,
+                        'NLNU': location.url,
+                        'NDG': true,
+                        'NDGSM': false
+                    };
+                    $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue));
+                });
+            }
+
+            if (NDGe.length > 0) {
+                if ($.cookie(SN.C.S.NoticeDataGeoCookie) == 'disabled') {
+                    NDGe.attr('checked', false);
+                }
+                else {
+                    NDGe.attr('checked', true);
+                }
+
+                var NGW = $('#notice_data-geo_wrap');
+                var geocodeURL = NGW.attr('title');
+                NGW.removeAttr('title');
+
+                $('label[for='+SN.C.S.NoticeDataGeo+']').attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()));
+
+                NDGe.change(function() {
+                    var NLN = $('#'+SN.C.S.NoticeGeoName);
+                    if (NLN.length > 0) {
+                        NLN.remove();
+                    }
+
+                    if ($('#'+SN.C.S.NoticeDataGeo).attr('checked') === true || $.cookie(SN.C.S.NoticeDataGeoCookie) === null) {
+                        $('label[for='+SN.C.S.NoticeDataGeo+']').addClass('checked').attr('title', NoticeDataGeoShareDisable_text);
+
+                        var S = '<div id="'+SN.C.S.NoticeDataGeoSelected+'" class="'+SN.C.S.Success+'"/>';
+                        var NDGS = $('#'+SN.C.S.NoticeDataGeoSelected);
+
+                        if (NDGS.length > 0) {
+                            NDGS.replaceWith(S);
+                        }
+                        else {
+                            $('#'+SN.C.S.FormNotice).append(S);
+                        }
+
+                        NDGS = $('#'+SN.C.S.NoticeDataGeoSelected);
+                        NDGS.prepend('<span id="'+SN.C.S.NoticeGeoName+'">Geo</span> <button class="minimize" title="'+NoticeDataGeoInfoMinimize_text+'">&#95;</button> <button class="close" title="'+NoticeDataGeoShareDisable_text+'">&#215;</button>');
+
+                        var NLN = $('#'+SN.C.S.NoticeGeoName);
+                        NLN.addClass('processing');
+
+                        $('#'+SN.C.S.NoticeDataGeoSelected+' button.close').click(function(){
+                            removeNoticeDataGeo();
+
+                            $('#'+SN.C.S.NoticeDataGeoSelected).remove();
+
+                            $('#'+SN.C.S.NoticeDataText).focus();
+
+                            return false;
+                        });
+
+                        $('#'+SN.C.S.NoticeDataGeoSelected+' button.minimize').click(function(){
+                            $('#'+SN.C.S.NoticeDataGeoSelected).hide();
+
+                            var cookieValue = {
+                                'NLat': $('#'+SN.C.S.NoticeLat).val(),
+                                'NLon': $('#'+SN.C.S.NoticeLat).val(),
+                                'NLNS': $('#'+SN.C.S.NoticeLocationNs).val(),
+                                'NLID': $('#'+SN.C.S.NoticeLocationId).val(),
+                                'NLN': $('#'+SN.C.S.NoticeGeoName).text(),
+                                'NLNU': $('#'+SN.C.S.NoticeGeoName).attr('href'),
+                                'NDG': true,
+                                'NDGSM': true
+                            };
+                            $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue));
+
+                            $('#'+SN.C.S.NoticeDataText).focus();
+
+                            return false;
+                        });
+
+                        if ($.cookie(SN.C.S.NoticeDataGeoCookie) === null || $.cookie(SN.C.S.NoticeDataGeoCookie) == 'disabled') {
+                            if (navigator.geolocation) {
+                                navigator.geolocation.getCurrentPosition(
+                                    function(position) {
+                                        $('#'+SN.C.S.NoticeLat).val(position.coords.latitude);
+                                        $('#'+SN.C.S.NoticeLon).val(position.coords.longitude);
+
+                                        var data = {
+                                            'lat': position.coords.latitude,
+                                            'lon': position.coords.longitude,
+                                            'token': $('#token').val()
+                                        };
+
+                                        getJSONgeocodeURL(geocodeURL, data);
+                                    },
+
+                                    function(error) {
+                                        if (error.PERMISSION_DENIED == 1) {
+                                            removeNoticeDataGeo();
+                                        }
+                                    }
+                                );
+                            }
+                            else {
+                                if (NLat.length > 0 && NLon.length > 0) {
+                                    var data = {
+                                        'lat': NLat,
+                                        'lon': NLon,
+                                        'token': $('#token').val()
+                                    };
+
+                                    getJSONgeocodeURL(geocodeURL, data);
+                                }
+                                else {
+                                    removeNoticeDataGeo();
+                                    $('#'+SN.C.S.NoticeDataGeo).remove();
+                                    $('label[for='+SN.C.S.NoticeDataGeo+']').remove();
+                                }
+                            }
+                        }
+                        else {
+                            var cookieValue = JSON.parse($.cookie(SN.C.S.NoticeDataGeoCookie));
+
+                            if (cookieValue.NDGSM === true) {
+                                $('#'+SN.C.S.NoticeDataGeoSelected).hide();
+                            }
+
+                            $('#'+SN.C.S.NoticeLat).val(cookieValue.NLat);
+                            $('#'+SN.C.S.NoticeLon).val(cookieValue.NLon);
+                            $('#'+SN.C.S.NoticeLocationNs).val(cookieValue.NLNS);
+                            $('#'+SN.C.S.NoticeLocationId).val(cookieValue.NLID);
+                            $('#'+SN.C.S.NoticeDataGeo).attr('checked', cookieValue.NDG);
+
+                            $('#'+SN.C.S.NoticeGeoName)
+                                .replaceWith('<a id="notice_data-geo_name"/>');
+
+                            $('#'+SN.C.S.NoticeGeoName)
+                                .attr('href', cookieValue.NLNU)
+                                .text(cookieValue.NLN)
+                                .click(function() {
+                                    window.open($(this).attr('href'));
+
+                                    return false;
+                                });
+                        }
+                    }
+                    else {
+                        removeNoticeDataGeo();
+                    }
+
+                    $('#'+SN.C.S.NoticeDataText).focus();
+                }).change();
+            }
         },
 
         NewDirectMessage: function() {
@@ -439,13 +721,14 @@ var SN = { // StatusNet
     Init: {
         NoticeForm: function() {
             if ($('body.user_in').length > 0) {
+                SN.U.NoticeLocationAttach();
+
                 $('.'+SN.C.S.FormNotice).each(function() {
                     SN.U.FormNoticeXHR($(this));
                     SN.U.FormNoticeEnhancements($(this));
                 });
 
                 SN.U.NoticeDataAttach();
-                SN.U.NoticeLocationAttach();
             }
         },
 
index dac0e2583c42cf86148e55a155fcb76e3eefc808..1b4cb5cecb660b3b0d9886ea24130dd0d08492f0 100644 (file)
@@ -252,6 +252,8 @@ class Action extends HTMLOutputter // lawsuit
             if (Event::handle('StartShowJQueryScripts', array($this))) {
                 $this->script('js/jquery.min.js');
                 $this->script('js/jquery.form.js');
+                $this->script('js/jquery.cookie.js');
+                $this->script('js/json2.js');
                 $this->script('js/jquery.joverlay.min.js');
                 Event::handle('EndShowJQueryScripts', array($this));
             }
@@ -735,6 +737,8 @@ class Action extends HTMLOutputter // lawsuit
                             _('Privacy'));
             $this->menuItem(common_local_url('doc', array('title' => 'source')),
                             _('Source'));
+            $this->menuItem(common_local_url('version'),
+                            _('Version'));
             $this->menuItem(common_local_url('doc', array('title' => 'contact')),
                             _('Contact'));
             $this->menuItem(common_local_url('doc', array('title' => 'badge')),
index 7997eb2b1f4b13a7db84f7c78fd3af07d0c44527..a6981ac6117d703128a9f9a03ff06dfe36e55499 100644 (file)
@@ -70,7 +70,7 @@ class AdminPanelAction extends Action
 
         if (!common_logged_in()) {
             $this->clientError(_('Not logged in.'));
-            return;
+            return false;
         }
 
         $user = common_current_user();
@@ -94,7 +94,18 @@ class AdminPanelAction extends Action
 
         if (!$user->hasRight(Right::CONFIGURESITE)) {
             $this->clientError(_('You cannot make changes to this site.'));
-            return;
+            return false;
+        }
+
+        // This panel must be enabled
+
+        $name = $this->trimmed('action');
+
+        $name = mb_substr($name, 0, -10);
+
+        if (!in_array($name, common_config('admin', 'panels'))) {
+            $this->clientError(_('Changes to that panel are not allowed.'), 403);
+            return false;
         }
 
         return true;
@@ -224,7 +235,7 @@ class AdminPanelAction extends Action
         $this->clientError(_('saveSettings() not implemented.'));
         return;
     }
-    
+
     /**
      * Delete a design setting
      *
@@ -296,20 +307,33 @@ class AdminPanelNav extends Widget
 
         if (Event::handle('StartAdminPanelNav', array($this))) {
 
-            $this->out->menuItem(common_local_url('siteadminpanel'), _('Site'),
-                _('Basic site configuration'), $action_name == 'siteadminpanel', 'nav_site_admin_panel');
+            if ($this->canAdmin('site')) {
+                $this->out->menuItem(common_local_url('siteadminpanel'), _('Site'),
+                                     _('Basic site configuration'), $action_name == 'siteadminpanel', 'nav_site_admin_panel');
+            }
 
-            $this->out->menuItem(common_local_url('designadminpanel'), _('Design'),
-                _('Design configuration'), $action_name == 'designadminpanel', 'nav_design_admin_panel');
+            if ($this->canAdmin('design')) {
+                $this->out->menuItem(common_local_url('designadminpanel'), _('Design'),
+                                     _('Design configuration'), $action_name == 'designadminpanel', 'nav_design_admin_panel');
+            }
 
-            $this->out->menuItem(common_local_url('useradminpanel'), _('User'),
-                _('Paths configuration'), $action_name == 'useradminpanel', 'nav_design_admin_panel');
+            if ($this->canAdmin('user')) {
+                $this->out->menuItem(common_local_url('useradminpanel'), _('User'),
+                                     _('Paths configuration'), $action_name == 'useradminpanel', 'nav_design_admin_panel');
+            }
 
-            $this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
-                _('Paths configuration'), $action_name == 'pathsadminpanel', 'nav_design_admin_panel');
+            if ($this->canAdmin('paths')) {
+                $this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
+                                     _('Paths configuration'), $action_name == 'pathsadminpanel', 'nav_design_admin_panel');
+            }
 
             Event::handle('EndAdminPanelNav', array($this));
         }
         $this->action->elementEnd('ul');
     }
+
+    function canAdmin($name)
+    {
+        return in_array($name, common_config('admin', 'panels'));
+    }
 }
diff --git a/lib/authenticationplugin.php b/lib/authenticationplugin.php
new file mode 100644 (file)
index 0000000..de479a5
--- /dev/null
@@ -0,0 +1,231 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Superclass for plugins that do authentication and/or authorization
+ *
+ * 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    Craig Andrews <candrews@integralblue.com>
+ * @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);
+}
+
+/**
+ * Superclass for plugins that do authentication
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Craig Andrews <candrews@integralblue.com>
+ * @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 AuthenticationPlugin extends Plugin
+{
+    //is this plugin authoritative for authentication?
+    public $authoritative = false;
+    
+    //should accounts be automatically created after a successful login attempt?
+    public $autoregistration = false;
+
+    //can the user change their email address
+    public $password_changeable=true;
+
+    //unique name for this authentication provider
+    public $provider_name;
+
+    //------------Auth plugin should implement some (or all) of these methods------------\\
+    /**
+    * Check if a nickname/password combination is valid
+    * @param username
+    * @param password
+    * @return boolean true if the credentials are valid, false if they are invalid.
+    */
+    function checkPassword($username, $password)
+    {
+        return false;
+    }
+
+    /**
+    * Automatically register a user when they attempt to login with valid credentials.
+    * User::register($data) is a very useful method for this implementation
+    * @param username
+    * @return mixed instance of User, or false (if user couldn't be created)
+    */
+    function autoRegister($username)
+    {
+        $registration_data = array();
+        $registration_data['nickname'] = $username ;
+        return User::register($registration_data);
+    }
+
+    /**
+    * Change a user's password
+    * The old password has been verified to be valid by this plugin before this call is made
+    * @param username
+    * @param oldpassword
+    * @param newpassword
+    * @return boolean true if the password was changed, false if password changing failed for some reason
+    */
+    function changePassword($username,$oldpassword,$newpassword)
+    {
+        return false;
+    }
+
+    //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
+    function onInitializePlugin(){
+        if(!isset($this->provider_name)){
+            throw new Exception("must specify a provider_name for this authentication provider");
+        }
+    }
+
+    /**
+    * Internal AutoRegister event handler
+    * @param nickname
+    * @param provider_name
+    * @param user - the newly registered user
+    */
+    function onAutoRegister($nickname, $provider_name, &$user)
+    {
+        if($provider_name == $this->provider_name && $this->autoregistration){
+            $user = $this->autoregister($nickname);
+            if($user){
+                User_username::register($user,$nickname,$this->provider_name);
+                return false;
+            }
+        }
+    }
+
+    function onStartCheckPassword($nickname, $password, &$authenticatedUser){
+        //map the nickname to a username
+        $user_username = new User_username();
+        $user_username->username=$nickname;
+        $user_username->provider_name=$this->provider_name;
+        if($user_username->find() && $user_username->fetch()){
+            $username = $user_username->username;
+            $authenticated = $this->checkPassword($username, $password);
+            if($authenticated){
+                $authenticatedUser = User::staticGet('id', $user_username->user_id);
+                return false;
+            }
+        }else{
+            $user = User::staticGet('nickname', $nickname);
+            if($user){
+                //make sure a different provider isn't handling this nickname
+                $user_username = new User_username();
+                $user_username->username=$nickname;
+                if(!$user_username->find()){
+                    //no other provider claims this username, so it's safe for us to handle it
+                    $authenticated = $this->checkPassword($nickname, $password);
+                    if($authenticated){
+                        $authenticatedUser = User::staticGet('nickname', $nickname);
+                        User_username::register($authenticatedUser,$nickname,$this->provider_name);
+                        return false;
+                    }
+                }
+            }else{
+                $authenticated = $this->checkPassword($nickname, $password);
+                if($authenticated){
+                    if(! Event::handle('AutoRegister', array($nickname, $this->provider_name, &$authenticatedUser))){
+                        //unlike most Event::handle lines of code, this one has a ! (not)
+                        //we want to do this if the event *was* handled - this isn't a "default" implementation
+                        //like most code of this form.
+                        if($authenticatedUser){
+                            return false;
+                        }
+                    }
+                }
+            }
+        }
+        if($this->authoritative){
+            return false;
+        }else{
+            //we're not authoritative, so let other handlers try
+            return;
+        }
+    }
+
+    function onStartChangePassword($user,$oldpassword,$newpassword)
+    {
+        if($this->password_changeable){
+            $user_username = new User_username();
+            $user_username->user_id=$user->id;
+            $user_username->provider_name=$this->provider_name;
+            if($user_username->find() && $user_username->fetch()){
+                $authenticated = $this->checkPassword($user_username->username, $oldpassword);
+                if($authenticated){
+                    $result = $this->changePassword($user_username->username,$oldpassword,$newpassword);
+                    if($result){
+                        //stop handling of other handlers, because what was requested was done
+                        return false;
+                    }else{
+                        throw new Exception(_('Password changing failed'));
+                    }
+                }else{
+                    if($this->authoritative){
+                        //since we're authoritative, no other plugin could do this
+                        throw new Exception(_('Password changing failed'));
+                    }else{
+                        //let another handler try
+                        return null;
+                    }
+                }
+            }
+        }else{
+            if($this->authoritative){
+                //since we're authoritative, no other plugin could do this
+                throw new Exception(_('Password changing is not allowed'));
+            }
+        }
+    }
+
+    function onStartAccountSettingsPasswordMenuItem($widget)
+    {
+        if($this->authoritative && !$this->password_changeable){
+            //since we're authoritative, no other plugin could change passwords, so do not render the menu item
+            return false;
+        }
+    }
+
+    function onCheckSchema() {
+        $schema = Schema::get();
+        $schema->ensureTable('user_username',
+                             array(new ColumnDef('provider_name', 'varchar',
+                                                 '255', false, 'PRI'),
+                                   new ColumnDef('username', 'varchar',
+                                                 '255', false, 'PRI'),
+                                   new ColumnDef('user_id', 'integer',
+                                                 null, false),
+                                   new ColumnDef('created', 'datetime',
+                                                 null, false),
+                                   new ColumnDef('modified', 'timestamp')));
+        return true;
+    }
+
+    function onUserDeleteRelated($user, &$tables)
+    {
+        $tables[] = 'User_username';
+        return true;
+    }
+}
+
diff --git a/lib/authorizationplugin.php b/lib/authorizationplugin.php
new file mode 100644 (file)
index 0000000..733b0c0
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Superclass for plugins that do authorization
+ *
+ * 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    Craig Andrews <candrews@integralblue.com>
+ * @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);
+}
+
+/**
+ * Superclass for plugins that do authorization
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Craig Andrews <candrews@integralblue.com>
+ * @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 AuthorizationPlugin extends Plugin
+{
+    //is this plugin authoritative for authorization?
+    public $authoritative = false;
+
+    //------------Auth plugin should implement some (or all) of these methods------------\\
+
+    /**
+    * Is a user allowed to log in?
+    * @param user
+    * @return boolean true if the user is allowed to login, false if explicitly not allowed to login, null if we don't explicitly allow or deny login
+    */
+    function loginAllowed($user) {
+        return null;
+    }
+
+    /**
+    * Does a profile grant the user a named role?
+    * @param profile
+    * @return boolean true if the profile has the role, false if not
+    */
+    function hasRole($profile, $name) {
+        return false;
+    }
+
+    //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
+
+    function onStartSetUser(&$user) {
+        $loginAllowed = $this->loginAllowed($user);
+        if($loginAllowed === true){
+            return;
+        }else if($loginAllowed === false){
+            $user = null;
+            return false;
+        }else{
+            if($this->authoritative) {
+                $user = null;
+                return false;
+            }else{
+                return;
+            }
+        }
+    }
+
+    function onStartSetApiUser(&$user) {
+        return $this->onStartSetUser(&$user);
+    }
+
+    function onStartHasRole($profile, $name, &$has_role) {
+        if($this->hasRole($profile, $name)){
+            $has_role = true;
+            return false;
+        }else{
+            if($this->authoritative) {
+                $has_role = false;
+                return false;
+            }else{
+                return;
+            }
+        }
+    }
+}
+
diff --git a/lib/cache.php b/lib/cache.php
new file mode 100644 (file)
index 0000000..b7b34c0
--- /dev/null
@@ -0,0 +1,182 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Cache interface plus default in-memory cache implementation
+ *
+ * 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  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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/
+ */
+
+/**
+ * Interface for caching
+ *
+ * An abstract interface for caching. Because we originally used the
+ * Memcache plugin directly, the interface uses a small subset of the
+ * Memcache interface.
+ *
+ * @category  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+class Cache
+{
+    var $_items   = array();
+    static $_inst = null;
+
+    /**
+     * Singleton constructor
+     *
+     * Use this to get the singleton instance of Cache.
+     *
+     * @return Cache cache object
+     */
+
+    static function instance()
+    {
+        if (is_null(self::$_inst)) {
+            self::$_inst = new Cache();
+        }
+
+        return self::$_inst;
+    }
+
+    /**
+     * Create a cache key from input text
+     *
+     * Builds a cache key from input text. Helps to namespace
+     * the cache area (if shared with other applications or sites)
+     * and prevent conflicts.
+     *
+     * @param string $extra the real part of the key
+     *
+     * @return string full key
+     */
+
+    static function key($extra)
+    {
+        $base_key = common_config('cache', 'base');
+
+        if (empty($base_key)) {
+            $base_key = common_keyize(common_config('site', 'name'));
+        }
+
+        return 'statusnet:' . $base_key . ':' . $extra;
+    }
+
+    /**
+     * Make a string suitable for use as a key
+     *
+     * Useful for turning primary keys of tables into cache keys.
+     *
+     * @param string $str string to turn into a key
+     *
+     * @return string keyized string
+     */
+
+    static function keyize($str)
+    {
+        $str = strtolower($str);
+        $str = preg_replace('/\s/', '_', $str);
+        return $str;
+    }
+
+    /**
+     * Get a value associated with a key
+     *
+     * The value should have been set previously.
+     *
+     * @param string $key Lookup key
+     *
+     * @return string retrieved value or null if unfound
+     */
+
+    function get($key)
+    {
+        $value = false;
+
+        if (Event::handle('StartCacheGet', array(&$key, &$value))) {
+            if (array_key_exists($key, $this->_items)) {
+                $value = unserialize($this->_items[$key]);
+            }
+            Event::handle('EndCacheGet', array($key, &$value));
+        }
+
+        return $value;
+    }
+
+    /**
+     * Set the value associated with a key
+     *
+     * @param string  $key    The key to use for lookups
+     * @param string  $value  The value to store
+     * @param integer $flag   Flags to use, mostly ignored
+     * @param integer $expiry Expiry value, mostly ignored
+     *
+     * @return boolean success flag
+     */
+
+    function set($key, $value, $flag=null, $expiry=null)
+    {
+        $success = false;
+
+        if (Event::handle('StartCacheSet', array(&$key, &$value, &$flag,
+                                                 &$expiry, &$success))) {
+
+            $this->_items[$key] = serialize($value);
+
+            $success = true;
+
+            Event::handle('EndCacheSet', array($key, $value, $flag,
+                                               $expiry));
+        }
+
+        return $success;
+    }
+
+    /**
+     * Delete the value associated with a key
+     *
+     * @param string $key Key to delete
+     *
+     * @return boolean success flag
+     */
+
+    function delete($key)
+    {
+        $success = false;
+
+        if (Event::handle('StartCacheDelete', array(&$key, &$success))) {
+            if (array_key_exists($key, $this->_items)) {
+                unset($this->_items[$key]);
+            }
+            $success = true;
+            Event::handle('EndCacheDelete', array($key));
+        }
+
+        return $success;
+    }
+}
index 1bae6b33bbfa251fd1166839aafe44fef94e6f25..ac2fcd23eaaed3f91ff407fcfcbd8e6bb88500ed 100644 (file)
@@ -74,6 +74,7 @@ class ColumnDef
      * @param string  $key      type of key
      * @param value   $default  default value
      * @param value   $extra    unused
+     * @param boolean $auto_increment
      */
 
     function __construct($name=null, $type=null, $size=null,
index 7fa1910af86cd78870c2847fdf2479019f837f1c..fb5e5919e054037de16f4c499ef2cd83b3f0be96 100644 (file)
@@ -210,6 +210,18 @@ if ($_db_name != 'statusnet' && !array_key_exists('ini_'.$_db_name, $config['db'
     $config['db']['ini_'.$_db_name] = INSTALLDIR.'/classes/statusnet.ini';
 }
 
+// Backwards compatibility
+
+if (array_key_exists('memcached', $config)) {
+    if ($config['memcached']['enabled']) {
+        addPlugin('Memcache', array('servers' => $config['memcached']['server']));
+    }
+
+    if (!empty($config['memcached']['base'])) {
+        $config['cache']['base'] = $config['memcached']['base'];
+    }
+}
+
 function __autoload($cls)
 {
     if (file_exists(INSTALLDIR.'/classes/' . $cls . '.php')) {
@@ -226,6 +238,27 @@ function __autoload($cls)
     }
 }
 
+// Load default plugins
+
+foreach ($config['plugins']['default'] as $name => $params) {
+    if (is_null($params)) {
+        addPlugin($name);
+    } else if (is_array($params)) {
+        if (count($params) == 0) {
+            addPlugin($name);
+        } else {
+            $keys = array_keys($params);
+            if (is_string($keys[0])) {
+                addPlugin($name, $params);
+            } else {
+                foreach ($params as $paramset) {
+                    addPlugin($name, $paramset);
+                }
+            }
+        }
+    }
+}
+
 // XXX: how many of these could be auto-loaded on use?
 // XXX: note that these files should not use config options
 // at compile time since DB config options are not yet loaded.
index 42d4623b1ef9ea9558eca9f30213a459c801a1bd..fa862f3ff196ba3eb62adca4d63284921c76948d 100644 (file)
@@ -54,6 +54,7 @@ $default =
               'dupelimit' => 60, # default for same person saying the same thing
               'textlimit' => 140,
               'indent' => true,
+              'use_x_sendfile' => false,
               ),
         'db' =>
         array('database' => 'YOU HAVE TO SET THIS IN config.php',
@@ -147,11 +148,8 @@ $default =
         array('enabled'       => true,
               'consumer_key'    => null,
               'consumer_secret' => null),
-        'memcached' =>
-        array('enabled' => false,
-              'server' => 'localhost',
-              'base' => null,
-              'port' => 11211),
+        'cache' =>
+        array('base' => null),
         'ping' =>
         array('notify' => array()),
         'inboxes' =>
@@ -226,9 +224,29 @@ $default =
         'message' =>
         array('contentlimit' => null),
         'location' =>
-        array('namespace' => 1), // 1 = geonames, 2 = Yahoo Where on Earth
+        array('share' => 'user', // whether to share location; 'always', 'user', 'never'
+              'sharedefault' => true),
         'omb' =>
         array('timeout' => 5), // HTTP request timeout in seconds when contacting remote hosts for OMB updates
         'logincommand' =>
         array('disabled' => true),
+        'plugins' =>
+        array('default' => array('LilUrl' => array('shortenerName'=>'ur1.ca',
+                                                   'freeService' => true,
+                                                   'serviceUrl'=>'http://ur1.ca/'),
+                                 'PtitUrl' => array('shortenerName' => 'ptiturl.com',
+                                                    'serviceUrl' => 'http://ptiturl.com/?creer=oui&action=Reduire&url=%1$s'),
+                                 'SimpleUrl' => array(array('shortenerName' => 'is.gd', 'serviceUrl' => 'http://is.gd/api.php?longurl=%1$s'),
+                                                      array('shortenerName' => 'snipr.com', 'serviceUrl' => 'http://snipr.com/site/snip?r=simple&link=%1$s'),
+                                                      array('shortenerName' => 'metamark.net', 'serviceUrl' => 'http://metamark.net/api/rest/simple?long_url=%1$s'),
+                                                      array('shortenerName' => 'tinyurl.com', 'serviceUrl' => 'http://tinyurl.com/api-create.php?url=%1$s')),
+                                 'TightUrl' => array('shortenerName' => '2tu.us', 'freeService' => true,'serviceUrl'=>'http://2tu.us/?save=y&url=%1$s'),
+                                 'Geonames' => null,
+                                 'Mapstraction' => null,
+                                 'Linkback' => null,
+                                 'WikiHashtags' => null,
+                                 'OpenID' => null),
+              ),
+        'admin' =>
+        array('panels' => array('design', 'site', 'user', 'paths')),
         );
index 2091c6e2ca4d60fd4020f2ca91cfbcb09558c909..31660ce954982e365be8e68e05d179bda72cadbd 100644 (file)
@@ -352,7 +352,7 @@ class HTMLOutputter extends XMLOutputter
     {
         if(Event::handle('StartScriptElement', array($this,&$src,&$type))) {
             $url = parse_url($src);
-            if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment))
+            if( empty($url['scheme']) && empty($url['host']) && empty($url['query']) && empty($url['fragment']))
             {
                 $src = common_path($src) . '?version=' . STATUSNET_VERSION;
             }
index 01aed8ffa54d8d6a351a8172ccedbb1b10529241..a821856a8b004c92e1b00879bbf15eba3fd5228c 100644 (file)
@@ -440,7 +440,7 @@ function jabber_public_notice($notice)
     // XXX: should we send out non-local messages if public,localonly
     // = false? I think not
 
-    if ($public && $notice->is_local) {
+    if ($public && $notice->is_local == Notice::LOCAL_PUBLIC) {
         $profile = Profile::staticGet($notice->profile_id);
 
         if (!$profile) {
index d8f529201e522441fe3a407636cf5ab368688051..f5ee7fac5ed142239ffa3683de992cd9e8e50683 100644 (file)
@@ -32,6 +32,21 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
+// Locale category constants are usually predefined, but may not be
+// on some systems such as Win32.
+$LC_CATEGORIES = array('LC_CTYPE',
+                       'LC_NUMERIC',
+                       'LC_TIME',
+                       'LC_COLLATE',
+                       'LC_MONETARY',
+                       'LC_MESSAGES',
+                       'LC_ALL');
+foreach ($LC_CATEGORIES as $key => $name) {
+    if (!defined($name)) {
+        define($name, $key);
+    }
+}
+
 if (!function_exists('gettext')) {
     require_once("php-gettext/gettext.inc");
 }
@@ -283,6 +298,7 @@ function get_all_languages() {
         'en'      => array('q' => 1, 'lang' => 'en',    'name' => 'English (US)', 'direction' => 'ltr'),
         'es'      => array('q' => 1, 'lang' => 'es',    'name' => 'Spanish', 'direction' => 'ltr'),
         'fi'      => array('q' => 1, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
+        'fa'      => array('q' => 1, 'lang' => 'fa', 'name' => 'Persian', 'direction' => 'rtl'),
         'fr-fr'   => array('q' => 1, 'lang' => 'fr', 'name' => 'French', 'direction' => 'ltr'),
         'ga'      => array('q' => 0.5, 'lang' => 'ga', 'name' => 'Galician', 'direction' => 'ltr'),
         'he'      => array('q' => 0.5, 'lang' => 'he', 'name' => 'Hebrew', 'direction' => 'rtl'),
index dffac32626e1e3ee3b48ee70045c53729926d31b..472a88e061c117a21121ef70f0525b030a736f60 100644 (file)
@@ -599,6 +599,10 @@ function mail_notify_attn($user, $notice)
 
     $sender = $notice->getProfile();
 
+    if ($sender->id == $user->id) {
+        return;
+    }
+
     if (!$sender->hasRight(Right::EMAILONREPLY)) {
         return;
     }
diff --git a/lib/mailhandler.php b/lib/mailhandler.php
new file mode 100644 (file)
index 0000000..32a8cd9
--- /dev/null
@@ -0,0 +1,275 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, 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/>.
+ */
+
+require_once(INSTALLDIR . '/lib/mail.php');
+require_once(INSTALLDIR . '/lib/mediafile.php');
+require_once('Mail/mimeDecode.php');
+
+# FIXME: we use both Mail_mimeDecode and mailparse
+# Need to move everything to mailparse
+
+class MailHandler
+{
+    function __construct()
+    {
+    }
+
+    function handle_message($rawmessage)
+    {
+        list($from, $to, $msg, $attachments) = $this->parse_message($rawmessage);
+        if (!$from || !$to || !$msg) {
+            $this->error(null, _('Could not parse message.'));
+        }
+        common_log(LOG_INFO, "Mail from $from to $to with ".count($attachments) .' attachment(s): ' .substr($msg, 0, 20));
+        $user = $this->user_from_header($from);
+        if (!$user) {
+            $this->error($from, _('Not a registered user.'));
+            return false;
+        }
+        if (!$this->user_match_to($user, $to)) {
+            $this->error($from, _('Sorry, that is not your incoming email address.'));
+            return false;
+        }
+        if (!$user->emailpost) {
+            $this->error($from, _('Sorry, no incoming email allowed.'));
+            return false;
+        }
+        $response = $this->handle_command($user, $from, $msg);
+        if ($response) {
+            return true;
+        }
+        $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.'),
+                                        Notice::maxContent()));
+        }
+
+        $mediafiles = array();
+
+        foreach($attachments as $attachment){
+
+            $mf = null;
+
+            try {
+                $mf = MediaFile::fromFileHandle($attachment, $user);
+            } catch(ClientException $ce) {
+                $this->error($from, $ce->getMessage());
+            }
+
+            $msg .= ' ' . $mf->shortUrl();
+
+            array_push($mediafiles, $mf);
+            fclose($attachment);
+        }
+
+        $err = $this->add_notice($user, $msg, $mediafiles);
+
+        if (is_string($err)) {
+            $this->error($from, $err);
+            return false;
+        } else {
+            return true;
+        }
+    }
+
+    function error($from, $msg)
+    {
+        file_put_contents("php://stderr", $msg . "\n");
+        exit(1);
+    }
+
+    function user_from_header($from_hdr)
+    {
+        $froms = mailparse_rfc822_parse_addresses($from_hdr);
+        if (!$froms) {
+            return null;
+        }
+        $from = $froms[0];
+        $addr = common_canonical_email($from['address']);
+        $user = User::staticGet('email', $addr);
+        if (!$user) {
+            $user = User::staticGet('smsemail', $addr);
+        }
+        return $user;
+    }
+
+    function user_match_to($user, $to_hdr)
+    {
+        $incoming = $user->incomingemail;
+        $tos = mailparse_rfc822_parse_addresses($to_hdr);
+        foreach ($tos as $to) {
+            if (strcasecmp($incoming, $to['address']) == 0) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    function handle_command($user, $from, $msg)
+    {
+        $inter = new CommandInterpreter();
+        $cmd = $inter->handle_command($user, $msg);
+        if ($cmd) {
+            $cmd->execute(new MailChannel($from));
+            return true;
+        }
+        return false;
+    }
+
+    function respond($from, $to, $response)
+    {
+
+        $headers['From'] = $to;
+        $headers['To'] = $from;
+        $headers['Subject'] = "Command complete";
+
+        return mail_send(array($from), $headers, $response);
+    }
+
+    function log($level, $msg)
+    {
+        common_log($level, 'MailDaemon: '.$msg);
+    }
+
+    function add_notice($user, $msg, $mediafiles)
+    {
+        try {
+            $notice = Notice::saveNew($user->id, $msg, 'mail');
+        } catch (Exception $e) {
+            $this->log(LOG_ERR, $e->getMessage());
+            return $e->getMessage();
+        }
+        foreach($mediafiles as $mf){
+            $mf->attachToNotice($notice);
+        }
+        common_broadcast_notice($notice);
+        $this->log(LOG_INFO,
+                   'Added notice ' . $notice->id . ' from user ' . $user->nickname);
+        return true;
+    }
+
+    function parse_message($contents)
+    {
+        $parsed = Mail_mimeDecode::decode(array('input' => $contents,
+                                                'include_bodies' => true,
+                                                'decode_headers' => true,
+                                                'decode_bodies' => true));
+        if (!$parsed) {
+            return null;
+        }
+
+        $from = $parsed->headers['from'];
+
+        $to = $parsed->headers['to'];
+
+        $type = $parsed->ctype_primary . '/' . $parsed->ctype_secondary;
+
+        $attachments = array();
+
+        $this->extract_part($parsed,$msg,$attachments);
+
+        return array($from, $to, $msg, $attachments);
+    }
+
+    function extract_part($parsed,&$msg,&$attachments){
+        if ($parsed->ctype_primary == 'multipart') {
+            if($parsed->ctype_secondary == 'alternative'){
+                $altmsg = $this->extract_msg_from_multipart_alternative_part($parsed);
+                if(!empty($altmsg)) $msg = $altmsg;
+            }else{
+                foreach($parsed->parts as $part){
+                    $this->extract_part($part,$msg,$attachments);
+                }
+            }
+        } else if ($parsed->ctype_primary == 'text'
+            && $parsed->ctype_secondary=='plain') {
+            $msg = $parsed->body;
+            if(strtolower($parsed->ctype_parameters['charset']) != "utf-8"){
+                $msg = utf8_encode($msg);
+            }
+        }else if(!empty($parsed->body)){
+            if(common_config('attachments', 'uploads')){
+                //only save attachments if uploads are enabled
+                $attachment = tmpfile();
+                fwrite($attachment, $parsed->body);
+                $attachments[] = $attachment;
+            }
+        }
+    }
+
+    function extract_msg_from_multipart_alternative_part($parsed){
+        foreach ($parsed->parts as $part) {
+            $this->extract_part($part,$msg,$attachments);
+        }
+        //we don't want any attachments that are a result of this parsing
+        return $msg;
+    }
+
+    function unsupported_type($type)
+    {
+        $this->error(null, "Unsupported message type: " . $type);
+    }
+
+    function cleanup_msg($msg)
+    {
+        $lines = explode("\n", $msg);
+
+        $output = '';
+
+        foreach ($lines as $line) {
+            // skip quotes
+            if (preg_match('/^\s*>.*$/', $line)) {
+                continue;
+            }
+            // skip start of quote
+            if (preg_match('/^\s*On.*wrote:\s*$/', $line)) {
+                continue;
+            }
+            // probably interesting to someone, not us
+            if (preg_match('/^\s*Sent via/', $line)) {
+                continue;
+            }
+            if (preg_match('/^\s*Sent from my/', $line)) {
+                continue;
+            }
+
+            // skip everything after a sig
+            if (preg_match('/^\s*--+\s*$/', $line) ||
+                preg_match('/^\s*__+\s*$/', $line))
+            {
+                break;
+            }
+            // skip everything after Outlook quote
+            if (preg_match('/^\s*-+\s*Original Message\s*-+\s*$/', $line)) {
+                break;
+            }
+            // skip everything after weird forward
+            if (preg_match('/^\s*Begin\s+forward/', $line)) {
+                break;
+            }
+
+            $output .= ' ' . $line;
+        }
+
+        preg_replace('/\s+/', ' ', $output);
+        return trim($output);
+    }
+}
index 593a1e93220a1f6a5e1b9fd41dc5905227314e79..f0b704e876747e751f17a0a0fc5e00c35299766a 100644 (file)
@@ -110,6 +110,8 @@ class NoticeForm extends Form
             $this->user = common_current_user();
         }
 
+        $this->profile = $this->user->getProfile();
+
         if (common_config('attachments', 'uploads')) {
             $this->enctype = 'multipart/form-data';
         }
@@ -198,12 +200,22 @@ class NoticeForm extends Form
                 $this->out->hidden('notice_return-to', $this->action, 'returnto');
             }
             $this->out->hidden('notice_in-reply-to', $this->inreplyto, 'inreplyto');
-            $this->out->hidden('notice_data-lat', empty($this->lat) ? null : $this->lat, 'lat');
-            $this->out->hidden('notice_data-lon', empty($this->lon) ? null : $this->lon, 'lon');
-            $this->out->hidden('notice_data-location_id', empty($this->location_id) ? null : $this->location_id, 'location_id');
-            $this->out->hidden('notice_data-location_ns', empty($this->location_ns) ? null : $this->location_ns, 'location_ns');
 
-            Event::handle('StartShowNoticeFormData', array($this));
+            if ($this->user->shareLocation()) {
+                $this->out->hidden('notice_data-lat', empty($this->lat) ? (empty($this->profile->lat) ? null : $this->profile->lat) : $this->lat, 'lat');
+                $this->out->hidden('notice_data-lon', empty($this->lon) ? (empty($this->profile->lon) ? null : $this->profile->lon) : $this->lon, 'lon');
+                $this->out->hidden('notice_data-location_id', empty($this->location_id) ? (empty($this->profile->location_id) ? null : $this->profile->location_id) : $this->location_id, 'location_id');
+                $this->out->hidden('notice_data-location_ns', empty($this->location_ns) ? (empty($this->profile->location_ns) ? null : $this->profile->location_ns) : $this->location_ns, 'location_ns');
+
+                $this->out->elementStart('div', array('id' => 'notice_data-geo_wrap',
+                                                      'title' => common_local_url('geocode')));
+                $this->out->checkbox('notice_data-geo', _('Share my location'), true);
+                $this->out->elementEnd('div');
+                $this->out->inlineScript(' var NoticeDataGeoShareDisable_text = "'._('Do not share my location.').'";'.
+                ' var NoticeDataGeoInfoMinimize_text = "'._('Hide this info').'";');
+            }
+
+            Event::handle('EndShowNoticeFormData', array($this));
         }
     }
 
index 5eb2633ac288ccbf479df5b84369374b94430022..78abf34a76d512bb6fd289fbd6f4a5ce4fabf153 100644 (file)
@@ -379,7 +379,7 @@ class NoticeListItem extends Widget
 
     function showNoticeLink()
     {
-        if($this->notice->is_local){
+        if($this->notice->is_local == Notice::LOCAL_PUBLIC || $this->notice->is_local == Notice::LOCAL_NONPUBLIC){
             $noticeurl = common_local_url('shownotice',
                                       array('notice' => $this->notice->id));
         }else{
index 5698c403875e52b584b80a5fd5f86d8b93a4699f..735af9ef134ecccb2ad55a089f10ba7c3dd37cce 100644 (file)
@@ -21,7 +21,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 function ping_broadcast_notice($notice) {
 
-       if (!$notice->is_local) {
+       if ($notice->is_local != Notice::LOCAL_PUBLIC && $notice->is_local != Notice::LOCAL_NONPUBLIC) {
                return true;
        }
 
@@ -115,4 +115,4 @@ function ping_notice_tags($notice) {
                return implode('|', $tags);
        }
        return NULL;
-}
\ No newline at end of file
+}
index de7313e59e2e52e16b4a5bcca1ffe754aa6566aa..65ccdafbb02af1b82277b42f77aa7cd1734f446e 100644 (file)
@@ -104,5 +104,16 @@ class Plugin
     {
         $this->log(LOG_DEBUG, $msg);
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $cls = get_class($this);
+        $name = mb_substr($cls, 0, -6);
+
+        $versions[] = array('name' => $name,
+                            'version' => _('Unknown'));
+
+        return true;
+    }
 }
 
index 50e5d6dbe04d19e44284f1166a0872d2ec333ad8..4f1c8aa3201d7cc44453f56c1aa2f79e541ed18e 100644 (file)
@@ -104,7 +104,7 @@ class RepeatForm extends Form
      */
     function formLegend()
     {
-        $this->out->element('legend', null, _('Repeat this notice'));
+        $this->out->element('legend', null, _('Repeat this notice?'));
     }
 
     /**
@@ -129,7 +129,7 @@ class RepeatForm extends Form
     function formActions()
     {
         $this->out->submit('repeat-submit-' . $this->notice->id,
-                           _('Repeat'), 'submit', null, _('Repeat this notice'));
+                           _('Yes'), 'submit', null, _('Repeat this notice'));
     }
 
     /**
index 474e05996f24811a33d39ffec2265447950338b5..287d3c79fd8c0d567c73dd91dc9415d51a6f58d8 100644 (file)
@@ -100,7 +100,10 @@ class Router
                           'sandbox', 'unsandbox',
                           'silence', 'unsilence',
                           'repeat',
-                          'deleteuser');
+                          'deleteuser',
+                          'geocode',
+                          'version',
+                          );
 
             foreach ($main as $a) {
                 $m->connect('main/'.$a, array('action' => $a));
index a8ba91b87fcde9ab1132db0ac81ad0c30c7e53d4..a7f64ebed10cfce99fb780756a6fffa78831df83 100644 (file)
@@ -523,6 +523,14 @@ class Schema
         } else {
             $sql .= ($cd->nullable) ? "null " : "not null ";
         }
+        
+        if (!empty($cd->auto_increment)) {
+            $sql .= " auto_increment ";
+        }
+
+        if (!empty($cd->extra)) {
+            $sql .= "{$cd->extra} ";
+        }
 
         return $sql;
     }
index fdcc87677b08011829c0b77c62e2cf44e8f6244d..50bd0e2ac938de026a3d4b5187823773136a62d0 100644 (file)
@@ -62,7 +62,7 @@ function common_init_language()
     // gettext will still select the right language.
     $language = common_language();
     $locale_set = common_init_locale($language);
-    
+
     setlocale(LC_CTYPE, 'C');
     // So we do not have to make people install the gettext locales
     $path = common_config('site','locale_path');
@@ -1404,41 +1404,17 @@ function common_session_token()
 
 function common_cache_key($extra)
 {
-    $base_key = common_config('memcached', 'base');
-
-    if (empty($base_key)) {
-        $base_key = common_keyize(common_config('site', 'name'));
-    }
-
-    return 'statusnet:' . $base_key . ':' . $extra;
+    return Cache::key($extra);
 }
 
 function common_keyize($str)
 {
-    $str = strtolower($str);
-    $str = preg_replace('/\s/', '_', $str);
-    return $str;
+    return Cache::keyize($str);
 }
 
 function common_memcache()
 {
-    static $cache = null;
-    if (!common_config('memcached', 'enabled')) {
-        return null;
-    } else {
-        if (!$cache) {
-            $cache = new Memcache();
-            $servers = common_config('memcached', 'server');
-            if (is_array($servers)) {
-                foreach($servers as $server) {
-                    $cache->addServer($server);
-                }
-            } else {
-                $cache->addServer($servers);
-            }
-        }
-        return $cache;
-    }
+    return Cache::instance();
 }
 
 function common_license_terms($uri)
index 5d0b78cc1394100c66a400e7e1738d0a363be3e9..68a1ff2fc954b3b70edf59d136001b5cec460290 100644 (file)
@@ -1,5 +1,6 @@
 # Translation of StatusNet to Arabic
 #
+# Author@translatewiki.net: Meno25
 # Author@translatewiki.net: OsamaK
 # --
 # This file is distributed under the same license as the StatusNet package.
@@ -8,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:51:43+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:28+0000\n"
 "Language-Team: Arabic\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ar\n"
 "X-Message-Group: out-statusnet\n"
@@ -120,9 +121,8 @@ msgstr ""
 #: actions/apiaccountupdateprofile.php:97
 #: actions/apiaccountupdateprofilebackgroundimage.php:94
 #: actions/apiaccountupdateprofilecolors.php:118
-#, fuzzy
 msgid "API method not found."
-msgstr "لم يوجد رمز التأكيد."
+msgstr "لم يتم العثور على وسيلة API."
 
 #: actions/apiaccountupdatedeliverydevice.php:85
 #: actions/apiaccountupdateprofile.php:89
@@ -158,9 +158,8 @@ msgid "User has no profile."
 msgstr "ليس للمستخدم ملف شخصي."
 
 #: actions/apiaccountupdateprofile.php:147
-#, fuzzy
 msgid "Could not save profile."
-msgstr "تعذّر حفظ الملف الشخصي."
+msgstr "لم يمكن حفظ الملف."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:97
@@ -189,11 +188,11 @@ msgstr "تعذّر تحديث تصميمك."
 msgid "You cannot block yourself!"
 msgstr "لا يمكنك منع نفسك!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "فشل منع المستخدم."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "فشل إلغاء منع المستخدم."
 
@@ -305,31 +304,31 @@ msgid "Could not find target user."
 msgstr "تعذّر إيجاد المستخدم الهدف."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr ""
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "ليس اسمًا مستعارًا صحيحًا."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "الصفحة الرئيسية ليست عنونًا صالحًا."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)"
@@ -340,7 +339,7 @@ msgid "Description is too long (max %d chars)."
 msgstr ""
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr ""
@@ -430,14 +429,12 @@ msgid "No such notice."
 msgstr "لا إشعار كهذا."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 Ø¥Ø³Ù\83ات Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ø¹Ù\84Ù\89 Ù\87ذا Ø§Ù\84Ù\85Ù\88Ù\82ع."
+msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 ØªÙ\83رار Ù\85Ù\84Ø­Ù\88ظتÙ\83 Ø§Ù\84خاصة."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "احذف هذا الإشعار"
+msgstr "كرر بالفعل هذه الملاحظة."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -457,7 +454,7 @@ msgstr ""
 msgid "Not found"
 msgstr "لم يوجد"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -514,14 +511,14 @@ msgid "Repeated by %s"
 msgstr ""
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "الردود على %s"
+msgstr "كرر إلى %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "اÙ\84ردÙ\88د Ø¹Ù\84Ù\89 %s"
+msgstr "تÙ\83رارات %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -586,7 +583,7 @@ msgid "Preview"
 msgstr "عاين"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "احذف"
 
@@ -599,13 +596,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -667,6 +664,7 @@ msgstr "لا تمنع هذا المستخدم"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "نعم"
 
@@ -674,7 +672,7 @@ msgstr "نعم"
 msgid "Block this user"
 msgstr "امنع هذا المستخدم"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "فشل حفظ معلومات المنع."
 
@@ -746,7 +744,7 @@ msgstr ""
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "تعذّر تحديث المستخدم."
@@ -806,7 +804,7 @@ msgstr "أمتأكد من أنك تريد حذف هذا الإشعار؟"
 msgid "Do not delete this notice"
 msgstr "لا تحذف هذا الإشعار"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "احذف هذا الإشعار"
 
@@ -940,8 +938,8 @@ msgstr "ارجع إلى المبدئي"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1109,7 +1107,7 @@ msgstr "لا عنوان بريد إلكتروني."
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "ليس عنوان بريد صالح"
 
@@ -1234,28 +1232,24 @@ msgstr "مستخدمون مختارون، صفحة %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "قسم للمستخدمين المتميزين على %s"
+msgid "A selection of some great users on %s"
+msgstr "اختيار لبعض المستخدمين المتميزين على %s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Ù\84ا Ø¥Ø´Ø¹Ø§Ø±"
+msgstr "Ù\84ا Ø±Ù\82Ù\85 Ù\85Ù\84احظة."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "لا إشعار"
+msgstr "لا ملاحظة."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "لا مرفقات"
+msgstr "لا مرفقات."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "لا مرفقات مرفوعة"
+msgstr "لا مرفقات مرفوعة."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1426,7 +1420,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr "قائمة بمستخدمي هذه المجموعة."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "إداري"
 
@@ -1513,7 +1507,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "المستخدم ليس ممنوعًا من المجموعة."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "خطأ أثناء منع الحجب."
 
@@ -1682,7 +1676,7 @@ msgstr "رسالة شخصية"
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "أرسل"
 
@@ -1778,7 +1772,7 @@ msgstr "اسم المستخدم أو كلمة السر غير صحيحان."
 msgid "Error setting user. You are probably not authorized."
 msgstr "خطأ أثناء ضبط المستخدم. لست مُصرحًا على الأرجح."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "لُج"
@@ -1885,7 +1879,7 @@ msgstr "أُرسلت الرسالة"
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "خطأ أجاكس"
 
@@ -1893,7 +1887,7 @@ msgstr "خطأ أجاكس"
 msgid "New notice"
 msgstr "إشعار جديد"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "أُرسل الإشعار"
 
@@ -2115,76 +2109,112 @@ msgstr "لا يمكن الكتابة في دليل الخلفيات: %s"
 msgid "Locales directory not readable: %s"
 msgstr "لا يمكن قراءة دليل المحليات: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "الموقع"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "المسار"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "مسار الموقع"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "مسار المحليات"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "مسار دليل المحليات"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "السمة"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "خادوم السمات"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "مسار السمات"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "دليل السمات"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "أفتارات"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "خادوم الأفتارات"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "مسار الأفتارات"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "دليل الأفتار."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "خلفيات"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "خادوم الخلفيات"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "مسار الخلفيات"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "دليل الخلفيات"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "مطلقا"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "أحيانًا"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "دائمًا"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "استخدم SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "خادوم SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "احفظ المسارات"
 
@@ -2274,69 +2304,77 @@ msgstr "الموقع"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "الوسوم"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "اللغة"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "اللغة المفضلة"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "المنطقة الزمنية"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "ما المنطقة الزمنية التي تتواجد فيها عادة؟"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr ""
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "لم تُختر المنطقة الزمنية."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "وسم غير صالح: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "لم يمكن حفظ تفضيلات الموقع."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "تعذّر حفظ الملف الشخصي."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "تعذّر حفظ الوسوم."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "حُفظت الإعدادات."
 
@@ -2435,7 +2473,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "سحابة الوسوم"
 
@@ -2571,7 +2609,7 @@ msgstr "عذرا، رمز دعوة غير صالح."
 msgid "Registration successful"
 msgstr "نجح التسجيل"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "سجّل"
@@ -2615,7 +2653,7 @@ msgid "Same as password above. Required."
 msgstr "نفس كلمة السر أعلاه. مطلوب."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "البريد الإلكتروني"
 
@@ -2724,29 +2762,24 @@ msgid "Only logged-in users can repeat notices."
 msgstr ""
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "لا ملف شخصي مُحدّد."
+msgstr "لا ملاحظة محددة."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 Ø¥Ø³Ù\83ات Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ø¹Ù\84Ù\89 Ù\87ذا Ø§Ù\84Ù\85Ù\88Ù\82ع."
+msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 ØªÙ\83رار Ù\85Ù\84احظتÙ\83 Ø§Ù\84شخصÙ\8aØ©."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "لقد منعت مسبقا هذا المستخدم."
+msgstr "أنت كررت هذه الملاحظة بالفعل."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "أنشئ"
+msgstr "مكرر"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "أنشئ"
+msgstr "مكرر!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -3051,9 +3084,9 @@ msgid ""
 msgstr ""
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "اÙ\84ردÙ\88د Ø¹Ù\84Ù\89 %s"
+msgstr "تÙ\83رارات %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
@@ -3067,233 +3100,192 @@ msgstr "المستخدم مسكت من قبل."
 msgid "Basic settings for this StatusNet site."
 msgstr "الإعدادات الأساسية لموقع StatusNet هذا."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "يجب ألا يكون طول اسم الموقع صفرًا."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "يجب أن تملك عنوان بريد إلكتروني صالح للاتصال"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "لغة غير معروفة \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "حد النص الأدنى هو 140 حرفًا."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "عام"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "اسم الموقع"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "اسم موقعك، \"التدوين المصغر لشركتك\" مثلا"
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "عنوان البريد الإلكتروني للاتصال بموقعك"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "محلي"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "المنطقة الزمنية المبدئية"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "المنطقة الزمنية المبدئية للموقع؛ ت‌ع‌م عادة."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "لغة الموقع المبدئية"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "مسارات"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "خادوم"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "اسم مضيف خادوم الموقع."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "مسارات فاخرة"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "أأستخدم مسارات فاخرة (يمكن قراءتها وتذكرها بسهولة أكبر)؟"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "نفاذ"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "خاص"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "أأمنع المستخدمين المجهولين (غير الوالجين) من عرض الموقع؟"
 
-#: actions/siteadminpanel.php:340
-#, fuzzy
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
-msgstr "ادعÙ\8f"
+msgstr "باÙ\84دعÙ\88Ø© Ù\81Ù\82Ø·"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "مُغلق"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "عطّل التسجيل الجديد."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "في مهمة مُجدولة"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "مطلقا"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "التكرار"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "بلّغ عن المسار"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "أحيانًا"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "دائمًا"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "استخدم SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "خادوم SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "الحدود"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "حد النص"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "أقصى عدد للحروف في الإشعارات."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "اذف إعدادت الموقع"
 
@@ -3505,9 +3497,8 @@ msgid "Notice feed for tag %s (Atom)"
 msgstr ""
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
-msgstr "لا مُدخل هوية."
+msgstr "لا مدخل هوية."
 
 #: actions/tagother.php:65
 #, php-format
@@ -3524,7 +3515,7 @@ msgstr "صورة"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "اوسم المستخدم"
 
 #: actions/tagother.php:151
 msgid ""
@@ -3558,9 +3549,8 @@ msgid "You haven't blocked that user."
 msgstr "لم تمنع هذا المستخدم."
 
 #: actions/unsandbox.php:72
-#, fuzzy
 msgid "User is not sandboxed."
-msgstr "ليس للمستخدم إشعار أخير"
+msgstr "المستخدم ليس في صندوق الرمل."
 
 #: actions/unsilence.php:72
 msgid "User is not silenced."
@@ -3764,9 +3754,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr ""
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "لا هوية"
+msgstr "لا هوية."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 msgid "Profile design"
@@ -3858,19 +3847,19 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "مشكلة أثناء حفظ الإشعار."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "آر تي @%1$s %2$s"
 
 #: classes/User.php:368
 #, php-format
@@ -3922,128 +3911,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "صفحة غير مُعنونة"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "الرئيسية"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "الملف الشخصي ومسار الأصدقاء الزمني"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "الحساب"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "اتصل"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "غيّر ضبط الموقع"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "ادعُ"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "اخرج"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "اخرج من الموقع"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "أنشئ حسابًا"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "لُج إلى الموقع"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "مساعدة"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "ساعدني!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "ابحث"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "ابحث عن أشخاص أو نص"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "إشعار الموقع"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "المشاهدات المحلية"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "إشعار الصفحة"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "عن"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "الأسئلة المكررة"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "الشروط"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "خصوصية"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "المصدر"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "اتصل"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4052,12 +4041,12 @@ msgstr ""
 "**%%site.name%%** خدمة تدوين مصغر يقدمها لك [%%site.broughtby%%](%%site."
 "broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4068,31 +4057,31 @@ msgstr ""
 "المتوفر تحت [رخصة غنو أفيرو العمومية](http://www.fsf.org/licensing/licenses/"
 "agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "رخصة محتوى الموقع"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "الرخصة."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "بعد"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "قبل"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4144,6 +4133,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr "وسوم هذا المرفق"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "تغيير كلمة السر"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "تغيير كلمة السر"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "نتائج الأمر"
@@ -4237,19 +4236,17 @@ msgid "Cannot repeat your own notice"
 msgstr ""
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "احذف هذا الإشعار"
+msgstr "كرر بالفعل هذا الإشعار"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Ø£Ù\8fرسÙ\84 Ø§Ù\84إشعار"
+msgstr "اÙ\84إشعار Ù\85Ù\86 %s Ù\85Ù\83رر"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "خطأ Ø£Ø«Ù\86اء Ø­Ù\81ظ الإشعار."
+msgstr "خطأ ØªÙ\83رار الإشعار."
 
 #: lib/command.php:491
 #, php-format
@@ -4308,9 +4305,9 @@ msgid "Login command is disabled"
 msgstr ""
 
 #: lib/command.php:664
-#, fuzzy, php-format
+#, php-format
 msgid "Could not create login token for %s"
-msgstr "تعذّر إنشاء الكنى."
+msgstr "لم يمكن إنشاء توكن الولوج ل%s"
 
 #: lib/command.php:669
 #, php-format
@@ -4608,11 +4605,11 @@ msgstr "نوع ملف غير معروف"
 
 #: lib/imagefile.php:217
 msgid "MB"
-msgstr ""
+msgstr "ميجابايت"
 
 #: lib/imagefile.php:219
 msgid "kB"
-msgstr ""
+msgstr "كيلوبايت"
 
 #: lib/jabber.php:191
 #, php-format
@@ -4791,12 +4788,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4821,7 +4818,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "من"
 
@@ -4885,73 +4882,75 @@ msgstr "أرسل إشعارًا مباشرًا"
 msgid "To"
 msgstr "إلى"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "المحارف المتوفرة"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "أرسل إشعارًا"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "ما الأخبار يا %s؟"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "أرفق"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "أرفق ملفًا"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "ش"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "ج"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "ر"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "غ"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "في"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "في السياق"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "أنشئ"
+msgstr "مكرر بواسطة"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "رُد على هذا الإشعار"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "رُد"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Ø­Ù\8fØ°Ù\81 Ø§Ù\84إشعار."
+msgstr "اÙ\84إشعار Ù\85Ù\83رر"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5051,9 +5050,8 @@ msgid "All groups"
 msgstr "كل المجموعات"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "لا مُدخل هوية."
+msgstr "لا مدخلات رجوع إلى."
 
 #: lib/profileformaction.php:137
 msgid "Unimplemented method."
@@ -5079,24 +5077,21 @@ msgstr "مُختارون"
 msgid "Popular"
 msgstr "مشهورة"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat this notice"
-msgstr "رُد على هذا الإشعار"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "كرر هذا الإشعار؟"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "أعد الضبط"
+msgid "Repeat this notice"
+msgstr "كرر هذا الإشعار"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
 msgstr ""
 
 #: lib/sandboxform.php:78
-#, fuzzy
 msgid "Sandbox this user"
-msgstr "ألغِ منع هذا المستخدم"
+msgstr "أضف هذا المستخدم إلى صندوق الرمل"
 
 #: lib/searchaction.php:120
 msgid "Search site"
@@ -5174,14 +5169,12 @@ msgid "Could not subscribe other to you."
 msgstr ""
 
 #: lib/subs.php:128
-#, fuzzy
 msgid "Not subscribed!"
-msgstr "لست مُشتركًا!"
+msgstr "غير مشترك!"
 
 #: lib/subs.php:133
-#, fuzzy
 msgid "Couldn't delete self-subscription."
-msgstr "تعذّر حذف الاشتراك."
+msgstr "لم يمكن حذف اشتراك ذاتي."
 
 #: lib/subs.php:146
 msgid "Couldn't delete subscription."
@@ -5214,9 +5207,8 @@ msgid "Unsandbox"
 msgstr ""
 
 #: lib/unsandboxform.php:80
-#, fuzzy
 msgid "Unsandbox this user"
-msgstr "ألغِ منع هذا المستخدم"
+msgstr "أزل هذا المستخدم من صندوق الرمل"
 
 #: lib/unsilenceform.php:67
 msgid "Unsilence"
@@ -5262,47 +5254,47 @@ msgstr "رسالة"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "قبل لحظات قليلة"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "قبل دقيقة تقريبًا"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "قبل ساعة تقريبًا"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "قبل يوم تقريبا"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "قبل شهر تقريبًا"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "قبل سنة تقريبًا"
 
index e37883215f3970baae5899f587460ec3aaeb4aff..26d2f4ffca9f185f26c8d4d5b97f76f974dcdfaf 100644 (file)
@@ -8,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:51:46+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:34+0000\n"
 "Language-Team: Egyptian Spoken Arabic\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: arz\n"
 "X-Message-Group: out-statusnet\n"
@@ -120,9 +120,8 @@ msgstr ""
 #: actions/apiaccountupdateprofile.php:97
 #: actions/apiaccountupdateprofilebackgroundimage.php:94
 #: actions/apiaccountupdateprofilecolors.php:118
-#, fuzzy
 msgid "API method not found."
-msgstr "لم يوجد رمز التأكيد."
+msgstr "لم يتم العثور على وسيله API."
 
 #: actions/apiaccountupdatedeliverydevice.php:85
 #: actions/apiaccountupdateprofile.php:89
@@ -158,9 +157,8 @@ msgid "User has no profile."
 msgstr "ليس للمستخدم ملف شخصى."
 
 #: actions/apiaccountupdateprofile.php:147
-#, fuzzy
 msgid "Could not save profile."
-msgstr "تعذّر حفظ الملف الشخصى."
+msgstr "لم يمكن حفظ الملف."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:97
@@ -186,15 +184,14 @@ msgid "Could not update your design."
 msgstr "تعذّر تحديث تصميمك."
 
 #: actions/apiblockcreate.php:105
-#, fuzzy
 msgid "You cannot block yourself!"
-msgstr "لا يمكنك حذف المستخدمين."
+msgstr "لا يمكنك منع نفسك!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "فشل منع المستخدم."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "فشل إلغاء منع المستخدم."
 
@@ -306,31 +303,31 @@ msgid "Could not find target user."
 msgstr "تعذّر إيجاد المستخدم الهدف."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr ""
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "ليس اسمًا مستعارًا صحيحًا."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "الصفحه الرئيسيه ليست عنونًا صالحًا."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)"
@@ -341,7 +338,7 @@ msgid "Description is too long (max %d chars)."
 msgstr ""
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr ""
@@ -431,14 +428,12 @@ msgid "No such notice."
 msgstr "لا إشعار كهذا."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 Ø¥Ø³Ù\83ات Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ø¹Ù\84Ù\89 Ù\87ذا Ø§Ù\84Ù\85Ù\88Ù\82ع."
+msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 ØªÙ\83رار Ù\85Ù\84Ø­Ù\88ظتÙ\83 Ø§Ù\84خاصÙ\87."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "احذف هذا الإشعار"
+msgstr "كرر بالفعل هذه الملاحظه."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -458,7 +453,7 @@ msgstr ""
 msgid "Not found"
 msgstr "لم يوجد"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -515,14 +510,14 @@ msgid "Repeated by %s"
 msgstr ""
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "الردود على %s"
+msgstr "كرر إلى %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "اÙ\84ردÙ\88د Ø¹Ù\84Ù\89 %s"
+msgstr "تÙ\83رارات %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -587,7 +582,7 @@ msgid "Preview"
 msgstr "عاين"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "احذف"
 
@@ -600,13 +595,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -668,6 +663,7 @@ msgstr "لا تمنع هذا المستخدم"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "نعم"
 
@@ -675,7 +671,7 @@ msgstr "نعم"
 msgid "Block this user"
 msgstr "امنع هذا المستخدم"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "فشل حفظ معلومات المنع."
 
@@ -747,7 +743,7 @@ msgstr ""
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "تعذّر تحديث المستخدم."
@@ -807,7 +803,7 @@ msgstr "أمتأكد من أنك تريد حذف هذا الإشعار؟"
 msgid "Do not delete this notice"
 msgstr "لا تحذف هذا الإشعار"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "احذف هذا الإشعار"
 
@@ -941,8 +937,8 @@ msgstr "ارجع إلى المبدئي"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1110,7 +1106,7 @@ msgstr "لا عنوان بريد إلكترونى."
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "ليس عنوان بريد صالح"
 
@@ -1235,28 +1231,24 @@ msgstr "مستخدمون مختارون، صفحه %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "قسم للمستخدمين المتميزين على %s"
+msgid "A selection of some great users on %s"
+msgstr "اختيار لبعض المستخدمين المتميزين على %s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Ù\84ا Ø¥Ø´Ø¹Ø§Ø±"
+msgstr "Ù\84ا Ø±Ù\82Ù\85 Ù\85Ù\84احظÙ\87."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "لا إشعار"
+msgstr "لا ملاحظه."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "لا مرفقات"
+msgstr "لا مرفقات."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "لا مرفقات مرفوعة"
+msgstr "لا مرفقات مرفوعه."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1427,7 +1419,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr "قائمه بمستخدمى هذه المجموعه."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "إداري"
 
@@ -1514,7 +1506,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "المستخدم ليس ممنوعًا من المجموعه."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "خطأ أثناء منع الحجب."
 
@@ -1683,7 +1675,7 @@ msgstr "رساله شخصية"
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "أرسل"
 
@@ -1779,7 +1771,7 @@ msgstr "اسم المستخدم أو كلمه السر غير صحيحان."
 msgid "Error setting user. You are probably not authorized."
 msgstr "خطأ أثناء ضبط المستخدم. لست مُصرحًا على الأرجح."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "لُج"
@@ -1886,7 +1878,7 @@ msgstr "أُرسلت الرسالة"
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "خطأ أجاكس"
 
@@ -1894,7 +1886,7 @@ msgstr "خطأ أجاكس"
 msgid "New notice"
 msgstr "إشعار جديد"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "أُرسل الإشعار"
 
@@ -2116,76 +2108,112 @@ msgstr "لا يمكن الكتابه فى دليل الخلفيات: %s"
 msgid "Locales directory not readable: %s"
 msgstr "لا يمكن قراءه دليل المحليات: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "الموقع"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "المسار"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "مسار الموقع"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "مسار المحليات"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "مسار دليل المحليات"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "السمة"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "خادوم السمات"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "مسار السمات"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "دليل السمات"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "أفتارات"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "خادوم الأفتارات"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "مسار الأفتارات"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "دليل الأفتار."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "خلفيات"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "خادوم الخلفيات"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "مسار الخلفيات"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "دليل الخلفيات"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "مطلقا"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "أحيانًا"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "دائمًا"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "استخدم SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "خادوم SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "احفظ المسارات"
 
@@ -2275,69 +2303,77 @@ msgstr "الموقع"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "الوسوم"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "اللغة"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "اللغه المفضلة"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "المنطقه الزمنية"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "ما المنطقه الزمنيه التى تتواجد فيها عادة؟"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr ""
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "لم تُختر المنطقه الزمنيه."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "وسم غير صالح: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "لم يمكن حفظ تفضيلات الموقع."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "تعذّر حفظ الملف الشخصى."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "تعذّر حفظ الوسوم."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "حُفظت الإعدادات."
 
@@ -2436,7 +2472,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "سحابه الوسوم"
 
@@ -2572,7 +2608,7 @@ msgstr "عذرا، رمز دعوه غير صالح."
 msgid "Registration successful"
 msgstr "نجح التسجيل"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "سجّل"
@@ -2616,7 +2652,7 @@ msgid "Same as password above. Required."
 msgstr "نفس كلمه السر أعلاه. مطلوب."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "البريد الإلكتروني"
 
@@ -2725,29 +2761,24 @@ msgid "Only logged-in users can repeat notices."
 msgstr ""
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "لا ملف شخصى مُحدّد."
+msgstr "لا ملاحظه محدده."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 Ø¥Ø³Ù\83ات Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ø¹Ù\84Ù\89 Ù\87ذا Ø§Ù\84Ù\85Ù\88Ù\82ع."
+msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 ØªÙ\83رار Ù\85Ù\84احظتÙ\83 Ø§Ù\84شخصÙ\8aÙ\87."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "لقد منعت مسبقا هذا المستخدم."
+msgstr "أنت كررت هذه الملاحظه بالفعل."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "أنشئ"
+msgstr "مكرر"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "أنشئ"
+msgstr "مكرر!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -3052,9 +3083,9 @@ msgid ""
 msgstr ""
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "اÙ\84ردÙ\88د Ø¹Ù\84Ù\89 %s"
+msgstr "تÙ\83رارات %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
@@ -3068,233 +3099,192 @@ msgstr "المستخدم مسكت من قبل."
 msgid "Basic settings for this StatusNet site."
 msgstr "الإعدادات الأساسيه لموقع StatusNet هذا."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "يجب ألا يكون طول اسم الموقع صفرًا."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "يجب أن تملك عنوان بريد إلكترونى صالح للاتصال"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "لغه غير معروفه \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "حد النص الأدنى هو 140 حرفًا."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "عام"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "اسم الموقع"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "اسم موقعك، \"التدوين المصغر لشركتك\" مثلا"
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "عنوان البريد الإلكترونى للاتصال بموقعك"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "محلي"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "المنطقه الزمنيه المبدئية"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "المنطقه الزمنيه المبدئيه للموقع؛ ت‌ع‌م عاده."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "لغه الموقع المبدئية"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "مسارات"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "خادوم"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "اسم مضيف خادوم الموقع."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "مسارات فاخرة"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "أأستخدم مسارات فاخره (يمكن قراءتها وتذكرها بسهوله أكبر)؟"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "نفاذ"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "خاص"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "أأمنع المستخدمين المجهولين (غير الوالجين) من عرض الموقع؟"
 
-#: actions/siteadminpanel.php:340
-#, fuzzy
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
-msgstr "ادعÙ\8f"
+msgstr "باÙ\84دعÙ\88Ù\87 Ù\81Ù\82Ø·"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "مُغلق"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "عطّل التسجيل الجديد."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "فى مهمه مُجدولة"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "مطلقا"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "التكرار"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "بلّغ عن المسار"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "أحيانًا"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "دائمًا"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "استخدم SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "خادوم SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "الحدود"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "حد النص"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "أقصى عدد للحروف فى الإشعارات."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "اذف إعدادت الموقع"
 
@@ -3506,9 +3496,8 @@ msgid "Notice feed for tag %s (Atom)"
 msgstr ""
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
-msgstr "لا مُدخل هويه."
+msgstr "لا مدخل هويه."
 
 #: actions/tagother.php:65
 #, php-format
@@ -3525,7 +3514,7 @@ msgstr "صورة"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "اوسم المستخدم"
 
 #: actions/tagother.php:151
 msgid ""
@@ -3559,9 +3548,8 @@ msgid "You haven't blocked that user."
 msgstr "لم تمنع هذا المستخدم."
 
 #: actions/unsandbox.php:72
-#, fuzzy
 msgid "User is not sandboxed."
-msgstr "ليس للمستخدم إشعار أخير"
+msgstr "المستخدم ليس فى صندوق الرمل."
 
 #: actions/unsilence.php:72
 msgid "User is not silenced."
@@ -3765,9 +3753,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr ""
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "لا هوية"
+msgstr "لا هويه."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 msgid "Profile design"
@@ -3859,19 +3846,19 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "مشكله أثناء حفظ الإشعار."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "آر تى @%1$s %2$s"
 
 #: classes/User.php:368
 #, php-format
@@ -3923,128 +3910,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "صفحه غير مُعنونة"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "الرئيسية"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "الملف الشخصى ومسار الأصدقاء الزمني"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "الحساب"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "اتصل"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "غيّر ضبط الموقع"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "ادعُ"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "اخرج"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "اخرج من الموقع"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "أنشئ حسابًا"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "لُج إلى الموقع"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "مساعدة"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "ساعدني!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "ابحث"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "ابحث عن أشخاص أو نص"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "إشعار الموقع"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "المشاهدات المحلية"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "إشعار الصفحة"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "عن"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "الأسئله المكررة"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "الشروط"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "خصوصية"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "المصدر"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "اتصل"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4053,12 +4040,12 @@ msgstr ""
 "**%%site.name%%** خدمه تدوين مصغر يقدمها لك [%%site.broughtby%%](%%site."
 "broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4069,31 +4056,31 @@ msgstr ""
 "المتوفر تحت [رخصه غنو أفيرو العمومية](http://www.fsf.org/licensing/licenses/"
 "agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "رخصه محتوى الموقع"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "الرخصه."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "بعد"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "قبل"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4145,6 +4132,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr "وسوم هذا المرفق"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "تغيير كلمه السر"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "تغيير كلمه السر"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "نتائج الأمر"
@@ -4238,19 +4235,17 @@ msgid "Cannot repeat your own notice"
 msgstr ""
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "احذف هذا الإشعار"
+msgstr "كرر بالفعل هذا الإشعار"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Ø£Ù\8fرسÙ\84 Ø§Ù\84إشعار"
+msgstr "اÙ\84إشعار Ù\85Ù\86 %s Ù\85Ù\83رر"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "خطأ Ø£Ø«Ù\86اء Ø­Ù\81ظ الإشعار."
+msgstr "خطأ ØªÙ\83رار الإشعار."
 
 #: lib/command.php:491
 #, php-format
@@ -4311,7 +4306,7 @@ msgstr ""
 #: lib/command.php:664
 #, php-format
 msgid "Could not create login token for %s"
-msgstr ""
+msgstr "لم يمكن إنشاء توكن الولوج ل%s"
 
 #: lib/command.php:669
 #, php-format
@@ -4609,11 +4604,11 @@ msgstr "نوع ملف غير معروف"
 
 #: lib/imagefile.php:217
 msgid "MB"
-msgstr ""
+msgstr "ميجابايت"
 
 #: lib/imagefile.php:219
 msgid "kB"
-msgstr ""
+msgstr "كيلوبايت"
 
 #: lib/jabber.php:191
 #, php-format
@@ -4792,12 +4787,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4822,7 +4817,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "من"
 
@@ -4886,73 +4881,75 @@ msgstr "أرسل إشعارًا مباشرًا"
 msgid "To"
 msgstr "إلى"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "المحارف المتوفرة"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "أرسل إشعارًا"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "ما الأخبار يا %s؟"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "أرفق"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "أرفق ملفًا"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "ش"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "ج"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "ر"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "غ"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "في"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "فى السياق"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "أنشئ"
+msgstr "مكرر بواسطة"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "رُد على هذا الإشعار"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "رُد"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Ø­Ù\8fØ°Ù\81 Ø§Ù\84إشعار."
+msgstr "اÙ\84إشعار Ù\85Ù\83رر"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5052,9 +5049,8 @@ msgid "All groups"
 msgstr "كل المجموعات"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "لا مُدخل هويه."
+msgstr "لا مدخلات رجوع إلى."
 
 #: lib/profileformaction.php:137
 msgid "Unimplemented method."
@@ -5080,24 +5076,21 @@ msgstr "مُختارون"
 msgid "Popular"
 msgstr "مشهورة"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat this notice"
-msgstr "رُد على هذا الإشعار"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "كرر هذا الإشعار؟"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "أعد الضبط"
+msgid "Repeat this notice"
+msgstr "كرر هذا الإشعار"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
 msgstr ""
 
 #: lib/sandboxform.php:78
-#, fuzzy
 msgid "Sandbox this user"
-msgstr "ألغِ منع هذا المستخدم"
+msgstr "أضف هذا المستخدم إلى صندوق الرمل"
 
 #: lib/searchaction.php:120
 msgid "Search site"
@@ -5175,14 +5168,12 @@ msgid "Could not subscribe other to you."
 msgstr ""
 
 #: lib/subs.php:128
-#, fuzzy
 msgid "Not subscribed!"
-msgstr "لست مُشتركًا!"
+msgstr "غير مشترك!"
 
 #: lib/subs.php:133
-#, fuzzy
 msgid "Couldn't delete self-subscription."
-msgstr "تعذّر حذف الاشتراك."
+msgstr "لم يمكن حذف اشتراك ذاتى."
 
 #: lib/subs.php:146
 msgid "Couldn't delete subscription."
@@ -5215,9 +5206,8 @@ msgid "Unsandbox"
 msgstr ""
 
 #: lib/unsandboxform.php:80
-#, fuzzy
 msgid "Unsandbox this user"
-msgstr "ألغِ منع هذا المستخدم"
+msgstr "أزل هذا المستخدم من صندوق الرمل"
 
 #: lib/unsilenceform.php:67
 msgid "Unsilence"
@@ -5263,47 +5253,47 @@ msgstr "رسالة"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "قبل لحظات قليلة"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "قبل دقيقه تقريبًا"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "قبل ساعه تقريبًا"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "قبل يوم تقريبا"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "قبل شهر تقريبًا"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "قبل سنه تقريبًا"
 
index 8ca44327dd238237d66b10da4c4696f38b48a01b..cf881f17b657cb3bf1956a720bc92b9c998aa3fc 100644 (file)
@@ -1,5 +1,6 @@
 # Translation of StatusNet to Bulgarian
 #
+# Author@translatewiki.net: DCLXVI
 # Author@translatewiki.net: Turin
 # --
 # This file is distributed under the same license as the StatusNet package.
@@ -8,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:51:49+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:40+0000\n"
 "Language-Team: Bulgarian\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: bg\n"
 "X-Message-Group: out-statusnet\n"
@@ -185,17 +186,16 @@ msgid "Could not update your design."
 msgstr "Грешка при обновяване на потребителя."
 
 #: actions/apiblockcreate.php:105
-#, fuzzy
 msgid "You cannot block yourself!"
-msgstr "Не можете да спрете да следите себе си!"
+msgstr "Не можете да блокирате себе си!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
-msgstr ""
+msgstr "Грешка при блокиране на потребителя."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
-msgstr ""
+msgstr "Грешка при разблокиране на потребителя."
 
 #: actions/apidirectmessage.php:89
 #, php-format
@@ -304,12 +304,11 @@ msgid "Could not determine source user."
 msgstr "Грешка при изтегляне на общия поток"
 
 #: actions/apifriendshipsshow.php:143
-#, fuzzy
 msgid "Could not find target user."
-msgstr "Ð\9dе Ñ\81а Ð¾Ñ\82кÑ\80иÑ\82и Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸."
+msgstr "ЦелевиÑ\8fÑ\82 Ð¿Ð¾Ñ\82Ñ\80ебиÑ\82ел Ð½Ðµ Ð±ÐµÑ\88е Ð¾Ñ\82кÑ\80иÑ\82."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -317,25 +316,25 @@ msgstr ""
 "между тях."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Опитайте друг псевдоним, този вече е зает."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Неправилен псевдоним."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Адресът на личната страница не е правилен URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Пълното име е твърде дълго (макс. 255 знака)"
@@ -346,7 +345,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Описанието е твърде дълго (до %d символа)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Името на местоположението е твърде дълго (макс. 255 знака)."
@@ -418,9 +417,9 @@ msgid "%s groups"
 msgstr "Групи на %s"
 
 #: actions/apigrouplistall.php:94
-#, fuzzy, php-format
+#, php-format
 msgid "groups on %s"
-msgstr "ТÑ\8aÑ\80Ñ\81ене Ð½Ð° Ð³Ñ\80Ñ\83пи Ð² Ñ\81айÑ\82а"
+msgstr "гÑ\80Ñ\83пи Ð² %s"
 
 #: actions/apistatusesdestroy.php:107
 msgid "This method requires a POST or DELETE."
@@ -436,14 +435,12 @@ msgid "No such notice."
 msgstr "Няма такава бележка."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ð²ÐºÐ»Ñ\8eÑ\87ване Ð½Ð° Ñ\83ведомлениеÑ\82о."
+msgstr "Ð\9dе Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð° Ð¿Ð¾Ð²Ñ\82аÑ\80Ñ\8fÑ\82е Ñ\81обÑ\81Ñ\82вени Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "Ð\98зÑ\82Ñ\80иване Ð½Ð° Ð±ÐµÐ»ÐµÐ¶ÐºÐ°Ñ\82а"
+msgstr "Ð\92еÑ\87е Ñ\81Ñ\82е Ð¿Ð¾Ð²Ñ\82оÑ\80или Ñ\82ази Ð±ÐµÐ»ÐµÐ¶ÐºÐ°."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -463,7 +460,7 @@ msgstr "Твърде дълга бележка. Трябва да е най-мн
 msgid "Not found"
 msgstr "Не е открито."
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -517,17 +514,17 @@ msgstr ""
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Повторено от %s"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "Ð\9eÑ\82говоÑ\80и Ð½а %s"
+msgstr "Ð\9fовÑ\82оÑ\80ено Ð·а %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "Ð\9eÑ\82говоÑ\80и на %s"
+msgstr "Ð\9fовÑ\82оÑ\80ениÑ\8f на %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -567,9 +564,10 @@ msgid "Avatar"
 msgstr "Аватар"
 
 #: actions/avatarsettings.php:78
-#, fuzzy, php-format
+#, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
-msgstr "Можете да качите личен аватар тук."
+msgstr ""
+"Можете да качите личен аватар тук. Максималната големина на файла е %s."
 
 #: actions/avatarsettings.php:106 actions/avatarsettings.php:185
 #: actions/grouplogo.php:178 actions/remotesubscribe.php:191
@@ -593,7 +591,7 @@ msgid "Preview"
 msgstr "Преглед"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Изтриване"
 
@@ -606,13 +604,13 @@ msgid "Crop"
 msgstr "Изрязване"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -649,7 +647,6 @@ msgid "Avatar deleted."
 msgstr "Аватарът е изтрит."
 
 #: actions/block.php:69
-#, fuzzy
 msgid "You already blocked that user."
 msgstr "Вече сте блокирали този потребител."
 
@@ -670,12 +667,12 @@ msgid "No"
 msgstr "Не"
 
 #: actions/block.php:143 actions/deleteuser.php:147
-#, fuzzy
 msgid "Do not block this user"
-msgstr "РазблокиÑ\80ане Ð½а този потребител"
+msgstr "Ð\94а Ð½Ðµ Ñ\81е Ð±Ð»Ð¾ÐºÐ¸Ñ\80а този потребител"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Да"
 
@@ -683,7 +680,7 @@ msgstr "Да"
 msgid "Block this user"
 msgstr "Блокиране на потребителя"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Грешка при записване данните за блокирането."
 
@@ -702,14 +699,14 @@ msgid "No such group"
 msgstr "Няма такава група."
 
 #: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles"
-msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\81ки Ð¿Ñ\80оÑ\84ил"
+msgstr "Ð\91локиÑ\80ани Ð·Ð° %s"
 
 #: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles, page %d"
-msgstr "%s и приятели, страница %d"
+msgstr "Блокирани за %s, страница %d"
 
 #: actions/blockedfromgroup.php:108
 #, fuzzy
@@ -717,9 +714,8 @@ msgid "A list of the users blocked from joining this group."
 msgstr "Списък с потребителите в тази група."
 
 #: actions/blockedfromgroup.php:281
-#, fuzzy
 msgid "Unblock user from group"
-msgstr "Разблокиране на този потребител"
+msgstr "Разблокиране на потребителя от групата"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:69
 msgid "Unblock"
@@ -758,7 +754,7 @@ msgstr "Този адрес е вече потвърден."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Грешка при обновяване на потребителя."
@@ -801,7 +797,6 @@ msgid "Can't delete this notice."
 msgstr "Грешка при изтриване на бележката."
 
 #: actions/deletenotice.php:103
-#, fuzzy
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -819,7 +814,7 @@ msgstr "Наистина ли искате да изтриете тази бел
 msgid "Do not delete this notice"
 msgstr "Да не се изтрива бележката"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Изтриване на бележката"
 
@@ -874,9 +869,8 @@ msgid "Change logo"
 msgstr "Смяна на логото"
 
 #: actions/designadminpanel.php:380
-#, fuzzy
 msgid "Site logo"
-msgstr "Ð\9fокани"
+msgstr "Ð\9bого Ð½Ð° Ñ\81айÑ\82а"
 
 #: actions/designadminpanel.php:387
 #, fuzzy
@@ -960,8 +954,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -987,7 +981,7 @@ msgstr "Няма такъв документ."
 #: actions/editgroup.php:56
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "Редактиране на групата %s"
 
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
@@ -1133,7 +1127,7 @@ msgstr "Не е въведена е-поща."
 msgid "Cannot normalize that email address"
 msgstr "Грешка при нормализиране адреса на е-пощата"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Това не е правилен адрес на е-поща."
 
@@ -1262,23 +1256,20 @@ msgstr "Избрани потребители, страница %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Ð\9dова Ð±ÐµÐ»ÐµÐ¶ÐºÐ°"
+msgstr "Ð\9bипÑ\81ва ID Ð½Ð° Ð±ÐµÐ»ÐµÐ¶ÐºÐ°."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Ð\9dова Ð±ÐµÐ»ÐµÐ¶ÐºÐ°"
+msgstr "Ð\9bипÑ\81ва Ð±ÐµÐ»ÐµÐ¶ÐºÐ°."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Няма такъв документ."
+msgstr "Няма прикачени файлове."
 
 #: actions/file.php:51
 #, fuzzy
@@ -1333,9 +1324,8 @@ msgid "No such file."
 msgstr "Няма такъв файл."
 
 #: actions/getfile.php:79
-#, fuzzy
 msgid "Cannot read file."
-msgstr "Ð\9dÑ\8fма Ñ\82акава Ð±ÐµÐ»ÐµÐ¶Ðºа."
+msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ñ\87еÑ\82ене Ð½Ð° Ñ\84айла."
 
 #: actions/groupblock.php:71 actions/groupunblock.php:71
 #: actions/makeadmin.php:71 actions/subedit.php:46
@@ -1356,17 +1346,15 @@ msgstr "Не е указана група."
 
 #: actions/groupblock.php:91
 msgid "Only an admin can block group members."
-msgstr ""
+msgstr "Само администратор може да блокира членове от групата."
 
 #: actions/groupblock.php:95
-#, fuzzy
 msgid "User is already blocked from group."
-msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 Ð²Ð¸ Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ\80ал."
+msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 Ð²ÐµÑ\87е Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ\80ан Ð·Ð° Ð³Ñ\80Ñ\83паÑ\82а."
 
 #: actions/groupblock.php:100
-#, fuzzy
 msgid "User is not a member of group."
-msgstr "Ð\9dе Ñ\87ленÑ\83ваÑ\82е Ð² Ñ\82ази Ð³Ñ\80Ñ\83па."
+msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 Ð½Ðµ Ñ\87ленÑ\83ва Ð² Ð³Ñ\80Ñ\83паÑ\82а."
 
 #: actions/groupblock.php:136 actions/groupmembers.php:314
 #, fuzzy
@@ -1458,18 +1446,18 @@ msgstr "Неуспешно обновяване на логото."
 #: actions/groupmembers.php:93 lib/groupnav.php:92
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "Членове на групата %s"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "Членове на групата %s, страница %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
 msgstr "Списък с потребителите в тази група."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Настройки"
 
@@ -1560,7 +1548,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "Потребителят ви е блокирал."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "Грешка при запазване на потребител."
@@ -1743,7 +1731,7 @@ msgstr "Лично съобщение"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Може да добавите и лично съобщение към поканата."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Прати"
 
@@ -1868,7 +1856,7 @@ msgstr "Грешно име или парола."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Забранено."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Вход"
@@ -1981,7 +1969,7 @@ msgstr "Съобщението е изпратено"
 msgid "Direct message to %s sent"
 msgstr "Прякото съобщение до %s е изпратено."
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Грешка в Ajax"
 
@@ -1989,7 +1977,7 @@ msgstr "Грешка в Ajax"
 msgid "New notice"
 msgstr "Нова бележка"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Бележката е публикувана"
 
@@ -2026,14 +2014,14 @@ msgid ""
 msgstr ""
 
 #: actions/noticesearchrss.php:96
-#, fuzzy, php-format
+#, php-format
 msgid "Updates with \"%s\""
-msgstr "Бележки от %1$s в %2$s."
+msgstr "Бележки, съдържащи \"%s\""
 
 #: actions/noticesearchrss.php:98
-#, fuzzy, php-format
+#, php-format
 msgid "Updates matching search term \"%1$s\" on %2$s!"
-msgstr "Ð\92Ñ\81иÑ\87ки Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸, Ð½Ð°Ð¼ÐµÑ\80ени Ñ\81 \"%s\""
+msgstr "Ð\91ележки, Ñ\81Ñ\8aдÑ\8aÑ\80жаÑ\89и Ñ\82Ñ\8aÑ\80Ñ\81еноÑ\82о \"%1$s\" Ð² %2$s!"
 
 #: actions/nudge.php:85
 msgid ""
@@ -2058,13 +2046,12 @@ msgid "%1$s's status on %2$s"
 msgstr "Бележка на %1$s от %2$s"
 
 #: actions/oembed.php:157
-#, fuzzy
 msgid "content type "
-msgstr "СвÑ\8aÑ\80зване"
+msgstr "вид Ñ\81Ñ\8aдÑ\8aÑ\80жание "
 
 #: actions/oembed.php:160
 msgid "Only "
-msgstr ""
+msgstr "Само "
 
 #: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
 #: lib/api.php:1059 lib/api.php:1169
@@ -2093,7 +2080,7 @@ msgstr ""
 
 #: actions/othersettings.php:116
 msgid "Shorten URLs with"
-msgstr ""
+msgstr "Съкращаване на адресите с"
 
 #: actions/othersettings.php:117
 msgid "Automatic shortening service to use."
@@ -2190,11 +2177,11 @@ msgstr "Паролата е записана."
 
 #: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:308
 msgid "Paths"
-msgstr ""
+msgstr "Пътища"
 
 #: actions/pathsadminpanel.php:70
 msgid "Path and server settings for this StatusNet site."
-msgstr ""
+msgstr "Пътища и сървърни настройки за тази инсталация на StatusNet."
 
 #: actions/pathsadminpanel.php:140
 #, fuzzy, php-format
@@ -2216,84 +2203,114 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
-#, fuzzy
 msgid "Site"
-msgstr "Ð\9fокани"
+msgstr "СайÑ\82"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
-msgstr ""
+msgstr "Път"
 
-#: actions/pathsadminpanel.php:216
-#, fuzzy
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
-msgstr "Ð\9dова Ð±ÐµÐ»ÐµÐ¶Ðºа"
+msgstr "Ð\9fÑ\8aÑ\82 Ð´Ð¾ Ñ\81айÑ\82а"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Аватари"
 
-#: actions/pathsadminpanel.php:252
-#, fuzzy
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
-msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойки Ð·Ð° Ð°Ð²Ð°Ñ\82аÑ\80"
+msgstr "СÑ\8aÑ\80вÑ\8aÑ\80 Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80а"
 
-#: actions/pathsadminpanel.php:256
-#, fuzzy
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
-msgstr "Ð\90ваÑ\82аÑ\80Ñ\8aÑ\82 Ðµ Ð¾Ð±Ð½Ð¾Ð²ÐµÐ½."
+msgstr "Ð\9fÑ\8aÑ\82 Ð´Ð¾ Ð°Ð²Ð°Ñ\82аÑ\80а"
 
-#: actions/pathsadminpanel.php:260
-#, fuzzy
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
-msgstr "Ð\90ваÑ\82аÑ\80Ñ\8aÑ\82 Ðµ Ð¾Ð±Ð½Ð¾Ð²ÐµÐ½."
+msgstr "Ð\94иÑ\80екÑ\82оÑ\80иÑ\8f Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80а"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
-msgstr ""
+msgstr "Фонове"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
-msgstr ""
+msgstr "Сървър на фона"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
-msgstr ""
+msgstr "Път до фона"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
-msgstr ""
+msgstr "Директория на фона"
+
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Никога"
 
 #: actions/pathsadminpanel.php:297
-#, fuzzy
+msgid "Sometimes"
+msgstr "Понякога"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Винаги"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Използване на SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Кога да се използва SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-сървър"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
-msgstr "Ð\9dова Ð±ÐµÐ»ÐµÐ¶Ðºа"
+msgstr "Ð\97апазване Ð½Ð° Ð¿Ñ\8aÑ\82иÑ\89аÑ\82а"
 
 #: actions/peoplesearch.php:52
 #, php-format
@@ -2383,71 +2400,80 @@ msgstr "Местоположение"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Къде се намирате (град, община, държава и т.н.)"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Етикети"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Език"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Предпочитан език"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Часови пояс"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "В кой часови пояс сте обикновено?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Автоматично абониране за всеки, който се абонира за мен (подходящо за "
 "ботове)."
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Биографията е твърде дълга (до %d символа)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Не е избран часови пояс"
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Името на езика е твърде дълго (може да е до 50 знака)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Неправилен етикет: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Грешка при запазване етикетите."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Грешка при запазване на профила."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Грешка при запазване етикетите."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Настройките са запазени."
 
@@ -2541,7 +2567,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2680,7 +2706,7 @@ msgstr "Грешка в кода за потвърждение."
 msgid "Registration successful"
 msgstr "Записването е успешно."
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Регистриране"
@@ -2726,7 +2752,7 @@ msgid "Same as password above. Required."
 msgstr "Същото като паролата по-горе. Задължително поле."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Е-поща"
 
@@ -2744,7 +2770,7 @@ msgstr "Текстовете и файловите ми са достъпни п
 
 #: actions/register.php:495
 msgid "Creative Commons Attribution 3.0"
-msgstr ""
+msgstr "Криейтив Комънс Признание 3.0"
 
 #: actions/register.php:496
 #, fuzzy
@@ -2811,9 +2837,8 @@ msgid "Remote subscribe"
 msgstr "Отдалечен абонамент"
 
 #: actions/remotesubscribe.php:124
-#, fuzzy
 msgid "Subscribe to a remote user"
-msgstr "Абониране за този потребител"
+msgstr "Абониране за отдалечен потребител"
 
 #: actions/remotesubscribe.php:129
 msgid "User nickname"
@@ -2841,13 +2866,13 @@ msgid "Invalid profile URL (bad format)"
 msgstr "Неправилен адрес на профил (грешен формат)"
 
 #: actions/remotesubscribe.php:168
-#, fuzzy
 msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
-msgstr "Неправилен адрес на профил (няма YADIS документ)."
+msgstr ""
+"Неправилен адрес на профил (няма документ YADIS или XRDS е неправилен)."
 
 #: actions/remotesubscribe.php:176
 msgid "That’s a local profile! Login to subscribe."
-msgstr ""
+msgstr "Това е локален профил! Влезте, за да се абонирате."
 
 #: actions/remotesubscribe.php:183
 #, fuzzy
@@ -2855,34 +2880,28 @@ msgid "Couldn’t get a request token."
 msgstr "Не е получен token за одобрение."
 
 #: actions/repeat.php:57
-#, fuzzy
 msgid "Only logged-in users can repeat notices."
-msgstr "Само Ð¿Ð¾Ñ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð¾Ñ\82ваÑ\80Ñ\8f Ñ\81обÑ\81Ñ\82венаÑ\82а Ñ\81и ÐºÑ\83Ñ\82иÑ\8f."
+msgstr "Само Ð²Ð»ÐµÐ·Ð»Ð¸ Ð¿Ð¾Ñ\82Ñ\80ебиÑ\82ели Ð¼Ð¾Ð³Ð°Ñ\82 Ð´Ð° Ð¿Ð¾Ð²Ñ\82аÑ\80Ñ\8fÑ\82 Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸."
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "Не е указан профил."
+msgstr "Не е указана бележка."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "Не можете да се регистрате, ако не сте съгласни с  лиценза."
+msgstr "Не можете да повтаряте собствена бележка."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "Ð\92еÑ\87е Ñ\81Ñ\82е Ð±Ð»Ð¾ÐºÐ¸Ñ\80али Ñ\82ози Ð¿Ð¾Ñ\82Ñ\80ебиÑ\82ел."
+msgstr "Ð\92еÑ\87е Ñ\81Ñ\82е Ð¿Ð¾Ð²Ñ\82оÑ\80или Ñ\82ази Ð±ÐµÐ»ÐµÐ¶ÐºÐ°."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "СÑ\8aздаване"
+msgstr "Ð\9fовÑ\82оÑ\80ено"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "СÑ\8aздаване"
+msgstr "Ð\9fовÑ\82оÑ\80ено!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -2896,19 +2915,19 @@ msgid "Replies to %s, page %d"
 msgstr "Отговори на %s, страница %d"
 
 #: actions/replies.php:144
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (RSS 1.0)"
-msgstr "Ð\95миÑ\81иÑ\8f Ñ\81 Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ Ð½Ð° %s"
+msgstr "Ð\95миÑ\81иÑ\8f Ñ\81 Ð¾Ñ\82говоÑ\80и Ð½Ð° %s (RSS 1.0)"
 
 #: actions/replies.php:151
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (RSS 2.0)"
-msgstr "Ð\95миÑ\81иÑ\8f Ñ\81 Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ Ð½Ð° %s"
+msgstr "Ð\95миÑ\81иÑ\8f Ñ\81 Ð¾Ñ\82говоÑ\80и Ð½Ð° %s (RSS 2.0)"
 
 #: actions/replies.php:158
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (Atom)"
-msgstr "Ð\95миÑ\81иÑ\8f Ñ\81 Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ Ð½Ð° %s"
+msgstr "Ð\95миÑ\81иÑ\8f Ñ\81 Ð¾Ñ\82говоÑ\80и Ð½Ð° %s (Atom)"
 
 #: actions/replies.php:198
 #, php-format
@@ -2932,9 +2951,9 @@ msgid ""
 msgstr ""
 
 #: actions/repliesrss.php:72
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %1$s on %2$s!"
-msgstr "СÑ\8aобÑ\89ение Ð´Ð¾ %1$s Ð² %2$s"
+msgstr "Ð\9eÑ\82говоÑ\80и Ð´Ð¾ %1$s Ð² %2$s!"
 
 #: actions/sandbox.php:65 actions/unsandbox.php:65
 #, fuzzy
@@ -2947,7 +2966,7 @@ msgid "User is already sandboxed."
 msgstr "Потребителят ви е блокирал."
 
 #: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
 msgid "%s's favorite notices, page %d"
 msgstr "Любими бележки на %s, страница %d"
 
@@ -2993,17 +3012,17 @@ msgstr ""
 
 #: actions/showfavorites.php:242
 msgid "This is a way to share what you like."
-msgstr ""
+msgstr "Така можете да споделите какво харесвате."
 
 #: actions/showgroup.php:82 lib/groupnav.php:86
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "Група %s"
 
 #: actions/showgroup.php:84
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "Група %s, страница %d"
 
 #: actions/showgroup.php:218
 msgid "Group profile"
@@ -3066,9 +3085,8 @@ msgid "Statistics"
 msgstr "Статистики"
 
 #: actions/showgroup.php:432
-#, fuzzy
 msgid "Created"
-msgstr "СÑ\8aздаване"
+msgstr "СÑ\8aздадена Ð½Ð°"
 
 #: actions/showgroup.php:448
 #, php-format
@@ -3131,24 +3149,24 @@ msgid "Notice feed for %s tagged %s (RSS 1.0)"
 msgstr "Емисия с бележки на %s"
 
 #: actions/showstream.php:129
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (RSS 1.0)"
-msgstr "Емисия с бележки на %s"
+msgstr "Емисия с бележки на %s (RSS 1.0)"
 
 #: actions/showstream.php:136
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (RSS 2.0)"
-msgstr "Емисия с бележки на %s"
+msgstr "Емисия с бележки на %s (RSS 2.0)"
 
 #: actions/showstream.php:143
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (Atom)"
-msgstr "Емисия с бележки на %s"
+msgstr "Емисия с бележки на %s (Atom)"
 
 #: actions/showstream.php:148
-#, fuzzy, php-format
+#, php-format
 msgid "FOAF for %s"
-msgstr "Изходяща кутия за %s"
+msgstr "FOAF за %s"
 
 #: actions/showstream.php:191
 #, php-format
@@ -3191,9 +3209,8 @@ msgid "Repeat of %s"
 msgstr "Отговори на %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
-#, fuzzy
 msgid "You cannot silence users on this site."
-msgstr "Не може да изпращате съобщения до този потребител."
+msgstr "Не можете да заглушавате потребители на този сайт."
 
 #: actions/silence.php:72
 msgid "User is already silenced."
@@ -3201,242 +3218,197 @@ msgstr "Потребителят вече е заглушен."
 
 #: actions/siteadminpanel.php:69
 msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "Основни настройки на тази инсталация на StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "Името на сайта е задължително."
 
-#: actions/siteadminpanel.php:155
-#, fuzzy
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
-msgstr "Това Ð½Ðµ Ðµ Ð¿Ñ\80авилен Ð°Ð´Ñ\80еÑ\81 Ð½Ð° Ðµ-поÑ\89а."
+msgstr "Ð\90дÑ\80еÑ\81Ñ\8aÑ\82 Ð½Ð° Ðµ-поÑ\89а Ð·Ð° ÐºÐ¾Ð½Ñ\82акÑ\82 Ðµ Ð·Ð°Ð´Ñ\8aлжиÑ\82елен"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "Непознат език \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
-msgstr ""
+msgstr "Минималното ограничение на текста е 140 знака."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
-msgstr ""
+msgstr "Общи"
 
-#: actions/siteadminpanel.php:269
-#, fuzzy
+#: actions/siteadminpanel.php:256
 msgid "Site name"
-msgstr "Ð\9dова Ð±ÐµÐ»ÐµÐ¶Ðºа"
+msgstr "Ð\98ме Ð½Ð° Ñ\81айÑ\82а"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
-#, fuzzy
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
-msgstr "Ð\9dов Ð°Ð´Ñ\80еÑ\81 Ð½Ð° Ðµ-поÑ\89а Ð·Ð° Ð¿Ñ\83бликÑ\89Ñ\83ване Ð² %s"
+msgstr "Ð\90дÑ\80еÑ\81 Ð½Ð° Ðµ-поÑ\89а Ð·Ð° ÐºÐ¾Ð½Ñ\82акÑ\82 Ñ\81Ñ\8aÑ\81 Ñ\81айÑ\82а"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Местоположение"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
-msgstr ""
+msgstr "Часови пояс по подразбиране"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "Часови пояс по подразбиране за сайта (обикновено UTC)."
 
-#: actions/siteadminpanel.php:308
-#, fuzzy
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
-msgstr "Ð\9fÑ\80едпоÑ\87иÑ\82ан ÐµÐ·Ð¸Ðº"
+msgstr "Ð\95зик Ð¿Ð¾ Ð¿Ð¾Ð´Ñ\80азбиÑ\80ане Ð·Ð° Ñ\81айÑ\82а"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Сървър"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
-msgstr ""
+msgstr "Кратки URL-адреси"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Достъп"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Частен"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Само с покани"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Новите регистрации да са само с покани."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Затворен"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Изключване на новите регистрации."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Никога"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
-msgstr ""
+msgstr "Честота"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Понякога"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Винаги"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Използване на SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Кога да се използва SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "SSL-сървър"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Ограничения"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
-#, fuzzy
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
-msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойки Ð·Ð° Ð°Ð²Ð°Ñ\82аÑ\80"
+msgstr "Ð\97апазване Ð½Ð°Ñ\81Ñ\82Ñ\80ойкиÑ\82е Ð½Ð° Ñ\81айÑ\82а"
 
 #: actions/smssettings.php:58
 msgid "SMS Settings"
@@ -3549,9 +3521,8 @@ msgid "Could not save subscription."
 msgstr "Грешка при създаване на нов абонамент."
 
 #: actions/subscribe.php:55
-#, fuzzy
 msgid "Not a local user."
-msgstr "Няма такъв потребител"
+msgstr "Не е локален потребител."
 
 #: actions/subscribe.php:69
 #, fuzzy
@@ -3625,9 +3596,9 @@ msgid ""
 msgstr ""
 
 #: actions/subscriptions.php:123 actions/subscriptions.php:127
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not listening to anyone."
-msgstr "%1$s вече получава бележките ви в %2$s."
+msgstr "%s не получава ничии бележки."
 
 #: actions/subscriptions.php:194
 msgid "Jabber"
@@ -3708,9 +3679,8 @@ msgid "API method under construction."
 msgstr "Методът в API все още се разработва."
 
 #: actions/unblock.php:59
-#, fuzzy
 msgid "You haven't blocked that user."
-msgstr "Ð\92еÑ\87е сте блокирали този потребител."
+msgstr "Ð\9dе сте блокирали този потребител."
 
 #: actions/unsandbox.php:72
 #, fuzzy
@@ -3718,9 +3688,8 @@ msgid "User is not sandboxed."
 msgstr "Потребителят ви е блокирал."
 
 #: actions/unsilence.php:72
-#, fuzzy
 msgid "User is not silenced."
-msgstr "Потребителят няма профил."
+msgstr "Потребителят не е заглушен."
 
 #: actions/unsubscribe.php:77
 #, fuzzy
@@ -3806,9 +3775,8 @@ msgid "Invitations"
 msgstr "Покани"
 
 #: actions/useradminpanel.php:256
-#, fuzzy
 msgid "Invitations enabled"
-msgstr "Ð\9fоканиÑ\82е Ñ\81а Ð¸Ð·Ð¿Ñ\80аÑ\82ени."
+msgstr "Ð\9fоканиÑ\82е Ñ\81а Ð²ÐºÐ»Ñ\8eÑ\87ени"
 
 #: actions/useradminpanel.php:258
 msgid "Whether to allow users to invite new users."
@@ -3938,9 +3906,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Грешен вид изображение за '%s'"
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "Липсва ID"
+msgstr "Липсва ID."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 #, fuzzy
@@ -3968,9 +3935,9 @@ msgid "Search for more groups"
 msgstr "Търсене за хора или бележки"
 
 #: actions/usergroups.php:153
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not a member of any group."
-msgstr "Не членувате в тази група."
+msgstr "%s не членува в никоя група."
 
 #: actions/usergroups.php:158
 #, php-format
@@ -4041,24 +4008,24 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Забранено ви е да публикувате бележки в този сайт."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Проблем при записване на бележката."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Грешка в базата от данни — отговор при вмъкването: %s"
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
 
 #: classes/User.php:368
-#, fuzzy, php-format
+#, php-format
 msgid "Welcome to %1$s, @%2$s!"
-msgstr "СÑ\8aобÑ\89ение Ð´Ð¾ %1$s Ð² %2$s"
+msgstr "Ð\94обÑ\80е Ð´Ð¾Ñ\88ли Ð² %1$s, @%2$s!"
 
 #: classes/User_group.php:380
 msgid "Could not create group."
@@ -4107,134 +4074,132 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Неозаглавена страница"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Начало"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Сметка"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Промяна на поща, аватар, парола, профил"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Свързване"
 
-#: lib/action.php:436
-#, fuzzy
+#: lib/action.php:437
 msgid "Connect to services"
-msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ð¿Ñ\80енаÑ\81оÑ\87ване ÐºÑ\8aм Ñ\81Ñ\8aÑ\80вÑ\8aÑ\80: %s"
+msgstr "СвÑ\8aÑ\80зване ÐºÑ\8aм Ñ\83Ñ\81лÑ\83ги"
 
-#: lib/action.php:440
-#, fuzzy
+#: lib/action.php:441
 msgid "Change site configuration"
-msgstr "Ð\90бонаменÑ\82и"
+msgstr "Ð\9fÑ\80омÑ\8fна Ð½Ð°Ñ\81Ñ\82Ñ\80ойкиÑ\82е Ð½Ð° Ñ\81айÑ\82а"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Покани"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Поканете приятели и колеги да се присъединят към вас в %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Изход"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Излизане от сайта"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Създаване на нова сметка"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Влизане в сайта"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Помощ"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "Помощ"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Търсене"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Търсене за хора или бележки"
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "Нова бележка"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "Нова бележка"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Абонаменти"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Относно"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Въпроси"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
-msgstr ""
+msgstr "Условия"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Поверителност"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Изходен код"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Контакт"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Табелка"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Лиценз на програмата StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4243,12 +4208,12 @@ msgstr ""
 "**%%site.name%%** е услуга за микроблогване, предоставена ви от [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** е услуга за микроблогване. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4259,39 +4224,37 @@ msgstr ""
 "достъпна под [GNU Affero General Public License](http://www.fsf.org/"
 "licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
-#, fuzzy
+#: lib/action.php:791
 msgid "Site content license"
-msgstr "Лиценз на програмата StatusNet"
+msgstr "Лиценз на съдържанието"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Всички "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "лиценз."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Страниране"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "След"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Преди"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Имаше проблем със сесията ви в сайта."
 
 #: lib/adminpanelaction.php:96
-#, fuzzy
 msgid "You cannot make changes to this site."
-msgstr "Не може да изпращате съобщения до този потребител."
+msgstr "Не можете да променяте този сайт."
 
 #: lib/adminpanelaction.php:195
 #, fuzzy
@@ -4309,19 +4272,16 @@ msgid "Unable to delete design setting."
 msgstr "Грешка при записване настройките за Twitter"
 
 #: lib/adminpanelaction.php:300
-#, fuzzy
 msgid "Basic site configuration"
-msgstr "Ð\9fоÑ\82вÑ\8aÑ\80ждаване Ð°Ð´Ñ\80еÑ\81а Ð½Ð° Ðµ-поÑ\89а"
+msgstr "Ð\9eÑ\81новна Ð½Ð°Ñ\81Ñ\82Ñ\80ойка Ð½Ð° Ñ\81айÑ\82а"
 
 #: lib/adminpanelaction.php:303
-#, fuzzy
 msgid "Design configuration"
-msgstr "Ð\9fоÑ\82вÑ\8aÑ\80ждение Ð·Ð° SMS"
+msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойка Ð½Ð° Ð¾Ñ\84оÑ\80млениеÑ\82о"
 
 #: lib/adminpanelaction.php:306 lib/adminpanelaction.php:309
-#, fuzzy
 msgid "Paths configuration"
-msgstr "Ð\9fоÑ\82вÑ\8aÑ\80ждение Ð·Ð° SMS"
+msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойка Ð½Ð° Ð¿Ñ\8aÑ\82иÑ\89аÑ\82а"
 
 #: lib/attachmentlist.php:87
 msgid "Attachments"
@@ -4329,12 +4289,11 @@ msgstr ""
 
 #: lib/attachmentlist.php:265
 msgid "Author"
-msgstr ""
+msgstr "Автор"
 
 #: lib/attachmentlist.php:278
-#, fuzzy
 msgid "Provider"
-msgstr "Ð\9fÑ\80оÑ\84ил"
+msgstr "Ð\94оÑ\81Ñ\82авÑ\87ик"
 
 #: lib/attachmentnoticesection.php:67
 msgid "Notices where this attachment appears"
@@ -4344,6 +4303,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Паролата е записана."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Паролата е записана."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Резултат от командата"
@@ -4370,9 +4339,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
 msgstr ""
 
 #: lib/command.php:99
-#, fuzzy, php-format
+#, php-format
 msgid "Nudge sent to %s"
-msgstr "Ð\9fобÑ\83Ñ\82ванеÑ\82о Ðµ Ð¸Ð·Ð¿Ñ\80аÑ\82ено"
+msgstr "Ð\98зпÑ\80аÑ\82ено Ðµ Ð¿Ð¾Ð±Ñ\83Ñ\82ване Ð½Ð° %s"
 
 #: lib/command.php:126
 #, php-format
@@ -4381,6 +4350,9 @@ msgid ""
 "Subscribers: %2$s\n"
 "Notices: %3$s"
 msgstr ""
+"Абонаменти: %1$s\n"
+"Абонати: %2$s\n"
+"Бележки: %3$s"
 
 #: lib/command.php:152 lib/command.php:399 lib/command.php:460
 msgid "Notice with that id does not exist"
@@ -4431,9 +4403,8 @@ msgid "Error sending direct message."
 msgstr "Грешка при изпращане на прякото съобщение"
 
 #: lib/command.php:422
-#, fuzzy
 msgid "Cannot repeat your own notice"
-msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ð²ÐºÐ»Ñ\8eÑ\87ване Ð½Ð° Ñ\83ведомлениеÑ\82о."
+msgstr "Ð\9dе Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð° Ð¿Ð¾Ð²Ñ\82аÑ\80Ñ\8fÑ\82е Ñ\81обÑ\81Ñ\82вена Ð±ÐµÐ»ÐµÐ¶ÐºÐ°"
 
 #: lib/command.php:427
 #, fuzzy
@@ -4441,14 +4412,13 @@ msgid "Already repeated that notice"
 msgstr "Изтриване на бележката"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Ð\91ележкаÑ\82а Ðµ Ð¿Ñ\83бликÑ\83вана"
+msgstr "Ð\91ележкаÑ\82а Ð¾Ñ\82 %s Ðµ Ð¿Ð¾Ð²Ñ\82оÑ\80ена"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "Ð\9fÑ\80облем Ð¿Ñ\80и Ð·Ð°Ð¿Ð¸Ñ\81ване на бележката."
+msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ð¿Ð¾Ð²Ñ\82аÑ\80Ñ\8fне на бележката."
 
 #: lib/command.php:491
 #, fuzzy, php-format
@@ -4457,14 +4427,13 @@ msgstr ""
 "Съобщението е твърде дълго. Най-много може да е 140 знака, а сте въвели %d."
 
 #: lib/command.php:500
-#, fuzzy, php-format
+#, php-format
 msgid "Reply to %s sent"
-msgstr "Ð\9eÑ\82говаÑ\80Ñ\8fне Ð½Ð° Ñ\82ази Ð±ÐµÐ»ÐµÐ¶ÐºÐ°"
+msgstr "Ð\9eÑ\82говоÑ\80Ñ\8aÑ\82 Ð´Ð¾ %s Ðµ Ð¸Ð·Ð¿Ñ\80аÑ\82ен"
 
 #: lib/command.php:502
-#, fuzzy
 msgid "Error saving notice."
-msgstr "Ð\9fÑ\80облем при записване на бележката."
+msgstr "Ð\93Ñ\80еÑ\88ка при записване на бележката."
 
 #: lib/command.php:556
 msgid "Specify the name of the user to subscribe to"
@@ -4519,9 +4488,8 @@ msgid "This link is useable only once, and is good for only 2 minutes: %s"
 msgstr ""
 
 #: lib/command.php:685
-#, fuzzy
 msgid "You are not subscribed to anyone."
-msgstr "Не сте абонирани за този профил"
+msgstr "Не сте абонирани за никого."
 
 #: lib/command.php:687
 msgid "You are subscribed to this person:"
@@ -4530,9 +4498,8 @@ msgstr[0] "Вече сте абонирани за следните потреб
 msgstr[1] "Вече сте абонирани за следните потребители:"
 
 #: lib/command.php:707
-#, fuzzy
 msgid "No one is subscribed to you."
-msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ð°Ð±Ð¾Ð½Ð¸Ñ\80ане Ð½Ð° Ð´Ñ\80Ñ\83г Ð¿Ð¾Ñ\82Ñ\80ебиÑ\82ел за вас."
+msgstr "Ð\9dикой Ð½Ðµ Ðµ Ð°Ð±Ð¾Ð½Ð¸Ñ\80ан за вас."
 
 #: lib/command.php:709
 msgid "This person is subscribed to you:"
@@ -4629,10 +4596,11 @@ msgid "Upload file"
 msgstr "Качване на файл"
 
 #: lib/designsettings.php:109
-#, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
-msgstr "Можете да качите личен аватар тук."
+msgstr ""
+"Можете да качите лично изображение за фон. Максималната големина на файла е "
+"2MB."
 
 #: lib/designsettings.php:418
 msgid "Design defaults restored."
@@ -4680,9 +4648,8 @@ msgid "All"
 msgstr "Всички"
 
 #: lib/galleryaction.php:139
-#, fuzzy
 msgid "Select tag to filter"
-msgstr "Ð\98збеÑ\80еÑ\82е Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80"
+msgstr "Ð\98збеÑ\80еÑ\82е ÐµÑ\82икеÑ\82 Ð·Ð° Ñ\84илÑ\82Ñ\80иÑ\80ане"
 
 #: lib/galleryaction.php:140
 msgid "Tag"
@@ -4701,14 +4668,13 @@ msgid "URL of the homepage or blog of the group or topic"
 msgstr "Адрес на страница, блог или профил в друг сайт на групата"
 
 #: lib/groupeditform.php:168
-#, fuzzy
 msgid "Describe the group or topic"
-msgstr "Опишете групата или темата й в до 140 букви"
+msgstr "Опишете групата или темата"
 
 #: lib/groupeditform.php:170
-#, fuzzy, php-format
+#, php-format
 msgid "Describe the group or topic in %d characters"
-msgstr "Ð\9eпиÑ\88еÑ\82е Ð³Ñ\80Ñ\83паÑ\82а Ð¸Ð»Ð¸ Ñ\82емаÑ\82а Ð¹ Ð² Ð´Ð¾ 140 букви"
+msgstr "Ð\9eпиÑ\88еÑ\82е Ð³Ñ\80Ñ\83паÑ\82а Ð¸Ð»Ð¸ Ñ\82емаÑ\82а Ð² Ð´Ð¾ %d букви"
 
 #: lib/groupeditform.php:172
 msgid "Description"
@@ -4730,14 +4696,13 @@ msgid "Group"
 msgstr "Група"
 
 #: lib/groupnav.php:101
-#, fuzzy
 msgid "Blocked"
-msgstr "Ð\91локиÑ\80ане"
+msgstr "Ð\91локиÑ\80ани"
 
 #: lib/groupnav.php:102
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked users"
-msgstr "Блокиране на потребителя"
+msgstr "%s блокирани потребителя"
 
 #: lib/groupnav.php:108
 #, php-format
@@ -4807,11 +4772,11 @@ msgstr "Неподдържан вид файл"
 
 #: lib/imagefile.php:217
 msgid "MB"
-msgstr ""
+msgstr "MB"
 
 #: lib/imagefile.php:219
 msgid "kB"
-msgstr ""
+msgstr "kB"
 
 #: lib/jabber.php:191
 #, php-format
@@ -4861,7 +4826,7 @@ msgid "%1$s is now listening to your notices on %2$s."
 msgstr "%1$s вече получава бележките ви в %2$s."
 
 #: lib/mail.php:241
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "%1$s is now listening to your notices on %2$s.\n"
 "\n"
@@ -4876,10 +4841,14 @@ msgid ""
 msgstr ""
 "%1$s вече получава бележките ви в %2$s.\n"
 "\n"
-"\t%3$s\n"
+"%3$s\n"
 "\n"
+"%4$s%5$s%6$s\n"
 "С уважение,\n"
-"%4$s.\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Може да смените адреса и настройките за уведомяване по е-поща на %8$s\n"
 
 #: lib/mail.php:254
 #, php-format
@@ -4998,12 +4967,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5028,7 +4997,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "от"
 
@@ -5052,11 +5021,11 @@ msgstr ""
 
 #: lib/mediafile.php:159
 msgid "Missing a temporary folder."
-msgstr ""
+msgstr "Липсва временна папка."
 
 #: lib/mediafile.php:162
 msgid "Failed to write file to disk."
-msgstr ""
+msgstr "Грешка при записване файла на диска."
 
 #: lib/mediafile.php:165
 msgid "File upload stopped by extension."
@@ -5092,74 +5061,75 @@ msgstr "Изпращане на пряко съобщеие"
 msgid "To"
 msgstr "До"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Налични знаци"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Изпращане на бележка"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Какво става, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
-msgstr ""
+msgstr "Прикрепяне"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
+msgstr "Прикрепяне на файл"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
-#, fuzzy
+#: lib/noticelist.php:429
 msgid "N"
-msgstr "Ð\9dе"
+msgstr "С"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
-msgstr ""
+msgstr "Ю"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
-msgstr ""
+msgstr "И"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
-msgstr ""
+msgstr "З"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "в контекст"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "СÑ\8aздаване"
+msgstr "Ð\9fовÑ\82оÑ\80ено Ð¾Ñ\82"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Отговаряне на тази бележка"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Отговор"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Ð\91ележкаÑ\82а Ðµ Ð¸Ð·Ñ\82Ñ\80иÑ\82а."
+msgstr "Ð\91ележкаÑ\82а Ðµ Ð¿Ð¾Ð²Ñ\82оÑ\80ена."
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5262,9 +5232,8 @@ msgid "All groups"
 msgstr "Всички групи"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "Ð\9dÑ\8fма Ñ\82акÑ\8aв Ð´Ð¾ÐºÑ\83менÑ\82."
+msgstr "Ð\9bипÑ\81ваÑ\82 Ð°Ñ\80гÑ\83менÑ\82и return-to."
 
 #: lib/profileformaction.php:137
 msgid "Unimplemented method."
@@ -5276,7 +5245,7 @@ msgstr "Общ поток"
 
 #: lib/publicgroupnav.php:82
 msgid "User groups"
-msgstr ""
+msgstr "Групи"
 
 #: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
 msgid "Recent tags"
@@ -5290,15 +5259,14 @@ msgstr "Избрано"
 msgid "Popular"
 msgstr "Популярно"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
-msgstr "Ð\9eÑ\82говаряне на тази бележка"
+msgid "Repeat this notice?"
+msgstr "Ð\9fовÑ\82аряне на тази бележка"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "Обновяване"
+msgid "Repeat this notice"
+msgstr "Повтаряне на тази бележка"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5317,7 +5285,7 @@ msgstr "Търсене"
 
 #: lib/searchaction.php:126
 msgid "Keyword(s)"
-msgstr ""
+msgstr "Ключови думи"
 
 #: lib/searchaction.php:162
 #, fuzzy
@@ -5450,18 +5418,16 @@ msgid "Unsubscribe"
 msgstr "Отписване"
 
 #: lib/userprofile.php:116
-#, fuzzy
 msgid "Edit Avatar"
-msgstr "Ð\90ваÑ\82аÑ\80"
+msgstr "РедакÑ\82иÑ\80ане Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80а"
 
 #: lib/userprofile.php:236
 msgid "User actions"
 msgstr "Потребителски действия"
 
 #: lib/userprofile.php:248
-#, fuzzy
 msgid "Edit profile settings"
-msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойки на профила"
+msgstr "РедакÑ\82иÑ\80ане на профила"
 
 #: lib/userprofile.php:249
 msgid "Edit"
@@ -5479,59 +5445,59 @@ msgstr "Съобщение"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "преди няколко секунди"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "преди около минута"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "преди около %d минути"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "преди около час"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "преди около %d часа"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "преди около ден"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "преди около %d дни"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "преди около месец"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "преди около %d месеца"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "преди около година"
 
 #: lib/webcolor.php:82
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not a valid color!"
-msgstr "Адресът на личната страница не е правилен URL."
+msgstr "%s не е допустим цвят!"
 
 #: lib/webcolor.php:123
 #, php-format
 msgid "%s is not a valid color! Use 3 or 6 hex chars."
-msgstr ""
+msgstr "%s не е допустим цвят! Използвайте 3 или 6 шестнадесетични знака."
 
 #: scripts/maildaemon.php:48
 msgid "Could not parse message."
index 099a1f91b83096e2e0c470a215bb5b6140ef97bf..7022f4fad0197773ebb3f18dd778cf8367966356 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:51:52+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:44+0000\n"
 "Language-Team: Catalan\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ca\n"
 "X-Message-Group: out-statusnet\n"
@@ -195,11 +195,11 @@ msgstr "No s'ha pogut actualitzar l'usuari."
 msgid "You cannot block yourself!"
 msgstr "No podeu suprimir els usuaris."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Ha fallat el bloqueig d'usuari."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Ha fallat el desbloqueig d'usuari."
 
@@ -258,7 +258,9 @@ msgstr "No has escrit cap usuari receptor."
 
 #: actions/apidirectmessagenew.php:150
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr "No pots enviar missatges directes a usuaris que no siguin amics teus."
+msgstr ""
+"No es pot enviar missatges directes a usuaris que no siguin els vostres "
+"amics."
 
 #: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
 #: actions/apistatusesdestroy.php:113
@@ -274,9 +276,8 @@ msgid "Could not create favorite."
 msgstr "No es pot crear favorit."
 
 #: actions/apifavoritedestroy.php:122
-#, fuzzy
 msgid "That status is not a favorite!"
-msgstr "Aquesta notificació no és un favorit!"
+msgstr "L'estat no és un preferit!"
 
 #: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
 msgid "Could not delete favorite."
@@ -315,7 +316,7 @@ msgid "Could not find target user."
 msgstr "No es pot trobar cap estatus."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -323,25 +324,25 @@ msgstr ""
 "espais."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Aquest sobrenom ja existeix. Prova un altre. "
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Sobrenom no vàlid."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "La pàgina personal no és un URL vàlid."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "El teu nom és massa llarg (màx. 255 caràcters)."
@@ -352,7 +353,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "La descripció és massa llarga (màx. %d caràcters)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "La ubicació és massa llarga (màx. 255 caràcters)."
@@ -371,9 +372,9 @@ msgstr "L'àlies no és vàlid «%s»"
 
 #: actions/apigroupcreate.php:273 actions/editgroup.php:228
 #: actions/newgroup.php:172
-#, fuzzy, php-format
+#, php-format
 msgid "Alias \"%s\" already in use. Try another one."
-msgstr "Aquest sobrenom ja existeix. Prova un altre. "
+msgstr "L'àlies «%s» ja està en ús. Proveu-ne un altre."
 
 #: actions/apigroupcreate.php:286 actions/editgroup.php:234
 #: actions/newgroup.php:178
@@ -387,18 +388,17 @@ msgid "Group not found!"
 msgstr "No s'ha trobat el grup!"
 
 #: actions/apigroupjoin.php:110
-#, fuzzy
 msgid "You are already a member of that group."
-msgstr "Ja ets membre d'aquest grup"
+msgstr "Ja sou membre del grup."
 
 #: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
 msgid "You have been blocked from that group by the admin."
 msgstr ""
 
 #: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s."
-msgstr "No s'ha pogut afegir l'usuari %s al grup %s"
+msgstr "No s'ha pogut afegir l'usuari %s al grup %s."
 
 #: actions/apigroupleave.php:114
 msgid "You are not a member of this group."
@@ -425,9 +425,9 @@ msgid "%s groups"
 msgstr "%s grups"
 
 #: actions/apigrouplistall.php:94
-#, fuzzy, php-format
+#, php-format
 msgid "groups on %s"
-msgstr "Accions del grup"
+msgstr "grups sobre %s"
 
 #: actions/apistatusesdestroy.php:107
 msgid "This method requires a POST or DELETE."
@@ -462,15 +462,15 @@ msgstr "No s'ha trobat cap estatus amb la ID trobada."
 
 #: actions/apistatusesupdate.php:157 actions/newnotice.php:155
 #: scripts/maildaemon.php:71
-#, fuzzy, php-format
+#, php-format
 msgid "That's too long. Max notice size is %d chars."
-msgstr "Massa llarg. La longitud màxima és de 140 caràcters."
+msgstr "Massa llarg. La longitud màxima és de %d caràcters."
 
 #: actions/apistatusesupdate.php:198
 msgid "Not found"
 msgstr "No s'ha trobat"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -482,7 +482,7 @@ msgstr "El format no està implementat."
 #: actions/apitimelinefavorites.php:108
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr "%s / Favorits de %s"
+msgstr "%s / Preferits de %s"
 
 #: actions/apitimelinefavorites.php:120
 #, php-format
@@ -524,7 +524,7 @@ msgstr "%s notificacions de tots!"
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Repetit per %s"
 
 #: actions/apitimelineretweetedtome.php:111
 #, fuzzy, php-format
@@ -551,9 +551,8 @@ msgid "Not found."
 msgstr "No s'ha trobat."
 
 #: actions/attachment.php:73
-#, fuzzy
 msgid "No such attachment."
-msgstr "No existeix aquest document."
+msgstr "No existeix l'adjunció."
 
 #: actions/avatarbynickname.php:59 actions/grouprss.php:91
 #: actions/leavegroup.php:76
@@ -574,9 +573,10 @@ msgid "Avatar"
 msgstr "Avatar"
 
 #: actions/avatarsettings.php:78
-#, fuzzy, php-format
+#, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
-msgstr "Pots pujar el teu avatar personal."
+msgstr ""
+"Podeu pujar el vostre avatar personal. La mida màxima del fitxer és %s."
 
 #: actions/avatarsettings.php:106 actions/avatarsettings.php:185
 #: actions/grouplogo.php:178 actions/remotesubscribe.php:191
@@ -597,29 +597,29 @@ msgstr "Original"
 #: actions/avatarsettings.php:142 actions/avatarsettings.php:217
 #: actions/grouplogo.php:210 actions/grouplogo.php:271
 msgid "Preview"
-msgstr "Previsualitzar"
+msgstr "Vista prèvia"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
-msgstr "Eliminar"
+msgstr "Suprimeix"
 
 #: actions/avatarsettings.php:166 actions/grouplogo.php:233
 msgid "Upload"
-msgstr "Pujar"
+msgstr "Puja"
 
 #: actions/avatarsettings.php:231 actions/grouplogo.php:286
 msgid "Crop"
-msgstr "Crop"
+msgstr "Retalla"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -685,6 +685,7 @@ msgstr "No bloquis l'usuari"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Sí"
 
@@ -692,7 +693,7 @@ msgstr "Sí"
 msgid "Block this user"
 msgstr "Bloquejar aquest usuari"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Error al guardar la informació del block."
 
@@ -711,14 +712,14 @@ msgid "No such group"
 msgstr "No existeix tal grup"
 
 #: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles"
-msgstr "Perfil de l'usuari"
+msgstr "%s perfils blocats"
 
 #: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles, page %d"
-msgstr "%s i amics, pàgina %d"
+msgstr "%s perfils blocats, pàgina %d"
 
 #: actions/blockedfromgroup.php:108
 #, fuzzy
@@ -732,11 +733,11 @@ msgstr "Ha fallat el desbloqueig d'usuari."
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:69
 msgid "Unblock"
-msgstr "Desbloquejar"
+msgstr "Desbloca"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:80
 msgid "Unblock this user"
-msgstr "Desbloquejar aquest usuari"
+msgstr "Desbloca l'usuari"
 
 #: actions/bookmarklet.php:50
 msgid "Post to "
@@ -766,7 +767,7 @@ msgstr "Aquesta adreça ja ha estat confirmada."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "No s'ha pogut actualitzar l'usuari."
@@ -802,7 +803,7 @@ msgstr "Avisos"
 #: lib/adminpanelaction.php:72 lib/profileformaction.php:63
 #: lib/settingsaction.php:72
 msgid "Not logged in."
-msgstr "No connectat."
+msgstr "No heu iniciat una sessió."
 
 #: actions/deletenotice.php:71
 msgid "Can't delete this notice."
@@ -830,7 +831,7 @@ msgstr "N'estàs segur que vols eliminar aquesta notificació?"
 msgid "Do not delete this notice"
 msgstr "No es pot esborrar la notificació."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Eliminar aquesta nota"
 
@@ -968,8 +969,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1066,11 +1067,11 @@ msgstr "Cancel·la"
 
 #: actions/emailsettings.php:121
 msgid "Email Address"
-msgstr "Direcció de correu electrònic"
+msgstr "Adreça electrònica"
 
 #: actions/emailsettings.php:123
 msgid "Email address, like \"UserName@example.org\""
-msgstr "Correu electrònic, com Email address, like \"UserName@example.org\""
+msgstr "Adreça electrònica, com ara «nomusuari@example.org»"
 
 #: actions/emailsettings.php:126 actions/imsettings.php:133
 #: actions/smssettings.php:145
@@ -1134,27 +1135,27 @@ msgstr "Publica una MicroID per al meu correu electrònic."
 #: actions/emailsettings.php:302 actions/imsettings.php:264
 #: actions/othersettings.php:180 actions/smssettings.php:284
 msgid "Preferences saved."
-msgstr "Preferències guardades."
+msgstr "S'han desat les preferències."
 
 #: actions/emailsettings.php:320
 msgid "No email address."
-msgstr "No hi ha cap direcció de correu electrònic."
+msgstr "No hi ha cap adreça electrònica."
 
 #: actions/emailsettings.php:327
 msgid "Cannot normalize that email address"
-msgstr "No es pot normalitzar aquesta direcció de correu electrònic"
+msgstr "No es pot normalitzar l'adreça electrònica."
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
-msgstr "No és una direcció de correu electrònic vàlida."
+msgstr "No és una adreça electrònica vàlida."
 
 #: actions/emailsettings.php:334
 msgid "That is already your email address."
-msgstr "Aquest ja és el teu correu electrònic."
+msgstr "Ja és la vostra adreça electrònica."
 
 #: actions/emailsettings.php:337
 msgid "That email address already belongs to another user."
-msgstr "Aquest correu electrònic pertany a un altre usuari."
+msgstr "L'adreça electrònica ja pertany a un altre usuari."
 
 #: actions/emailsettings.php:353 actions/imsettings.php:317
 #: actions/smssettings.php:337
@@ -1271,38 +1272,33 @@ msgid "Featured users, page %d"
 msgstr "Usuaris destacats, pàgina %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Una selecció d'alguns dels millors usuaris a %s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Nou avís"
+msgstr "Cap ID d'avís."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Nou avís"
+msgstr "Cap avís."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Sense adjuncions"
+msgstr "Cap adjunció."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "No s'ha pujat cap adjunció"
+msgstr "No s'ha pujat cap adjunt."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
 msgstr "Resposta inesperada!"
 
 #: actions/finishremotesubscribe.php:80
-#, fuzzy
 msgid "User being listened to does not exist."
-msgstr "L'usuari que vols seguir no existeix."
+msgstr "L'usuari que s'escolta no existeix."
 
 #: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
 msgid "You can use the local subscription!"
@@ -1364,7 +1360,7 @@ msgstr "No s'ha especificat cap grup."
 
 #: actions/groupblock.php:91
 msgid "Only an admin can block group members."
-msgstr ""
+msgstr "Només un administrador pot blocar membres del grup."
 
 #: actions/groupblock.php:95
 #, fuzzy
@@ -1372,14 +1368,12 @@ msgid "User is already blocked from group."
 msgstr "Un usuari t'ha bloquejat."
 
 #: actions/groupblock.php:100
-#, fuzzy
 msgid "User is not a member of group."
-msgstr "No ets membre d'aquest grup."
+msgstr "L'usuari no és membre del grup."
 
 #: actions/groupblock.php:136 actions/groupmembers.php:314
-#, fuzzy
 msgid "Block user from group"
-msgstr "Usuari bloquejat."
+msgstr "Bloca l'usuari del grup"
 
 #: actions/groupblock.php:162
 #, php-format
@@ -1388,16 +1382,16 @@ msgid ""
 "be removed from the group, unable to post, and unable to subscribe to the "
 "group in the future."
 msgstr ""
+"Esteu segur que voleu blocar l'usuari «%s» del grup «%s»? Se suprimiran del "
+"grup, i no podran enviar-hi res ni subscriure-s'hi en el futur."
 
 #: actions/groupblock.php:178
-#, fuzzy
 msgid "Do not block this user from this group"
-msgstr "La llista dels usuaris d'aquest grup."
+msgstr "No bloquis l'usuari del grup"
 
 #: actions/groupblock.php:179
-#, fuzzy
 msgid "Block this user from this group"
-msgstr "La llista dels usuaris d'aquest grup."
+msgstr "Bloca l'usuari del grup"
 
 #: actions/groupblock.php:196
 msgid "Database error blocking user from group."
@@ -1408,9 +1402,8 @@ msgid "No ID"
 msgstr "No ID"
 
 #: actions/groupdesignsettings.php:68
-#, fuzzy
 msgid "You must be logged in to edit a group."
-msgstr "Has d'haver entrat per crear un grup."
+msgstr "Heu d'iniciar una sessió per editar un grup."
 
 #: actions/groupdesignsettings.php:141
 msgid "Group design"
@@ -1424,9 +1417,8 @@ msgstr ""
 
 #: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
 #: lib/designsettings.php:391 lib/designsettings.php:413
-#, fuzzy
 msgid "Couldn't update your design."
-msgstr "No s'ha pogut actualitzar l'usuari."
+msgstr "No s'ha pogut actualitzar el vostre disseny."
 
 #: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
 #: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
@@ -1479,7 +1471,7 @@ msgstr "%s membre/s en el grup, pàgina %d"
 msgid "A list of the users in this group."
 msgstr "La llista dels usuaris d'aquest grup."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Admin"
 
@@ -1488,23 +1480,21 @@ msgid "Block"
 msgstr "Bloca"
 
 #: actions/groupmembers.php:441
-#, fuzzy
 msgid "Make user an admin of the group"
-msgstr "Has de ser admin per editar aquest grup"
+msgstr "Fes l'usuari un administrador del grup"
 
 #: actions/groupmembers.php:473
-#, fuzzy
 msgid "Make Admin"
-msgstr "Admin"
+msgstr "Fes-lo administrador"
 
 #: actions/groupmembers.php:473
 msgid "Make this user an admin"
 msgstr "Fes l'usuari administrador"
 
 #: actions/grouprss.php:133
-#, fuzzy, php-format
+#, php-format
 msgid "Updates from members of %1$s on %2$s!"
-msgstr "Actualitzacions de %1$s a %2$s!"
+msgstr "Actualitzacions dels membres de %1$s el %2$s!"
 
 #: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
@@ -1528,7 +1518,7 @@ msgstr ""
 
 #: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
 msgid "Create a new group"
-msgstr "Crear nou grup"
+msgstr "Crea un grup nou"
 
 #: actions/groupsearch.php:52
 #, fuzzy, php-format
@@ -1567,13 +1557,12 @@ msgid "Only an admin can unblock group members."
 msgstr "Només un administrador pot desblocar els membres del grup."
 
 #: actions/groupunblock.php:95
-#, fuzzy
 msgid "User is not blocked from group."
-msgstr "Un usuari t'ha bloquejat."
+msgstr "L'usuari no està blocat del grup."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
-msgstr "Error al moure el block."
+msgstr "S'ha produït un error en suprimir el bloc."
 
 #: actions/imsettings.php:59
 msgid "IM Settings"
@@ -1589,9 +1578,8 @@ msgstr ""
 "GTalk. Configura la teva adreça i opcions a sota."
 
 #: actions/imsettings.php:89
-#, fuzzy
 msgid "IM is not available."
-msgstr "Aquesta pàgina no està disponible en "
+msgstr "La MI no és disponible."
 
 #: actions/imsettings.php:106
 msgid "Current confirmed Jabber/GTalk address."
@@ -1623,11 +1611,11 @@ msgstr ""
 
 #: actions/imsettings.php:143
 msgid "Send me notices through Jabber/GTalk."
-msgstr "Enviar-me avisos per Jabber/GTalk."
+msgstr "Envia'm avisos per Jabber/GTalk."
 
 #: actions/imsettings.php:148
 msgid "Post a notice when my Jabber/GTalk status changes."
-msgstr "Enviar un avís quan el meu estat Jabber/GTalk canvii."
+msgstr "Envia'm un avís quan el meu estat Jabber/GTalk canvii."
 
 #: actions/imsettings.php:153
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
@@ -1762,7 +1750,7 @@ msgstr "Missatge personal"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Opcionalment pots afegir un missatge a la invitació."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Envia"
 
@@ -1886,7 +1874,7 @@ msgstr "Nom d'usuari o contrasenya incorrectes."
 msgid "Error setting user. You are probably not authorized."
 msgstr "No autoritzat."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Inici de sessió"
@@ -1945,7 +1933,7 @@ msgstr "Només un administrador poc fer a un altre usuari administrador."
 #: actions/makeadmin.php:95
 #, php-format
 msgid "%s is already an admin for group \"%s\"."
-msgstr ""
+msgstr "%s ja és un administrador del grup «%s»."
 
 #: actions/makeadmin.php:132
 #, php-format
@@ -1955,7 +1943,7 @@ msgstr ""
 #: actions/makeadmin.php:145
 #, php-format
 msgid "Can't make %s an admin for group %s"
-msgstr ""
+msgstr "No es pot fer %s un administrador del grup %s"
 
 #: actions/microsummary.php:69
 msgid "No current status"
@@ -2000,7 +1988,7 @@ msgstr "S'ha enviat el missatge"
 msgid "Direct message to %s sent"
 msgstr "Missatge directe per a %s enviat"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax Error"
 
@@ -2008,7 +1996,7 @@ msgstr "Ajax Error"
 msgid "New notice"
 msgstr "Nou avís"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Notificació publicada"
 
@@ -2045,14 +2033,15 @@ msgid ""
 msgstr ""
 
 #: actions/noticesearchrss.php:96
-#, fuzzy, php-format
+#, php-format
 msgid "Updates with \"%s\""
-msgstr "Actualitzacions de %1$s a %2$s!"
+msgstr "Actualitzacions amb «%s»"
 
 #: actions/noticesearchrss.php:98
-#, fuzzy, php-format
+#, php-format
 msgid "Updates matching search term \"%1$s\" on %2$s!"
-msgstr "Totes les actualitzacions que corresponen a la frase a cercar \"%s\" "
+msgstr ""
+"Les actualitzacions que coincideixen amb el terme de cerca «%1$s» el %2$s!"
 
 #: actions/nudge.php:85
 msgid ""
@@ -2120,9 +2109,8 @@ msgid "Automatic shortening service to use."
 msgstr "Servei d'auto-escurçament a utilitzar."
 
 #: actions/othersettings.php:122
-#, fuzzy
 msgid "View profile designs"
-msgstr "Configuració del perfil"
+msgstr "Visualitza els dissenys de perfil"
 
 #: actions/othersettings.php:123
 msgid "Show or hide profile designs."
@@ -2231,87 +2219,119 @@ msgstr ""
 #: actions/pathsadminpanel.php:152
 #, php-format
 msgid "Background directory not writable: %s"
-msgstr ""
+msgstr "No es pot escriure al directori de fons: %s"
 
 #: actions/pathsadminpanel.php:160
 #, php-format
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Lloc"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Camí"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Camí del lloc"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Tema"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Servidor dels temes"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Camí dels temes"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
-msgstr ""
+msgstr "Directori de temes"
 
-#: actions/pathsadminpanel.php:247
-#, fuzzy
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
-msgstr "Avatar"
+msgstr "Avatars"
 
-#: actions/pathsadminpanel.php:252
-#, fuzzy
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
-msgstr "Configuració de l'avatar"
+msgstr "Servidor d'avatars"
 
-#: actions/pathsadminpanel.php:256
-#, fuzzy
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
-msgstr "Avatar actualitzat."
+msgstr "Camí de l'avatar"
 
-#: actions/pathsadminpanel.php:260
-#, fuzzy
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
-msgstr "Avatar actualitzat."
+msgstr "Directori d'avatars"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
-msgstr ""
+msgstr "Fons"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
-msgstr ""
+msgstr "Servidor de fons"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
-msgstr ""
+msgstr "Camí dels fons"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
-msgstr ""
+msgstr "Directori de fons"
+
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Mai"
 
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "A vegades"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Sempre"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Utilitza l'SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Servidor SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 #, fuzzy
 msgid "Save paths"
 msgstr "Avís del lloc"
@@ -2384,9 +2404,9 @@ msgid "URL of your homepage, blog, or profile on another site"
 msgstr "URL del teu web, blog o perfil en un altre lloc"
 
 #: actions/profilesettings.php:122 actions/register.php:460
-#, fuzzy, php-format
+#, php-format
 msgid "Describe yourself and your interests in %d chars"
-msgstr "Explica'ns alguna cosa sobre tu i els teus interessos en 140 caràcters"
+msgstr "Descriviu qui sou i els vostres interessos en %d caràcters"
 
 #: actions/profilesettings.php:125 actions/register.php:463
 #, fuzzy
@@ -2408,73 +2428,82 @@ msgstr "Ubicació"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "On ets, per exemple \"Ciutat, Estat (o Regió), País\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Etiquetes"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Etiquetes per a tu mateix (lletres, números, -, ., i _), per comes o separat "
 "por espais"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Idioma"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Preferència d'idioma"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Franja horària"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Quina franja horària seria normal ser?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Automàticament subscriure's a qualsevol que ho estigui a tu mateix (ideal "
 "per no-humans)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
-#, fuzzy, php-format
+#: actions/profilesettings.php:228 actions/register.php:223
+#, php-format
 msgid "Bio is too long (max %d chars)."
-msgstr "La biografia és massa llarga (màx. 140 caràcters)."
+msgstr "La biografia és massa llarga (màx. %d caràcters)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Franja horària no seleccionada."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "L'idioma és massa llarg (màx 50 caràcters)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Etiqueta no vàlida: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "No es pot actualitzar l'usuari per autosubscriure."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "No s'han pogut guardar les etiquetes."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "No s'ha pogut guardar el perfil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "No s'han pogut guardar les etiquetes."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Configuració guardada."
 
@@ -2497,19 +2526,16 @@ msgid "Public timeline"
 msgstr "Línia temporal pública"
 
 #: actions/public.php:151
-#, fuzzy
 msgid "Public Stream Feed (RSS 1.0)"
-msgstr "Feed del flux públic"
+msgstr "Flux de canal públic (RSS 1.0)"
 
 #: actions/public.php:155
-#, fuzzy
 msgid "Public Stream Feed (RSS 2.0)"
-msgstr "Feed del flux públic"
+msgstr "Flux de canal públic (RSS 2.0)"
 
 #: actions/public.php:159
-#, fuzzy
 msgid "Public Stream Feed (Atom)"
-msgstr "Feed del flux públic"
+msgstr "Flux de canal públic (Atom)"
 
 #: actions/public.php:179
 #, php-format
@@ -2520,13 +2546,15 @@ msgstr ""
 
 #: actions/public.php:182
 msgid "Be the first to post!"
-msgstr ""
+msgstr "Sigueu el primer en escriure-hi!"
 
 #: actions/public.php:186
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post!"
 msgstr ""
+"Per què no [registreu un compte](%%action.register%%) i sou el primer en "
+"escriure-hi!"
 
 #: actions/public.php:233
 #, php-format
@@ -2563,7 +2591,7 @@ msgstr ""
 
 #: actions/publictagcloud.php:72
 msgid "Be the first to post one!"
-msgstr ""
+msgstr "Sigueu el primer en escriure'n un!"
 
 #: actions/publictagcloud.php:75
 #, php-format
@@ -2572,7 +2600,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Núvol d'etiquetes"
 
@@ -2612,7 +2640,7 @@ msgstr ""
 
 #: actions/recoverpassword.php:158
 msgid "You have been identified. Enter a new password below. "
-msgstr ""
+msgstr "Esteu identificat. Introduïu una contrasenya nova a continuació. "
 
 #: actions/recoverpassword.php:188
 msgid "Password recovery"
@@ -2620,7 +2648,7 @@ msgstr "Recuperació de la contrasenya"
 
 #: actions/recoverpassword.php:191
 msgid "Nickname or email address"
-msgstr ""
+msgstr "Sobrenom o adreça electrònica"
 
 #: actions/recoverpassword.php:193
 msgid "Your nickname on this server, or your registered email address."
@@ -2702,21 +2730,20 @@ msgstr "Nova contrasenya guardada correctament. Has iniciat una sessió."
 
 #: actions/register.php:85 actions/register.php:189 actions/register.php:404
 msgid "Sorry, only invited people can register."
-msgstr "Ho senti, però només la gent convidada pot registrar-se."
+msgstr "Ho sentim, però només la gent convidada pot registrar-s'hi."
 
 #: actions/register.php:92
-#, fuzzy
 msgid "Sorry, invalid invitation code."
-msgstr "Error amb el codi de confirmació."
+msgstr "El codi d'invitació no és vàlid."
 
 #: actions/register.php:112
 msgid "Registration successful"
 msgstr "Registre satisfactori"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
-msgstr "Registrar-se"
+msgstr "Registre"
 
 #: actions/register.php:135
 msgid "Registration not allowed."
@@ -2743,6 +2770,8 @@ msgid ""
 "With this form you can create  a new account. You can then post notices and "
 "link up to friends and colleagues. "
 msgstr ""
+"Amb aquest formulari, podeu crear un compte nou. Podeu enviar avisos i "
+"enllaçar a amics i col·legues. "
 
 #: actions/register.php:424
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
@@ -2758,7 +2787,7 @@ msgid "Same as password above. Required."
 msgstr "Igual a la contrasenya de dalt. Requerit."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Correu electrònic"
 
@@ -2777,7 +2806,7 @@ msgstr "El meu text i els meus fitxers estan disponibles sota "
 
 #: actions/register.php:495
 msgid "Creative Commons Attribution 3.0"
-msgstr ""
+msgstr "Creative Commons Atribució 3.0"
 
 #: actions/register.php:496
 #, fuzzy
@@ -2908,15 +2937,13 @@ msgstr "No pots registrar-te si no estàs d'acord amb la llicència."
 msgid "You already repeated that notice."
 msgstr "Ja heu blocat l'usuari."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "S'ha creat"
+msgstr "Repetit"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "S'ha creat"
+msgstr "Repetit!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -2966,9 +2993,9 @@ msgid ""
 msgstr ""
 
 #: actions/repliesrss.php:72
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %1$s on %2$s!"
-msgstr "Missatge per a %1$s a %2$s"
+msgstr "Respostes a %1$s el %2$s!"
 
 #: actions/sandbox.php:65 actions/unsandbox.php:65
 #, fuzzy
@@ -2987,7 +3014,7 @@ msgstr "%s notificacions favorites, pàgina %d"
 
 #: actions/showfavorites.php:132
 msgid "Could not retrieve favorite notices."
-msgstr "No s'ha pogut recuperar els avisos de favorits."
+msgstr "No s'han pogut recuperar els avisos preferits."
 
 #: actions/showfavorites.php:170
 #, php-format
@@ -3027,7 +3054,7 @@ msgstr ""
 
 #: actions/showfavorites.php:242
 msgid "This is a way to share what you like."
-msgstr ""
+msgstr "És una forma de compartir allò que us agrada."
 
 #: actions/showgroup.php:82 lib/groupnav.php:86
 #, php-format
@@ -3055,7 +3082,7 @@ msgstr "Avisos"
 
 #: actions/showgroup.php:284 lib/groupeditform.php:184
 msgid "Aliases"
-msgstr ""
+msgstr "Àlies"
 
 #: actions/showgroup.php:293
 msgid "Group actions"
@@ -3224,255 +3251,211 @@ msgstr ""
 "ca.wikipedia.org/wiki/Microblogging) "
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "Respostes a %s"
+msgstr "Repetició de %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
-#, fuzzy
 msgid "You cannot silence users on this site."
-msgstr "No pots enviar un missatge a aquest usuari."
+msgstr "No podeu silenciar els usuaris d'aquest lloc."
 
 #: actions/silence.php:72
-#, fuzzy
 msgid "User is already silenced."
-msgstr "Un usuari t'ha bloquejat."
+msgstr "L'usuari ja està silenciat."
 
 #: actions/siteadminpanel.php:69
 msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "Paràmetres bàsic d'aquest lloc basat en l'StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "El nom del lloc ha de tenir una longitud superior a zero."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Heu de tenir una adreça electrònica de contacte vàlida"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "Llengua desconeguda «%s»"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "General"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Nom del lloc"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
-msgstr ""
+msgstr "El nom del vostre lloc, com ara «El microblog de l'empresa»"
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Nou correu electrònic per publicar a %s"
 
-#: actions/siteadminpanel.php:290
-#, fuzzy
+#: actions/siteadminpanel.php:277
 msgid "Local"
-msgstr "Vistes locals"
+msgstr "Local"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
-msgstr ""
+msgstr "Fus horari per defecte"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "Fus horari per defecte del lloc; normalment UTC."
 
-#: actions/siteadminpanel.php:308
-#, fuzzy
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
-msgstr "Preferència d'idioma"
+msgstr "Llengua per defecte del lloc"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Servidor"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Accés"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Privat"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
-#, fuzzy
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
-msgstr "Invitar"
+msgstr "Només invitació"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
-msgstr ""
+msgstr "Fes que el registre sigui només amb invitacions."
 
-#: actions/siteadminpanel.php:346
-#, fuzzy
+#: actions/siteadminpanel.php:333
 msgid "Closed"
-msgstr "Bloquejar"
+msgstr "Tancat"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Inhabilita els nous registres."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Mai"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Freqüència"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "A vegades"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Sempre"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Utilitza l'SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "Servidor SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Límits"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Límits del text"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
-msgstr ""
+msgstr "Límit de duplicats"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
+"Quant de temps cal que esperin els usuaris (en segons) per enviar el mateix "
+"de nou."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Configuració de l'avatar"
@@ -3489,9 +3472,8 @@ msgstr ""
 "%%."
 
 #: actions/smssettings.php:91
-#, fuzzy
 msgid "SMS is not available."
-msgstr "Aquesta pàgina no està disponible en "
+msgstr "L'SMS no és disponible."
 
 #: actions/smssettings.php:112
 msgid "Current confirmed SMS-enabled phone number."
@@ -3621,6 +3603,8 @@ msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
 "return the favor"
 msgstr ""
+"No teniu cap subscriptor. Proveu de subscriure-us a gent que coneixeu i ells "
+"podrien tornar-vos així el favor"
 
 #: actions/subscribers.php:110
 #, php-format
@@ -3664,9 +3648,9 @@ msgid ""
 msgstr ""
 
 #: actions/subscriptions.php:123 actions/subscriptions.php:127
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not listening to anyone."
-msgstr "%1$s ara està escoltant "
+msgstr "%s no escolta a ningú."
 
 #: actions/subscriptions.php:194
 msgid "Jabber"
@@ -3752,9 +3736,8 @@ msgid "API method under construction."
 msgstr "Mètode API en construcció."
 
 #: actions/unblock.php:59
-#, fuzzy
 msgid "You haven't blocked that user."
-msgstr "Ja havies bloquejat aquest usuari."
+msgstr "No heu blocat l'usuari."
 
 #: actions/unsandbox.php:72
 #, fuzzy
@@ -3831,26 +3814,20 @@ msgid "Welcome text for new users (Max 255 chars)."
 msgstr ""
 
 #: actions/useradminpanel.php:241
-#, fuzzy
 msgid "Default subscription"
-msgstr "Totes les subscripcions"
+msgstr "Subscripció per defecte"
 
 #: actions/useradminpanel.php:242
-#, fuzzy
 msgid "Automatically subscribe new users to this user."
-msgstr ""
-"Automàticament subscriure's a qualsevol que ho estigui a tu mateix (ideal "
-"per no-humans)"
+msgstr "Subscriviu automàticament els usuaris nous a aquest usuari."
 
 #: actions/useradminpanel.php:251
-#, fuzzy
 msgid "Invitations"
-msgstr "Invitació(ons) enviada(des)"
+msgstr "Invitacions"
 
 #: actions/useradminpanel.php:256
-#, fuzzy
 msgid "Invitations enabled"
-msgstr "Invitació(ons) enviada(des)"
+msgstr "S'han habilitat les invitacions"
 
 #: actions/useradminpanel.php:258
 msgid "Whether to allow users to invite new users."
@@ -3870,7 +3847,7 @@ msgstr ""
 
 #: actions/useradminpanel.php:276
 msgid "Session debugging"
-msgstr ""
+msgstr "Depuració de la sessió"
 
 #: actions/useradminpanel.php:278
 msgid "Turn on debugging output for sessions."
@@ -3909,9 +3886,8 @@ msgid "Reject"
 msgstr "Rebutja"
 
 #: actions/userauthorization.php:212
-#, fuzzy
 msgid "Reject this subscription"
-msgstr "%s subscripcions"
+msgstr "Rebutja la subscripció"
 
 #: actions/userauthorization.php:225
 msgid "No authorization request!"
@@ -3987,19 +3963,20 @@ msgid "No ID."
 msgstr "No ID"
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
-#, fuzzy
 msgid "Profile design"
-msgstr "Configuració del perfil"
+msgstr "Disseny del perfil"
 
 #: actions/userdesignsettings.php:87 lib/designsettings.php:76
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
 msgstr ""
+"Personalitzeu l'aspecte del vostre perfil amb una imatge de fons o una "
+"paleta de colors de la vostra elecció."
 
 #: actions/userdesignsettings.php:282
 msgid "Enjoy your hotdog!"
-msgstr ""
+msgstr "Gaudiu de l'entrepà!"
 
 #: actions/usergroups.php:64
 #, php-format
@@ -4084,16 +4061,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Ha estat bandejat de publicar notificacions en aquest lloc."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problema en guardar l'avís."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Error de BD en inserir resposta: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4149,129 +4126,129 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Pàgina sense titol"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Navegació primària del lloc"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Inici"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Perfil personal i línia temporal dels amics"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Compte"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Canviar correu electrònic, avatar, contrasenya, perfil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Connexió"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "No s'ha pogut redirigir al servidor: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Canvia la configuració del lloc"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Convida"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convidar amics i companys perquè participin a %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Finalitza la sessió"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Finalitza la sessió del lloc"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Crea un compte"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Inicia una sessió al lloc"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Ajuda"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Ajuda'm"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Cerca"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Cerca gent o text"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Avís del lloc"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Vistes locals"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Notificació pàgina"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Navegació del lloc secundària"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Quant a"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Preguntes més freqüents"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privadesa"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Font"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contacte"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Insígnia"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Llicència del programari StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4280,12 +4257,12 @@ msgstr ""
 "**%%site.name%%** és un servei de microblogging de [%%site.broughtby%%**](%%"
 "site.broughtbyurl%%)."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** és un servei de microblogging."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4296,32 +4273,32 @@ msgstr ""
 "%s, disponible sota la [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Llicència del programari StatusNet"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Tot "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "llicència."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginació"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Posteriors"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Anteriors"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Ha ocorregut algun problema amb la teva sessió."
 
@@ -4377,6 +4354,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr "Etiquetes de l'adjunció"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Contrasenya canviada."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Contrasenya canviada."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Resultats de les comandes"
@@ -4632,7 +4619,7 @@ msgstr ""
 
 #: lib/common.php:201
 msgid "You may wish to run the installer to fix this."
-msgstr ""
+msgstr "Podeu voler executar l'instal·lador per a corregir-ho."
 
 #: lib/common.php:202
 msgid "Go to the installer."
@@ -4655,9 +4642,8 @@ msgid "Database error"
 msgstr "Error de la base de dades"
 
 #: lib/designsettings.php:105
-#, fuzzy
 msgid "Upload file"
-msgstr "Pujar"
+msgstr "Puja un fitxer"
 
 #: lib/designsettings.php:109
 #, fuzzy
@@ -4667,7 +4653,7 @@ msgstr "Pots pujar el teu avatar personal."
 
 #: lib/designsettings.php:418
 msgid "Design defaults restored."
-msgstr ""
+msgstr "S'han restaurat els paràmetres de disseny per defecte."
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
@@ -4679,27 +4665,27 @@ msgstr "Fer favorita aquesta notificació"
 
 #: lib/favorform.php:140
 msgid "Favor"
-msgstr "Favorit"
+msgstr "Preferit"
 
 #: lib/feed.php:85
 msgid "RSS 1.0"
-msgstr ""
+msgstr "RSS 1.0"
 
 #: lib/feed.php:87
 msgid "RSS 2.0"
-msgstr ""
+msgstr "RSS 2.0"
 
 #: lib/feed.php:89
 msgid "Atom"
-msgstr ""
+msgstr "Atom"
 
 #: lib/feed.php:91
 msgid "FOAF"
-msgstr ""
+msgstr "FOAF"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr "Exportar data"
+msgstr "Exportació de les dades"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
@@ -5034,12 +5020,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5064,7 +5050,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "de"
 
@@ -5128,72 +5114,76 @@ msgstr "Enviar notificació directa"
 msgid "To"
 msgstr "A"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Caràcters disponibles"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Enviar notificació"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Què tal, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Adjunta"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Adjunta un fitxer"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "No"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Cap contingut!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "S'ha creat"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "respondre a aquesta nota"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Respon"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Notificació publicada"
@@ -5328,15 +5318,14 @@ msgstr "Destacat"
 msgid "Popular"
 msgstr "Popular"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
-msgstr "respondre a aquesta nota"
+msgid "Repeat this notice?"
+msgstr "Repeteix l'avís"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "Restablir"
+msgid "Repeat this notice"
+msgstr "Repeteix l'avís"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5409,7 +5398,7 @@ msgstr "%s grups són membres de"
 
 #: lib/subs.php:52
 msgid "Already subscribed!"
-msgstr ""
+msgstr "Ja hi esteu subscrit!"
 
 #: lib/subs.php:56
 msgid "User has blocked you."
@@ -5512,47 +5501,47 @@ msgstr "Missatge"
 msgid "Moderate"
 msgstr "Modera"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "fa pocs segons"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "fa un minut"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "fa %d minuts"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "fa una hora"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "fa %d hores"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "fa un dia"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "fa %d dies"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "fa un mes"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "fa %d mesos"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "fa un any"
 
@@ -5564,7 +5553,7 @@ msgstr "%s no és un color vàlid!"
 #: lib/webcolor.php:123
 #, php-format
 msgid "%s is not a valid color! Use 3 or 6 hex chars."
-msgstr ""
+msgstr "%s no és un color vàlid! Feu servir 3 o 6 caràcters hexadecimals."
 
 #: scripts/maildaemon.php:48
 msgid "Could not parse message."
@@ -5576,8 +5565,8 @@ msgstr "Usuari no registrat."
 
 #: scripts/maildaemon.php:57
 msgid "Sorry, that is not your incoming email address."
-msgstr "Perdó, aquest no és el teu correu electrònic entrant permès."
+msgstr "Ho sentim, aquesta no és la vostra adreça electrònica d'entrada."
 
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr "Perdó, no hi ha un correu electrònic entrant permès."
+msgstr "Ho sentim, no s'hi permet correu d'entrada."
index b224ef0a1902aaf8f4a968ed623f10327cebe6e5..73ffd3265e09cbc055c9a6c323ab6c462c10fa00 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:51:55+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:48+0000\n"
 "Language-Team: Czech\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: cs\n"
 "X-Message-Group: out-statusnet\n"
@@ -194,11 +194,11 @@ msgstr "Nelze aktualizovat uživatele"
 msgid "You cannot block yourself!"
 msgstr "Nelze aktualizovat uživatele"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -313,31 +313,31 @@ msgid "Could not find target user."
 msgstr "Nelze aktualizovat uživatele"
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 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 bez mezer"
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Přezdívku již někdo používá. Zkuste jinou"
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Není platnou přezdívkou."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Stránka není platnou URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Jméno je moc dlouhé (maximální délka je 255 znaků)"
@@ -348,7 +348,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Text je příliš dlouhý (maximální délka je 140 zanků)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Umístění příliš dlouhé (maximálně 255 znaků)"
@@ -469,7 +469,7 @@ msgstr "Je to příliš dlouhé. Maximální sdělení délka je 140 znaků"
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -602,7 +602,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Odstranit"
 
@@ -615,13 +615,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -686,6 +686,7 @@ msgstr "Žádný takový uživatel."
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Ano"
 
@@ -693,7 +694,7 @@ msgstr "Ano"
 msgid "Block this user"
 msgstr "Zablokovat tohoto uživatele"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -767,7 +768,7 @@ msgstr "Adresa již byla potvrzena"
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Nelze aktualizovat uživatele"
@@ -829,7 +830,7 @@ msgstr ""
 msgid "Do not delete this notice"
 msgstr "Žádné takové oznámení."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Odstranit toto oznámení"
 
@@ -971,8 +972,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1142,7 +1143,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1268,7 +1269,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1476,7 +1477,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1569,7 +1570,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "Uživatel nemá profil."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "Chyba při ukládaní uživatele"
@@ -1748,7 +1749,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Odeslat"
 
@@ -1848,7 +1849,7 @@ msgstr "Neplatné jméno nebo heslo"
 msgid "Error setting user. You are probably not authorized."
 msgstr "Neautorizován."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Přihlásit"
@@ -1958,7 +1959,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1966,7 +1967,7 @@ msgstr ""
 msgid "New notice"
 msgstr "Nové sdělení"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "Sdělení"
@@ -2197,82 +2198,120 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Nové sdělení"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Obrázek"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Nastavení"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Obrázek nahrán"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Obrázek nahrán"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Obnovit"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Sdělení"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Nové sdělení"
 
@@ -2367,70 +2406,79 @@ msgstr "Umístění"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Místo. Město, stát."
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Jazyk"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Text je příliš dlouhý (maximální délka je 140 zanků)"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Neplatná adresa '%s'"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Nelze uložit profil"
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Nelze uložit profil"
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "Nelze uložit profil"
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Nastavení uloženo"
 
@@ -2527,7 +2575,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2666,7 +2714,7 @@ msgstr "Chyba v ověřovacím kódu"
 msgid "Registration successful"
 msgstr "Registrace úspěšná"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registrovat"
@@ -2710,7 +2758,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Email"
 
@@ -2842,7 +2890,7 @@ msgstr "Nemůžete se registrovat, pokud nesouhlasíte s licencí."
 msgid "You already repeated that notice."
 msgstr "Již jste přihlášen"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Vytvořit"
@@ -3174,242 +3222,200 @@ msgstr "Uživatel nemá profil."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Není platnou mailovou adresou."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Nové sdělení"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Žádný registrovaný email pro tohoto uživatele."
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Umístění"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Obnovit"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Přijmout"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Soukromí"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Žádný takový uživatel."
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Obnovit"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Sdělení"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Nastavení"
@@ -4009,16 +4015,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problém při ukládání sdělení"
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Chyba v DB při vkládání odpovědi: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4077,135 +4083,135 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Domů"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "O nás"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Připojit"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Nelze přesměrovat na server: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Odběry"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Odhlásit"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "Vytvořit nový účet"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Nápověda"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Pomoci mi!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Hledat"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "Nové sdělení"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "Nové sdělení"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Odběry"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "O nás"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Soukromí"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Zdroj"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4214,12 +4220,12 @@ msgstr ""
 "**%%site.name%%** je služba microblogů, kterou pro vás poskytuje [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** je služba mikroblogů."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4230,34 +4236,34 @@ msgstr ""
 "dostupná pod [GNU Affero General Public License](http://www.fsf.org/"
 "licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Nové sdělení"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 #, fuzzy
 msgid "After"
 msgstr "« Novější"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "Starší »"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4312,6 +4318,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Heslo uloženo"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Heslo uloženo"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4970,12 +4986,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5000,7 +5016,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr " od "
@@ -5066,74 +5082,78 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6 a více znaků"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "Nové sdělení"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Co se děje %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Žádný obsah!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Vytvořit"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 #, fuzzy
 msgid "Reply"
 msgstr "odpověď"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Sdělení"
@@ -5266,15 +5286,15 @@ msgstr ""
 msgid "Popular"
 msgstr "Hledání lidí"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Odstranit toto oznámení"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Reset"
+msgid "Repeat this notice"
+msgstr "Odstranit toto oznámení"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5456,47 +5476,47 @@ msgstr "Zpráva"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "před pár sekundami"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "asi před minutou"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "asi před %d minutami"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "asi před hodinou"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "asi před %d hodinami"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "asi přede dnem"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "před %d dny"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "asi před měsícem"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "asi před %d mesíci"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "asi před rokem"
 
index 8e051779f222eee4bfd7d5279505292a04aad30a..80498e5d19c3630aa5c88f9688513a18d12e3eac 100644 (file)
@@ -1,6 +1,7 @@
 # Translation of StatusNet to German
 #
 # Author@translatewiki.net: Bavatar
+# Author@translatewiki.net: Lutzgh
 # Author@translatewiki.net: March
 # Author@translatewiki.net: Umherirrender
 # --
@@ -10,12 +11,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:51:58+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:52+0000\n"
 "Language-Team: German\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: de\n"
 "X-Message-Group: out-statusnet\n"
@@ -84,6 +85,8 @@ msgstr "Feed der Freunde von %s (Atom)"
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
 msgstr ""
+"Dies ist die Zeitleiste für %s und Freunde aber bisher hat niemand etwas "
+"gepostet."
 
 #: actions/all.php:132
 #, php-format
@@ -91,6 +94,8 @@ msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
 "something yourself."
 msgstr ""
+"Abonniere doch mehr Leute, [tritt einer Gruppe bei](%%action.groups%%) oder "
+"poste selber etwas."
 
 #: actions/all.php:134
 #, php-format
@@ -98,6 +103,9 @@ msgid ""
 "You can try to [nudge %s](../%s) from his profile or [post something to his "
 "or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"Du kannst [%s in seinem Profil einen Stups geben](../%s) oder [ihm etwas "
+"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit "
+"zu erregen."
 
 #: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
 #, php-format
@@ -105,6 +113,9 @@ msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
 "post a notice to his or her attention."
 msgstr ""
+"Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und "
+"gibst %s dann einen Stups oder postest ihm etwas, um seine Aufmerksamkeit zu "
+"erregen?"
 
 #: actions/all.php:165
 msgid "You and friends"
@@ -185,15 +196,14 @@ msgid "Could not update your design."
 msgstr "Konnte Benutzerdesign nicht aktualisieren."
 
 #: actions/apiblockcreate.php:105
-#, fuzzy
 msgid "You cannot block yourself!"
-msgstr "Du kannst dich nicht selbst entfolgen!"
+msgstr "Du kannst dich nicht selbst sperren!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Blockieren des Benutzers fehlgeschlagen."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Freigeben des Benutzers fehlgeschlagen."
 
@@ -308,7 +318,7 @@ msgid "Could not find target user."
 msgstr "Konnte keine Statusmeldungen finden."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -316,26 +326,26 @@ msgstr ""
 "Leerzeichen sind nicht erlaubt."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Nutzername wird bereits verwendet. Suche dir einen anderen aus."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Ungültiger Nutzername."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr ""
 "Homepage ist keine gültige URL. URL’s müssen ein Präfix wie http enthalten."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Der vollständige Name ist zu lang (maximal 255 Zeichen)."
@@ -346,7 +356,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Die Beschreibung ist zu lang (max. %d Zeichen)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Der eingegebene Aufenthaltsort ist zu lang (maximal 255 Zeichen)."
@@ -372,7 +382,7 @@ msgstr "Nutzername „%s“ wird bereits verwendet. Suche dir einen anderen aus.
 #: actions/apigroupcreate.php:286 actions/editgroup.php:234
 #: actions/newgroup.php:178
 msgid "Alias can't be the same as nickname."
-msgstr ""
+msgstr "Alias kann nicht das gleiche wie der Spitznamen sein."
 
 #: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
 #: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
@@ -441,9 +451,8 @@ msgid "Cannot repeat your own notice."
 msgstr "Konnte Benachrichtigung nicht aktivieren."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "Nachricht löschen"
+msgstr "Nachricht bereits wiederholt"
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -464,7 +473,7 @@ msgstr ""
 msgid "Not found"
 msgstr "Nicht gefunden"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -520,7 +529,7 @@ msgstr "%s Nachrichten von allen!"
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Von %s wiederholt"
 
 #: actions/apitimelineretweetedtome.php:111
 #, fuzzy, php-format
@@ -596,7 +605,7 @@ msgid "Preview"
 msgstr "Vorschau"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Löschen"
 
@@ -609,13 +618,13 @@ msgid "Crop"
 msgstr "Zuschneiden"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -678,6 +687,7 @@ msgstr "Diesen Benutzer freigeben"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Ja"
 
@@ -685,7 +695,7 @@ msgstr "Ja"
 msgid "Block this user"
 msgstr "Diesen Benutzer blockieren"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Konnte Blockierungsdaten nicht speichern."
 
@@ -757,7 +767,7 @@ msgstr "Diese Adresse wurde bereits bestätigt."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Konnte Benutzerdaten nicht aktualisieren."
@@ -819,7 +829,7 @@ msgstr "Bist du sicher, dass du diese Nachricht löschen möchtest?"
 msgid "Do not delete this notice"
 msgstr "Diese Nachricht nicht löschen"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Nachricht löschen"
 
@@ -955,8 +965,8 @@ msgstr "Standard wiederherstellen"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1130,7 +1140,7 @@ msgstr "Keine E-Mail-Adresse."
 msgid "Cannot normalize that email address"
 msgstr "Konnte diese E-Mail-Adresse nicht normalisieren"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Ungültige E-Mail-Adresse"
 
@@ -1257,29 +1267,25 @@ msgid "Featured users, page %d"
 msgstr "Top-Benutzer, Seite %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Eine Auswahl der tollen Benutzer auf %s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Keine Nachricht"
+msgstr "Keine Nachrichten ID"
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
 msgstr "Keine Nachricht"
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
 msgstr "Keine Anhänge vorhanden"
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "Kein solcher Anhang."
+msgstr "Kein Anhang geladen."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1452,7 +1458,7 @@ msgstr "%s Gruppen-Mitglieder, Seite %d"
 msgid "A list of the users in this group."
 msgstr "Liste der Benutzer in dieser Gruppe."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Admin"
 
@@ -1535,6 +1541,8 @@ msgid ""
 "Why not [register an account](%%action.register%%) and [create the group](%%"
 "action.newgroup%%) yourself!"
 msgstr ""
+"Warum [registrierst Du nicht einen Account](%%action.register%%) und [legst "
+"diese Gruppe selbst an](%%action.newgroup%%)?"
 
 #: actions/groupunblock.php:91
 msgid "Only an admin can unblock group members."
@@ -1544,7 +1552,7 @@ msgstr "Nur Administratoren können Gruppenmitglieder entsperren."
 msgid "User is not blocked from group."
 msgstr "Dieser Nutzer ist nicht von der Gruppe gesperrt."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Fehler beim Freigeben des Benutzers."
 
@@ -1736,7 +1744,7 @@ msgstr ""
 "Wenn du möchtest kannst du zu der Einladung eine persönliche Nachricht "
 "anfügen."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Senden"
 
@@ -1858,7 +1866,7 @@ msgid "Error setting user. You are probably not authorized."
 msgstr ""
 "Fehler beim setzen des Benutzers. Du bist vermutlich nicht autorisiert."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Anmelden"
@@ -1970,7 +1978,7 @@ msgstr "Nachricht gesendet"
 msgid "Direct message to %s sent"
 msgstr "Direkte Nachricht an %s abgeschickt"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax-Fehler"
 
@@ -1978,7 +1986,7 @@ msgstr "Ajax-Fehler"
 msgid "New notice"
 msgstr "Neue Nachricht"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Nachricht hinzugefügt"
 
@@ -2206,76 +2214,113 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Ungültiger SSL-Server. Die maximale Länge ist 255 Zeichen."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Seite"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Seitenpfad"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Avatare"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Avatar-Server"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Avatarpfad"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Avatarverzeichnis"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Wiederherstellung"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Manchmal"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Immer"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "SSL verwenden"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-Server"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Speicherpfade"
 
@@ -2371,73 +2416,82 @@ msgstr "Aufenthaltsort"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Wo du bist, beispielsweise „Stadt, Gebiet, Land“"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Tags"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Tags über dich selbst (Buchstaben, Zahlen, -, ., und _) durch Kommas oder "
 "Leerzeichen getrennt"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Sprache"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Bevorzugte Sprache"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Zeitzone"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "In welcher Zeitzone befindest du dich üblicherweise?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Abonniere automatisch alle Kontakte, die mich abonnieren (sinnvoll für Nicht-"
 "Menschen)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Die Biografie ist zu lang (max. %d Zeichen)"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Keine Zeitzone ausgewählt."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Die eingegebene Sprache ist zu lang (maximal 50 Zeichen)"
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Ungültiger Tag: „%s“"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Autosubscribe konnte nicht aktiviert werden."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Konnte Tags nicht speichern."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Konnte Profil nicht speichern."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Konnte Tags nicht speichern."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Einstellungen gespeichert."
 
@@ -2533,7 +2587,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Tag-Wolke"
 
@@ -2671,7 +2725,7 @@ msgstr "Entschuldigung, ungültiger Bestätigungscode."
 msgid "Registration successful"
 msgstr "Registrierung erfolgreich"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registrieren"
@@ -2718,7 +2772,7 @@ msgid "Same as password above. Required."
 msgstr "Gleiches Passwort wie zuvor. Pflichteingabe."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-Mail"
 
@@ -2869,7 +2923,7 @@ msgstr ""
 msgid "You already repeated that notice."
 msgstr "Du hast diesen Benutzer bereits blockiert."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Erstellt"
@@ -3205,248 +3259,203 @@ msgstr "Dieser Benutzer hat dich blockiert."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Du musst eine gültige E-Mail-Adresse haben"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Unbekannte Sprache „%s“"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Seitennachricht"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
-#, fuzzy
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
-msgstr "Neue E-Mail-Adresse um auf %s zu schreiben"
+msgstr "Kontakt-E-Mail-Adresse für Deine Site."
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Lokale Ansichten"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Bevorzugte Sprache"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Wiederherstellung"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
-msgstr ""
+msgstr "Schicke URLs."
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
-msgstr ""
+msgstr "Schicke URLs (lesbarer und besser zu merken) verwenden?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Akzeptieren"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Privatsphäre"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Einladen"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Blockieren"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Wiederherstellung"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
-msgstr ""
+msgstr "Frequenz"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Nachrichten"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
-#, fuzzy
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
-msgstr "Avatar-Einstellungen"
+msgstr "Site-Einstellungen speichern"
 
 #: actions/smssettings.php:58
 msgid "SMS Settings"
@@ -3589,6 +3598,8 @@ msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
 "return the favor"
 msgstr ""
+"Du hast keine Abonnenten. Warum abonnierst Du nicht Leute, die Du kennst? "
+"Sie werden Dir diesen Gefallen vielleicht auch tun."
 
 #: actions/subscribers.php:110
 #, php-format
@@ -3601,6 +3612,8 @@ msgid ""
 "%s has no subscribers. Why not [register an account](%%%%action.register%%%"
 "%) and be the first?"
 msgstr ""
+"% hat keine Abonnenten. Warum [registrierst Du nicht einen Account](%%%%"
+"action.register%%%%) und bist der erste?"
 
 #: actions/subscriptions.php:52
 #, php-format
@@ -3720,9 +3733,8 @@ msgid "API method under construction."
 msgstr "API-Methode im Aufbau."
 
 #: actions/unblock.php:59
-#, fuzzy
 msgid "You haven't blocked that user."
-msgstr "Du hast diesen Benutzer bereits blockiert."
+msgstr "Du hast diesen Benutzer nicht blockiert."
 
 #: actions/unsandbox.php:72
 #, fuzzy
@@ -4052,16 +4064,16 @@ msgid "You are banned from posting notices on this site."
 msgstr ""
 "Du wurdest für das Schreiben von Nachrichten auf dieser Seite gesperrt."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problem bei Speichern der Nachricht."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Datenbankfehler beim Einfügen der Antwort: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4117,131 +4129,131 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Seite ohne Titel"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Hauptnavigation"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Startseite"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Persönliches Profil und Freundes-Zeitleiste"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Konto"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Ändere deine E-Mail, dein Avatar, Passwort, Profil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Verbinden"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Konnte nicht zum Server umleiten: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Hauptnavigation"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Einladen"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 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"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Abmelden"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Von der Seite abmelden"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Neues Konto erstellen"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Auf der Seite anmelden"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Hilfe"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Hilf mir!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Suchen"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Suche nach Leuten oder Text"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Seitennachricht"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Lokale Ansichten"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Neue Nachricht"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Unternavigation"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Über"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
-msgstr ""
+msgstr "AGB"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privatsphäre"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Quellcode"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 #, fuzzy
 msgid "Badge"
 msgstr "Stups"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "StatusNet-Software-Lizenz"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4250,12 +4262,12 @@ msgstr ""
 "**%%site.name%%** ist ein Microbloggingdienst von [%%site.broughtby%%](%%"
 "site.broughtbyurl%%)."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** ist ein Microbloggingdienst."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4266,33 +4278,32 @@ msgstr ""
 "(Version %s) betrieben, die unter der [GNU Affero General Public License]"
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html) erhältlich ist."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "StatusNet-Software-Lizenz"
 
-#: lib/action.php:799
+#: lib/action.php:800
 #, fuzzy
 msgid "All "
 msgstr "Alle "
 
-#: lib/action.php:804
-#, fuzzy
+#: lib/action.php:805
 msgid "license."
 msgstr "Lizenz."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Seitenerstellung"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Später"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Vorher"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Es gab ein Problem mit deinem Sessiontoken."
 
@@ -4348,6 +4359,16 @@ msgstr "Nachrichten in denen dieser Anhang erscheint"
 msgid "Tags for this attachment"
 msgstr "Tags für diesen Anhang"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Passwort geändert"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Passwort geändert"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Befehl-Ergebnisse"
@@ -4531,9 +4552,8 @@ msgstr[0] "Du hast diese Benutzer bereits abonniert:"
 msgstr[1] "Du hast diese Benutzer bereits abonniert:"
 
 #: lib/command.php:707
-#, fuzzy
 msgid "No one is subscribed to you."
-msgstr "Die Gegenseite konnte Dich nicht abonnieren."
+msgstr "Niemand hat Dich abonniert."
 
 #: lib/command.php:709
 msgid "This person is subscribed to you:"
@@ -4542,9 +4562,8 @@ msgstr[0] "Die Gegenseite konnte Dich nicht abonnieren."
 msgstr[1] "Die Gegenseite konnte Dich nicht abonnieren."
 
 #: lib/command.php:729
-#, fuzzy
 msgid "You are not a member of any groups."
-msgstr "Du bist kein Mitglied dieser Gruppe."
+msgstr "Du bist in keiner Gruppe Mitglied."
 
 #: lib/command.php:731
 msgid "You are a member of this group:"
@@ -4594,13 +4613,12 @@ msgid ""
 msgstr ""
 
 #: lib/common.php:199
-#, fuzzy
 msgid "No configuration file found. "
-msgstr "Kein Bestätigungs-Code."
+msgstr "Keine Konfigurationsdatei gefunden."
 
 #: lib/common.php:200
 msgid "I looked for configuration files in the following places: "
-msgstr ""
+msgstr "Ich habe an folgenden Stellen nach Konfigurationsdateien gesucht: "
 
 #: lib/common.php:201
 msgid "You may wish to run the installer to fix this."
@@ -4625,19 +4643,18 @@ msgstr "Aktualisierungen via SMS"
 
 #: lib/dberroraction.php:60
 msgid "Database error"
-msgstr ""
+msgstr "Datenbankfehler."
 
 #: lib/designsettings.php:105
-#, fuzzy
 msgid "Upload file"
-msgstr "Hochladen"
+msgstr "Datei hochladen"
 
 #: lib/designsettings.php:109
-#, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
-"Du kannst dein persönliches Avatar hochladen. Die maximale Dateigröße ist %s."
+"Du kannst dein persönliches Hintergrundbild hochladen. Die maximale "
+"Dateigröße ist 2MB."
 
 #: lib/designsettings.php:418
 msgid "Design defaults restored."
@@ -4700,9 +4717,8 @@ msgid "Choose a tag to narrow list"
 msgstr "Wähle einen Tag, um die Liste einzuschränken"
 
 #: lib/galleryaction.php:143
-#, fuzzy
 msgid "Go"
-msgstr "Los"
+msgstr "Los geht's"
 
 #: lib/groupeditform.php:163
 #, fuzzy
@@ -4720,7 +4736,6 @@ msgid "Describe the group or topic in %d characters"
 msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
 
 #: lib/groupeditform.php:172
-#, fuzzy
 msgid "Description"
 msgstr "Beschreibung"
 
@@ -4740,9 +4755,8 @@ msgid "Group"
 msgstr "Gruppe"
 
 #: lib/groupnav.php:101
-#, fuzzy
 msgid "Blocked"
-msgstr "Blockieren"
+msgstr "Blockiert"
 
 #: lib/groupnav.php:102
 #, fuzzy, php-format
@@ -4755,7 +4769,6 @@ msgid "Edit %s group properties"
 msgstr "%s Gruppeneinstellungen bearbeiten"
 
 #: lib/groupnav.php:113
-#, fuzzy
 msgid "Logo"
 msgstr "Logo"
 
@@ -4829,12 +4842,10 @@ msgid "[%s]"
 msgstr ""
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
 msgstr "Beitreten"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
 msgstr "Verlassen"
 
@@ -4868,6 +4879,19 @@ msgid ""
 "Thanks for your time, \n"
 "%s\n"
 msgstr ""
+"Hallo %s,\n"
+"\n"
+"jemand hat diese E-Mail-Adresse gerade auf %s eingegeben.\n"
+"\n"
+"Falls Du es warst und Du Deinen Eintrag bestätigen möchtest, benutze\n"
+"bitte diese URL:\n"
+"\n"
+"%s\n"
+"\n"
+"Falls nicht, ignoriere diese Nachricht einfach.\n"
+"\n"
+"Vielen Dank!\n"
+"%s\n"
 
 #: lib/mail.php:236
 #, php-format
@@ -4875,7 +4899,7 @@ msgid "%1$s is now listening to your notices on %2$s."
 msgstr "%1$s hat deine Nachrichten auf %2$s abonniert."
 
 #: lib/mail.php:241
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "%1$s is now listening to your notices on %2$s.\n"
 "\n"
@@ -4890,23 +4914,28 @@ msgid ""
 msgstr ""
 "%1$s hat deine Nachrichten auf %2$s abonniert.\n"
 "\n"
-"\t%3$s\n"
+"%3$s\n"
+"\n"
+"%4$s%5$s%6$s\n"
+"Mit freundlichen Grüßen,\n"
+"%7$s.\n"
 "\n"
-"Gruß,\n"
-"%4$s.\n"
+"----\n"
+"Du kannst Deine E-Mail-Adresse und die Benachrichtigungseinstellungen auf %8"
+"$s ändern.\n"
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
 msgstr "Standort: %s\n"
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
 msgstr "Homepage: %s\n"
 
 #: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Bio: %s\n"
 "\n"
@@ -4969,6 +4998,17 @@ 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, "
+"etwas Neues zu posten.\n"
+"\n"
+"Lass von Dir hören :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"Antworte nicht auf diese E-Mail, sie wird niemanden erreichen.\n"
+"\n"
+"Mit freundlichen Grüßen,\n"
+"%4$s\n"
 
 #: lib/mail.php:510
 #, php-format
@@ -4993,11 +5033,25 @@ msgid ""
 "With kind regards,\n"
 "%5$s\n"
 msgstr ""
+"%1$s (%2$s) hat Dir eine private Nachricht geschickt:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"Du kannst auf diese Nachricht hier antworten:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Antworte nicht auf diese E-Mail, sie wird niemanden erreichen.\n"
+"\n"
+"Mit freundlichen Grüßen,\n"
+"%5$s\n"
 
 #: lib/mail.php:559
-#, fuzzy, php-format
+#, php-format
 msgid "%s (@%s) added your notice as a favorite"
-msgstr "%s hat deine Nachricht als Favorit gespeichert"
+msgstr "%s (@%s) hat deine Nachricht als Favorit gespeichert"
 
 #: lib/mail.php:561
 #, php-format
@@ -5020,12 +5074,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5049,8 +5103,11 @@ msgid ""
 "You have no private messages. You can send private message to engage other "
 "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 "
+"Nachrichten schicken, die nur Du sehen kannst."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr "von"
@@ -5116,91 +5173,92 @@ msgstr "Versende eine direkte Nachricht"
 msgid "To"
 msgstr "An"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "Verfügbare Zeichen"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "Nachricht versenden"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Was ist los, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "Nein"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "im Zusammenhang"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Erstellt"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Auf diese Nachricht antworten"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Antworten"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Nachricht gelöscht."
 
 #: lib/nudgeform.php:116
-#, fuzzy
 msgid "Nudge this user"
-msgstr "Diesen Benutzer stupsen"
+msgstr "Gib diesem Benutzer einen Stups"
 
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Nudge"
 msgstr "Stups"
 
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Send a nudge to this user"
-msgstr "Sende diesem Benutzer einen Stupser"
+msgstr "Sende diesem Benutzer einen Stups"
 
 #: lib/oauthstore.php:283
 msgid "Error inserting new profile"
@@ -5318,15 +5376,15 @@ msgstr "Featured"
 msgid "Popular"
 msgstr "Beliebt"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Auf diese Nachricht antworten"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Zurücksetzen"
+msgid "Repeat this notice"
+msgstr "Auf diese Nachricht antworten"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5339,9 +5397,8 @@ msgid "Sandbox this user"
 msgstr "Benutzer freigeben"
 
 #: lib/searchaction.php:120
-#, fuzzy
 msgid "Search site"
-msgstr "Suchen"
+msgstr "Site durchsuchen"
 
 #: lib/searchaction.php:126
 msgid "Keyword(s)"
@@ -5403,7 +5460,7 @@ msgstr "Gruppen in denen %s Mitglied ist"
 
 #: lib/subs.php:52
 msgid "Already subscribed!"
-msgstr ""
+msgstr "Bereits abonniert!"
 
 #: lib/subs.php:56
 msgid "User has blocked you."
@@ -5508,47 +5565,47 @@ msgstr "Nachricht"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "vor wenigen Sekunden"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "vor einer Minute"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "vor %d Minuten"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "vor einer Stunde"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "vor %d Stunden"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "vor einem Tag"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "vor %d Tagen"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "vor einem Monat"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "vor %d Monaten"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "vor einem Jahr"
 
index 715e7b6c1a44341817a4e6370e59bf1dc8c7f716..33c1a818f1f245da4e9b48181f5b3b9d9b9d251c 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:01+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:10:56+0000\n"
 "Language-Team: Greek\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: el\n"
 "X-Message-Group: out-statusnet\n"
@@ -191,11 +191,11 @@ msgstr "Απέτυχε η ενημέρωση του χρήστη."
 msgid "You cannot block yourself!"
 msgstr "Δεν μπορείτε να εμποδίσετε τον εαυτό σας!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -311,31 +311,31 @@ msgid "Could not find target user."
 msgstr "Απέτυχε η εύρεση οποιασδήποτε κατάστασης."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Το ψευδώνυμο πρέπει να έχει μόνο πεζούς χαρακτήρες και χωρίς κενά."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Το ψευδώνυμο είναι ήδη σε χρήση. Δοκιμάστε κάποιο άλλο."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr ""
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Η αρχική σελίδα δεν είναι έγκυρο URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Το ονοματεπώνυμο είναι πολύ μεγάλο (μέγιστο 255 χαρακτ.)."
@@ -346,7 +346,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Η περιγραφή είναι πολύ μεγάλη (μέγιστο %d χαρακτ.)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Η τοποθεσία είναι πολύ μεγάλη (μέγιστο 255 χαρακτ.)."
@@ -463,7 +463,7 @@ msgstr ""
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -592,7 +592,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Διαγραφή"
 
@@ -605,13 +605,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -676,6 +676,7 @@ msgstr "Αδυναμία διαγραφής αυτού του μηνύματος
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Ναί"
 
@@ -683,7 +684,7 @@ msgstr "Ναί"
 msgid "Block this user"
 msgstr ""
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -755,7 +756,7 @@ msgstr ""
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Απέτυχε η ενημέρωση του χρήστη."
@@ -817,7 +818,7 @@ msgstr "Είσαι σίγουρος ότι θες να διαγράψεις αυ
 msgid "Do not delete this notice"
 msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr ""
 
@@ -955,8 +956,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1129,7 +1130,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr "Αδυναμία κανονικοποίησης αυτής της email διεύθυνσης"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1257,7 +1258,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1454,7 +1455,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Διαχειριστής"
 
@@ -1543,7 +1544,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr ""
 
@@ -1718,7 +1719,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr ""
 
@@ -1814,7 +1815,7 @@ msgstr "Λάθος όνομα χρήστη ή κωδικός"
 msgid "Error setting user. You are probably not authorized."
 msgstr ""
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Σύνδεση"
@@ -1926,7 +1927,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1934,7 +1935,7 @@ msgstr ""
 msgid "New notice"
 msgstr ""
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr ""
 
@@ -2161,80 +2162,117 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Ρυθμίσεις OpenID"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Ρυθμίσεις OpenID"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Ρυθμίσεις OpenID"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Ρυθμίσεις OpenID"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Αποχώρηση"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr ""
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr ""
 
@@ -2325,34 +2363,38 @@ msgstr "Τοποθεσία"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr ""
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 #, fuzzy
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
@@ -2360,38 +2402,43 @@ msgstr ""
 "Αυτόματα γίνε συνδρομητής σε όσους γίνονται συνδρομητές σε μένα  (χρήση "
 "κυρίως από λογισμικό και όχι ανθρώπους)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Το βιογραφικό είναι πολύ μεγάλο (μέγιστο 140 χαρακτ.)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr ""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Απέτυχε η ενημέρωση του χρήστη για την αυτόματη συνδρομή."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Αδύνατη η αποθήκευση του προφίλ."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Απέτυχε η αποθήκευση του προφίλ."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "Αδύνατη η αποθήκευση του προφίλ."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr ""
 
@@ -2485,7 +2532,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2623,7 +2670,7 @@ msgstr ""
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr ""
@@ -2667,7 +2714,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Email"
 
@@ -2811,7 +2858,7 @@ msgstr ""
 msgid "You already repeated that notice."
 msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Δημιουργία"
@@ -3138,236 +3185,195 @@ msgstr ""
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Αδυναμία κανονικοποίησης αυτής της email διεύθυνσης"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr ""
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Η διεύθυνση του εισερχόμενου email αφαιρέθηκε."
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Τοπικός"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Αποχώρηση"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Πρόσβαση"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr ""
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr ""
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Αποχώρηση"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr ""
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Ρυθμίσεις OpenID"
@@ -3943,16 +3949,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr ""
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Σφάλμα βάσης δεδομένων κατά την εισαγωγή απάντησης: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4008,129 +4014,129 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Αρχή"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Λογαριασμός"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Σύνδεση"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Αδυναμία ανακατεύθηνσης στο διακομιστή: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr ""
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Προσκάλεσε φίλους και συναδέλφους σου να γίνουν μέλη στο %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Αποσύνδεση"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Δημιουργία έναν λογαριασμού"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Βοήθεια"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Βοηθήστε με!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr ""
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr ""
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr ""
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Περί"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Συχνές ερωτήσεις"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr ""
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr ""
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Επικοινωνία"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4139,13 +4145,13 @@ msgstr ""
 "To **%%site.name%%** είναι μία υπηρεσία microblogging (μικρο-ιστολογίου) που "
 "έφερε κοντά σας το  [%%site.broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, fuzzy, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
 "Το **%%site.name%%** είναι μία υπηρεσία microblogging (μικρο-ιστολογίου). "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4153,31 +4159,31 @@ msgid ""
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr ""
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr ""
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr ""
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4232,6 +4238,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Ο κωδικός αποθηκεύτηκε."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Ο κωδικός αποθηκεύτηκε."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4870,12 +4886,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4900,7 +4916,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "από"
 
@@ -4965,69 +4981,73 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Διαθέσιμοι χαρακτήρες"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr ""
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr ""
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr ""
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Επαναλαμβάνεται από"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr ""
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Ρυθμίσεις OpenID"
@@ -5158,14 +5178,15 @@ msgstr "Προτεινόμενα"
 msgid "Popular"
 msgstr "Δημοφιλή"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr ""
+#, fuzzy
+msgid "Repeat this notice"
+msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5342,47 +5363,47 @@ msgstr "Μήνυμα"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr ""
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr ""
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr ""
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr ""
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr ""
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr ""
 
index 198d7079a00ab3ce9820d37a849592b7fa83481e..61660c2fd75a49733919e4f8486d82021bb5a40b 100644 (file)
@@ -1,5 +1,6 @@
 # Translation of StatusNet to British English
 #
+# Author@translatewiki.net: Bruce89
 # Author@translatewiki.net: CiaranG
 # Author@translatewiki.net: Lockal
 # --
@@ -9,12 +10,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:04+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:01+0000\n"
 "Language-Team: British English\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: en-gb\n"
 "X-Message-Group: out-statusnet\n"
@@ -83,6 +84,7 @@ msgstr "Feed for friends of %s (Atom)"
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
 msgstr ""
+"This is the timeline for %s and friends but no one has posted anything yet."
 
 #: actions/all.php:132
 #, php-format
@@ -90,6 +92,8 @@ msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
 "something yourself."
 msgstr ""
+"Try subscribing to more people, [join a group](%%action.groups%%) or post "
+"something yourself."
 
 #: actions/all.php:134
 #, php-format
@@ -97,6 +101,8 @@ msgid ""
 "You can try to [nudge %s](../%s) from his profile or [post something to his "
 "or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"You can try to [nudge %s](../%s) from his profile or [post something to his "
+"or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
 
 #: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
 #, php-format
@@ -104,6 +110,8 @@ msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
 "post a notice to his or her attention."
 msgstr ""
+"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
+"post a notice to his or her attention."
 
 #: actions/all.php:165
 msgid "You and friends"
@@ -142,6 +150,8 @@ msgid ""
 "You must specify a parameter named 'device' with a value of one of: sms, im, "
 "none"
 msgstr ""
+"You must specify a parameter named 'device' with a value of one of: sms, im, "
+"none"
 
 #: actions/apiaccountupdatedeliverydevice.php:132
 #, fuzzy
@@ -172,6 +182,8 @@ 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."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:136
 #: actions/apiaccountupdateprofilebackgroundimage.php:146
@@ -186,15 +198,14 @@ msgid "Could not update your design."
 msgstr "Could not update your design."
 
 #: actions/apiblockcreate.php:105
-#, fuzzy
 msgid "You cannot block yourself!"
-msgstr "Couldn't update user."
+msgstr "You cannot block yourself!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Block user failed."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Unblock user failed."
 
@@ -291,7 +302,7 @@ msgstr "Could not unfollow user: User not found."
 
 #: actions/apifriendshipsdestroy.php:120
 msgid "You cannot unfollow yourself!"
-msgstr ""
+msgstr "You cannot unfollow yourself!"
 
 #: actions/apifriendshipsexists.php:94
 msgid "Two user ids or screen_names must be supplied."
@@ -306,31 +317,31 @@ msgid "Could not find target user."
 msgstr "Could not find target user."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Nickname must have only lowercase letters and numbers, and no spaces."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Nickname already in use. Try another one."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Not a valid nickname."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Homepage is not a valid URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Full name is too long (max 255 chars)."
@@ -341,7 +352,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Description is too long (max %d chars)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Location is too long (max 255 chars)."
@@ -350,7 +361,7 @@ msgstr "Location is too long (max 255 chars)."
 #: actions/newgroup.php:159
 #, php-format
 msgid "Too many aliases! Maximum %d."
-msgstr ""
+msgstr "Too many aliases! Maximum %d."
 
 #: actions/apigroupcreate.php:264 actions/editgroup.php:224
 #: actions/newgroup.php:168
@@ -367,7 +378,7 @@ msgstr "Alias \"%s\" already in use. Try another one."
 #: actions/apigroupcreate.php:286 actions/editgroup.php:234
 #: actions/newgroup.php:178
 msgid "Alias can't be the same as nickname."
-msgstr ""
+msgstr "Alias can't be the same as nickname."
 
 #: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
 #: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
@@ -381,22 +392,21 @@ msgstr "You are already a member of that group."
 
 #: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
 msgid "You have been blocked from that group by the admin."
-msgstr ""
+msgstr "You have been blocked from that group by the admin."
 
 #: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s."
-msgstr "Could not join user %s to group %s"
+msgstr "Could not join user %s to group %s."
 
 #: actions/apigroupleave.php:114
-#, fuzzy
 msgid "You are not a member of this group."
-msgstr "You are not a member of that group."
+msgstr "You are not a member of this group."
 
 #: actions/apigroupleave.php:124
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s."
-msgstr "Could not remove user %s to group %s"
+msgstr "Could not remove user %s to group %s."
 
 #: actions/apigrouplist.php:95
 #, php-format
@@ -432,14 +442,12 @@ msgid "No such notice."
 msgstr "No such notice."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Can't turn on notification."
+msgstr "Cannot repeat your own notice."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "Delete this notice"
+msgstr "Already repeated that notice."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -459,15 +467,14 @@ msgstr "That's too long. Max notice size is %d chars."
 msgid "Not found"
 msgstr "Not found"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
+msgstr "Max notice size is %d chars, including attachment URL."
 
 #: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
-#, fuzzy
 msgid "Unsupported format."
-msgstr "Unsupported image file format."
+msgstr "Unsupported format."
 
 #: actions/apitimelinefavorites.php:108
 #, php-format
@@ -514,17 +521,17 @@ msgstr "%s updates from everyone!"
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Repeated by %s"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "Replies to %s"
+msgstr "Repeated to %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "Replies to %s"
+msgstr "Repeats of %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -541,9 +548,8 @@ msgid "Not found."
 msgstr "Not found."
 
 #: actions/attachment.php:73
-#, fuzzy
 msgid "No such attachment."
-msgstr "No such document."
+msgstr "No such attachment."
 
 #: actions/avatarbynickname.php:59 actions/grouprss.php:91
 #: actions/leavegroup.php:76
@@ -590,7 +596,7 @@ msgid "Preview"
 msgstr "Preview"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Delete"
 
@@ -603,13 +609,13 @@ msgid "Crop"
 msgstr "Crop"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -642,14 +648,12 @@ msgid "Failed updating avatar."
 msgstr "Failed updating avatar."
 
 #: actions/avatarsettings.php:393
-#, fuzzy
 msgid "Avatar deleted."
-msgstr "Avatar updated."
+msgstr "Avatar deleted."
 
 #: actions/block.php:69
-#, fuzzy
 msgid "You already blocked that user."
-msgstr "You have already blocked this user."
+msgstr "You already blocked that user."
 
 #: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
 msgid "Block user"
@@ -661,6 +665,9 @@ msgid ""
 "unsubscribed from you, unable to subscribe to you in the future, and you "
 "will not be notified of any @-replies from them."
 msgstr ""
+"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 "
+"will not be notified of any @-replies from them."
 
 #: actions/block.php:143 actions/deletenotice.php:145
 #: actions/deleteuser.php:147 actions/groupblock.php:178
@@ -668,12 +675,12 @@ msgid "No"
 msgstr "No"
 
 #: actions/block.php:143 actions/deleteuser.php:147
-#, fuzzy
 msgid "Do not block this user"
-msgstr "Unblock this user"
+msgstr "Do not block this user"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Yes"
 
@@ -681,7 +688,7 @@ msgstr "Yes"
 msgid "Block this user"
 msgstr "Block this user"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Failed to save block information."
 
@@ -753,7 +760,7 @@ msgstr "That address has already been confirmed."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Couldn't update user."
@@ -796,7 +803,6 @@ msgid "Can't delete this notice."
 msgstr "Can't delete this notice."
 
 #: actions/deletenotice.php:103
-#, fuzzy
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -816,35 +822,33 @@ msgstr "Are you sure you want to delete this notice?"
 msgid "Do not delete this notice"
 msgstr "Do not delete this notice"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Delete this notice"
 
 #: actions/deletenotice.php:157
-#, fuzzy
 msgid "There was a problem with your session token.  Try again, please."
-msgstr "There was a problem with your session token. Try again, please."
+msgstr "There was a problem with your session token.  Try again, please."
 
 #: actions/deleteuser.php:67
-#, fuzzy
 msgid "You cannot delete users."
-msgstr "Couldn't update user."
+msgstr "You cannot delete users."
 
 #: actions/deleteuser.php:74
-#, fuzzy
 msgid "You can only delete local users."
-msgstr "You may not delete another user's status."
+msgstr "You can only delete local users."
 
 #: actions/deleteuser.php:110 actions/deleteuser.php:133
-#, fuzzy
 msgid "Delete user"
-msgstr "Delete"
+msgstr "Delete user"
 
 #: actions/deleteuser.php:135
 msgid ""
 "Are you sure you want to delete this user? This will clear all data about "
 "the user from the database, without a backup."
 msgstr ""
+"Are you sure you want to delete this user? This will clear all data about "
+"the user from the database, without a backup."
 
 #: actions/deleteuser.php:148 lib/deleteuserform.php:77
 msgid "Delete this user"
@@ -853,30 +857,28 @@ msgstr "Delete this user"
 #: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
 #: lib/adminpanelaction.php:302 lib/groupnav.php:119
 msgid "Design"
-msgstr ""
+msgstr "Design"
 
 #: actions/designadminpanel.php:73
 msgid "Design settings for this StatusNet site."
-msgstr ""
+msgstr "Design settings for this StausNet site."
 
 #: actions/designadminpanel.php:275
-#, fuzzy
 msgid "Invalid logo URL."
-msgstr "Invalid size."
+msgstr "nvalid logo URL."
 
 #: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
 msgid "Theme not available: %s"
-msgstr "This page is not available in a "
+msgstr "Theme not available: %s"
 
 #: actions/designadminpanel.php:375
 msgid "Change logo"
 msgstr "Change logo"
 
 #: actions/designadminpanel.php:380
-#, fuzzy
 msgid "Site logo"
-msgstr "Invite"
+msgstr "Site logo"
 
 #: actions/designadminpanel.php:387
 #, fuzzy
@@ -894,12 +896,12 @@ msgstr "Logout from the site"
 
 #: actions/designadminpanel.php:417 lib/designsettings.php:101
 msgid "Change background image"
-msgstr ""
+msgstr "Change background image"
 
 #: actions/designadminpanel.php:422 actions/designadminpanel.php:497
 #: lib/designsettings.php:178
 msgid "Background"
-msgstr ""
+msgstr "Background"
 
 #: actions/designadminpanel.php:427
 #, fuzzy, php-format
@@ -910,19 +912,19 @@ msgstr "You can upload a logo image for your group."
 
 #: actions/designadminpanel.php:457 lib/designsettings.php:139
 msgid "On"
-msgstr ""
+msgstr "On"
 
 #: actions/designadminpanel.php:473 lib/designsettings.php:155
 msgid "Off"
-msgstr ""
+msgstr "Off"
 
 #: actions/designadminpanel.php:474 lib/designsettings.php:156
 msgid "Turn background image on or off."
-msgstr ""
+msgstr "Turn background image on or off."
 
 #: actions/designadminpanel.php:479 lib/designsettings.php:161
 msgid "Tile background image"
-msgstr ""
+msgstr "Tile background image"
 
 #: actions/designadminpanel.php:488 lib/designsettings.php:170
 msgid "Change colours"
@@ -948,20 +950,20 @@ msgstr "Links"
 
 #: actions/designadminpanel.php:577 lib/designsettings.php:247
 msgid "Use defaults"
-msgstr ""
+msgstr "Use defaults"
 
 #: actions/designadminpanel.php:578 lib/designsettings.php:248
 msgid "Restore default designs"
-msgstr ""
+msgstr "Restore default designs"
 
 #: actions/designadminpanel.php:584 lib/designsettings.php:254
 msgid "Reset back to default"
-msgstr ""
+msgstr "Reset back to default"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -970,7 +972,7 @@ msgstr "Save"
 
 #: actions/designadminpanel.php:587 lib/designsettings.php:257
 msgid "Save design"
-msgstr ""
+msgstr "Save design"
 
 #: actions/disfavor.php:81
 msgid "This notice is not a favorite!"
@@ -1131,7 +1133,7 @@ msgstr "No e-mail address."
 msgid "Cannot normalize that email address"
 msgstr "Cannot normalise that e-mail address"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Not a valid e-mail address."
 
@@ -1262,8 +1264,8 @@ msgid "Featured users, page %d"
 msgstr "Featured users, page %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "A selection of some of the great users on %s"
 
 #: actions/file.php:34
@@ -1356,7 +1358,7 @@ msgstr "No profile specified."
 
 #: actions/groupblock.php:91
 msgid "Only an admin can block group members."
-msgstr ""
+msgstr "Only an admin can block group members."
 
 #: actions/groupblock.php:95
 msgid "User is already blocked from group."
@@ -1378,6 +1380,9 @@ msgid ""
 "be removed from the group, unable to post, and unable to subscribe to the "
 "group in the future."
 msgstr ""
+"Are you sure you want to block user \"%s\" from the group \"%s\"? They will "
+"be removed from the group, unable to post, and unable to subscribe to the "
+"group in the future."
 
 #: actions/groupblock.php:178
 msgid "Do not block this user from this group"
@@ -1389,7 +1394,7 @@ msgstr "Block this user from this group"
 
 #: actions/groupblock.php:196
 msgid "Database error blocking user from group."
-msgstr ""
+msgstr "Database error blocking user from group."
 
 #: actions/groupbyid.php:74
 msgid "No ID"
@@ -1410,6 +1415,8 @@ msgid ""
 "Customize the way your group looks with a background image and a colour "
 "palette of your choice."
 msgstr ""
+"Customise the way your group looks with a background image and a colour "
+"palette of your choice."
 
 #: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
 #: lib/designsettings.php:391 lib/designsettings.php:413
@@ -1466,7 +1473,7 @@ msgstr "%s group members, page %d"
 msgid "A list of the users in this group."
 msgstr "A list of the users in this group."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Admin"
 
@@ -1558,7 +1565,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "User is not blocked from group."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Error removing the block."
 
@@ -1584,7 +1591,7 @@ msgid "Current confirmed Jabber/GTalk address."
 msgstr "Current confirmed Jabber/GTalk address."
 
 #: actions/imsettings.php:114
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
 "message with further instructions. (Did you add %s to your buddy list?)"
@@ -1740,7 +1747,7 @@ msgstr "Personal message"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Optionally add a personal message to the invitation."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Send"
 
@@ -1864,7 +1871,7 @@ msgstr "Incorrect username or password."
 msgid "Error setting user. You are probably not authorized."
 msgstr "You are not authorised."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Login"
@@ -1976,7 +1983,7 @@ msgstr "Message sent"
 msgid "Direct message to %s sent"
 msgstr "Direct message to %s sent"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax Error"
 
@@ -1984,7 +1991,7 @@ msgstr "Ajax Error"
 msgid "New notice"
 msgstr "New notice"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Notice posted"
 
@@ -2211,81 +2218,117 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Invite"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Site path"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Avatar"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Avatar settings"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Avatar updated."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Avatar updated."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Never"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Sometimes"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Save paths"
 
@@ -2319,7 +2362,7 @@ msgstr "Invalid notice content"
 #: actions/postnotice.php:90
 #, php-format
 msgid "Notice license ‘%s’ is not compatible with site license ‘%s’."
-msgstr ""
+msgstr "Notice licence ‘%s’ is not compatible with site licence ‘%s’."
 
 #: actions/profilesettings.php:60
 msgid "Profile settings"
@@ -2378,71 +2421,80 @@ msgstr "Location"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Where you are, like \"City, State (or Region), Country\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Tags"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Language"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Preferred language"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Timezone"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "In which timezone are you?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Bio is too long (max %d chars)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Timezone not selected."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Language is too long (max 50 chars)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Invalid tag: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Couldn't update user for autosubscribe."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Couldn't save tags."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Couldn't save profile."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Couldn't save tags."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Settings saved."
 
@@ -2504,6 +2556,10 @@ msgid ""
 "tool. [Join now](%%action.register%%) to share notices about yourself with "
 "friends, family, and colleagues! ([Read more](%%doc.help%%))"
 msgstr ""
+"This is %%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 share notices about yourself with "
+"friends, family, and colleagues! ([Read more](%%doc.help%%))"
 
 #: actions/public.php:238
 #, php-format
@@ -2541,7 +2597,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Tag cloud"
 
@@ -2680,7 +2736,7 @@ msgstr "Error with confirmation code."
 msgid "Registration successful"
 msgstr "Registration successful"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Register"
@@ -2724,7 +2780,7 @@ msgid "Same as password above. Required."
 msgstr "Same as password above. Required."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-mail"
 
@@ -2865,16 +2921,15 @@ msgid "No notice specified."
 msgstr "No profile specified."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "You can't register if you don't agree to the licence."
+msgstr "You can't repeat your own notice."
 
 #: actions/repeat.php:90
 #, fuzzy
 msgid "You already repeated that notice."
 msgstr "You have already blocked this user."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Created"
@@ -3207,235 +3262,195 @@ msgstr "User is already blocked from group."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Not a valid e-mail address."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Site name"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "New e-mail address for posting to %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Local views"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Default site language"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URLs"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Server"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Access"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Private"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Invite only"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Closed"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Never"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Sometimes"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Save site settings"
 
@@ -4040,16 +4055,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "You are banned from posting notices on this site."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problem saving notice."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "DB error inserting reply: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4104,130 +4119,130 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Untitled page"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Primary site navigation"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Home"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Personal profile and friends timeline"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Account"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Change your e-mail, avatar, password, profile"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Connect"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Could not redirect to server: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Primary site navigation"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Invite"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invite friends and colleagues to join you on %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Logout"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Logout from the site"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Create an account"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Login to the site"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Help"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Help me!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Search"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Search for people or text"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Site notice"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Local views"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Page notice"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Secondary site navigation"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "About"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "F.A.Q."
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacy"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Source"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contact"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Badge"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "StatusNet software licence"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4236,12 +4251,12 @@ msgstr ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%)."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** is a microblogging service."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4252,31 +4267,31 @@ msgstr ""
 "s, available under the [GNU Affero General Public Licence](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Site content license"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "All "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licence."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Pagination"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "After"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Before"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "There was a problem with your session token."
 
@@ -4335,6 +4350,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Password change"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Password change"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Command results"
@@ -4994,12 +5019,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5024,7 +5049,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr "from"
@@ -5089,71 +5114,75 @@ msgstr "Send a direct notice"
 msgid "To"
 msgstr "To"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Available characters"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Send a notice"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "What's up, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "No"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "in context"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Created"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Reply to this notice"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Reply"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Notice deleted."
@@ -5284,15 +5313,15 @@ msgstr "Featured"
 msgid "Popular"
 msgstr "Popular"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Reply to this notice"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Reset"
+msgid "Repeat this notice"
+msgstr "Reply to this notice"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5466,47 +5495,47 @@ msgstr "Message"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "a few seconds ago"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "about a minute ago"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "about %d minutes ago"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "about an hour ago"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "about %d hours ago"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "about a day ago"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "about %d days ago"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "about a month ago"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "about %d months ago"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "about a year ago"
 
index 255a18258a850d4e5e5e327868d6f8841c95ad51..93320db277d3931b26f702ebc73f65c9a6cbce35 100644 (file)
@@ -11,12 +11,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:08+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:06+0000\n"
 "Language-Team: Spanish\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: es\n"
 "X-Message-Group: out-statusnet\n"
@@ -196,11 +196,11 @@ msgstr "No se pudo actualizar el usuario."
 msgid "You cannot block yourself!"
 msgstr "¡No puedes bloquearte a tí mismo!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Falló bloquear usuario."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Falló desbloquear usuario."
 
@@ -312,7 +312,7 @@ msgid "Could not find target user."
 msgstr "No se pudo encontrar ningún usuario de destino."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -320,25 +320,25 @@ msgstr ""
 "espacios."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "El apodo ya existe. Prueba otro."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Apodo no válido"
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "La página de inicio no es un URL válido."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Tu nombre es demasiado largo (max. 255 carac.)"
@@ -349,7 +349,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "La descripción es demasiado larga (máx. %d caracteres)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "La ubicación es demasiado larga (máx. 255 caracteres)."
@@ -467,7 +467,7 @@ msgstr "Demasiado largo. La longitud máxima es de 140 caracteres. "
 msgid "Not found"
 msgstr "No encontrado"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -598,7 +598,7 @@ msgid "Preview"
 msgstr "Vista previa"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Borrar"
 
@@ -611,13 +611,13 @@ msgid "Crop"
 msgstr "Cortar"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -683,6 +683,7 @@ msgstr "Desbloquear este usuario"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Sí"
 
@@ -690,7 +691,7 @@ msgstr "Sí"
 msgid "Block this user"
 msgstr "Bloquear este usuario."
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "No se guardó información de bloqueo."
 
@@ -724,16 +725,14 @@ msgid "A list of the users blocked from joining this group."
 msgstr "Lista de los usuarios en este grupo."
 
 #: actions/blockedfromgroup.php:281
-#, fuzzy
 msgid "Unblock user from group"
-msgstr "Falló desbloquear usuario."
+msgstr "Desbloquear usuario de grupo"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:69
 msgid "Unblock"
 msgstr "Desbloquear"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:80
-#, fuzzy
 msgid "Unblock this user"
 msgstr "Desbloquear este usuario"
 
@@ -765,7 +764,7 @@ msgstr "Esa dirección ya fue confirmada."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "No se pudo actualizar el usuario."
@@ -785,9 +784,8 @@ msgid "The address \"%s\" has been confirmed for your account."
 msgstr "La dirección \"%s\" fue confirmada para tu cuenta."
 
 #: actions/conversation.php:99
-#, fuzzy
 msgid "Conversation"
-msgstr "Código de confirmación"
+msgstr "Conversación"
 
 #: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:216 lib/searchgroupnav.php:82
@@ -830,7 +828,7 @@ msgstr "¿Estás seguro de que quieres eliminar este aviso?"
 msgid "Do not delete this notice"
 msgstr "No se puede eliminar este aviso."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Borrar este aviso"
 
@@ -841,9 +839,8 @@ msgstr ""
 "Hubo un problema con tu clave de sesión.  Por favor, intenta nuevamente."
 
 #: actions/deleteuser.php:67
-#, fuzzy
 msgid "You cannot delete users."
-msgstr "No se pudo actualizar el usuario."
+msgstr "No puedes borrar usuarios."
 
 #: actions/deleteuser.php:74
 #, fuzzy
@@ -851,9 +848,8 @@ msgid "You can only delete local users."
 msgstr "No puedes borrar el estado de otro usuario."
 
 #: actions/deleteuser.php:110 actions/deleteuser.php:133
-#, fuzzy
 msgid "Delete user"
-msgstr "Borrar"
+msgstr "Borrar usuario"
 
 #: actions/deleteuser.php:135
 msgid ""
@@ -862,9 +858,8 @@ msgid ""
 msgstr ""
 
 #: actions/deleteuser.php:148 lib/deleteuserform.php:77
-#, fuzzy
 msgid "Delete this user"
-msgstr "Borrar este aviso"
+msgstr "Borrar este usuario"
 
 #: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
 #: lib/adminpanelaction.php:302 lib/groupnav.php:119
@@ -881,14 +876,13 @@ msgid "Invalid logo URL."
 msgstr "Tamaño inválido."
 
 #: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
 msgid "Theme not available: %s"
-msgstr "Esta página no está disponible en un "
+msgstr "Tema no disponible"
 
 #: actions/designadminpanel.php:375
-#, fuzzy
 msgid "Change logo"
-msgstr "Cambiar colores"
+msgstr "Cambiar logo"
 
 #: actions/designadminpanel.php:380
 #, fuzzy
@@ -977,8 +971,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1153,7 +1147,7 @@ msgstr "Sin dirección de correo electrónico"
 msgid "Cannot normalize that email address"
 msgstr "No se puede normalizar esta dirección de correo electrónico."
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "No es una dirección de correo electrónico válida"
 
@@ -1282,8 +1276,8 @@ msgid "Featured users, page %d"
 msgstr "Usuarios que figuran, página %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Una selección de algunos de los grandes usuarios en %s"
 
 #: actions/file.php:34
@@ -1292,28 +1286,24 @@ msgid "No notice ID."
 msgstr "Nuevo aviso"
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Nuevo aviso"
+msgstr "Sin aviso."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "No existe ese documento."
+msgstr "Sin archivo adjunto"
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "No existe ese documento."
+msgstr "No hay archivos adjuntos cargados."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
 msgstr "¡Respuesta inesperada!"
 
 #: actions/finishremotesubscribe.php:80
-#, fuzzy
 msgid "User being listened to does not exist."
-msgstr "El usuario al que quieres seguir no existe."
+msgstr "El usuario al que quieres listar no existe."
 
 #: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
 msgid "You can use the local subscription!"
@@ -1324,9 +1314,8 @@ msgid "That user has blocked you from subscribing."
 msgstr "Ese usuario te ha bloqueado la suscripción."
 
 #: actions/finishremotesubscribe.php:110
-#, fuzzy
 msgid "You are not authorized."
-msgstr "No autorizado."
+msgstr "No estás autorizado."
 
 #: actions/finishremotesubscribe.php:113
 #, fuzzy
@@ -1346,19 +1335,16 @@ msgstr "Error al actualizar el perfil remoto"
 #: actions/grouprss.php:98 actions/groupunblock.php:86
 #: actions/leavegroup.php:83 actions/makeadmin.php:86 lib/command.php:212
 #: lib/command.php:263
-#, fuzzy
 msgid "No such group."
 msgstr "No existe ese grupo."
 
 #: actions/getfile.php:75
-#, fuzzy
 msgid "No such file."
-msgstr "No existe ese aviso."
+msgstr "No existe tal archivo."
 
 #: actions/getfile.php:79
-#, fuzzy
 msgid "Cannot read file."
-msgstr "Se perdió nuestro archivo"
+msgstr "No se puede leer archivo."
 
 #: actions/groupblock.php:71 actions/groupunblock.php:71
 #: actions/makeadmin.php:71 actions/subedit.php:46
@@ -1374,28 +1360,24 @@ msgstr "No existe perfil con ese ID"
 
 #: actions/groupblock.php:81 actions/groupunblock.php:81
 #: actions/makeadmin.php:81
-#, fuzzy
 msgid "No group specified."
-msgstr "No se especificó perfil."
+msgstr "Grupo no especificado."
 
 #: actions/groupblock.php:91
 msgid "Only an admin can block group members."
 msgstr ""
 
 #: actions/groupblock.php:95
-#, fuzzy
 msgid "User is already blocked from group."
-msgstr "El usuario te ha bloqueado."
+msgstr "Usuario ya está bloqueado del grupo."
 
 #: actions/groupblock.php:100
-#, fuzzy
 msgid "User is not a member of group."
-msgstr "No eres miembro de ese grupo"
+msgstr "Usuario no es miembro del grupo"
 
 #: actions/groupblock.php:136 actions/groupmembers.php:314
-#, fuzzy
 msgid "Block user from group"
-msgstr "Bloquear usuario."
+msgstr "Bloquear usuario de grupo"
 
 #: actions/groupblock.php:162
 #, php-format
@@ -1406,14 +1388,12 @@ msgid ""
 msgstr ""
 
 #: actions/groupblock.php:178
-#, fuzzy
 msgid "Do not block this user from this group"
-msgstr "Lista de los usuarios en este grupo."
+msgstr "No bloquear este usuario de este grupo"
 
 #: actions/groupblock.php:179
-#, fuzzy
 msgid "Block this user from this group"
-msgstr "Lista de los usuarios en este grupo."
+msgstr "Bloquear este usuario de este grupo"
 
 #: actions/groupblock.php:196
 msgid "Database error blocking user from group."
@@ -1424,9 +1404,8 @@ msgid "No ID"
 msgstr "Sin ID"
 
 #: actions/groupdesignsettings.php:68
-#, fuzzy
 msgid "You must be logged in to edit a group."
-msgstr "Debes estar conectado para crear un grupo"
+msgstr "Debes estar conectado para editar un grupo."
 
 #: actions/groupdesignsettings.php:141
 #, fuzzy
@@ -1496,7 +1475,7 @@ msgstr "Miembros del grupo %s, página %d"
 msgid "A list of the users in this group."
 msgstr "Lista de los usuarios en este grupo."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Admin"
 
@@ -1590,7 +1569,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "El usuario te ha bloqueado."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "Error al sacar bloqueo."
@@ -1778,7 +1757,7 @@ msgstr "Mensaje Personal"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Opcionalmente añada un mensaje personalizado a su invitación."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Enviar"
 
@@ -1905,7 +1884,7 @@ msgstr "Nombre de usuario o contraseña incorrectos."
 msgid "Error setting user. You are probably not authorized."
 msgstr "No autorizado."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Inicio de sesión"
@@ -2020,7 +1999,7 @@ msgstr "Mensaje"
 msgid "Direct message to %s sent"
 msgstr "Se envió mensaje directo a %s"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Error de Ajax"
 
@@ -2028,7 +2007,7 @@ msgstr "Error de Ajax"
 msgid "New notice"
 msgstr "Nuevo aviso"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "Aviso publicado"
@@ -2263,83 +2242,122 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Invitar"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Aviso de sitio"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Avatar"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Configuración de Avatar"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Avatar actualizado"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Avatar actualizado"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Recuperar"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Avisos"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Aviso de sitio"
 
@@ -2436,72 +2454,81 @@ msgstr "Ubicación"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Dónde estás, por ejemplo \"Ciudad, Estado (o Región), País\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Tags"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr "Tags para ti (letras, números, -, ., y _), coma - o espacio - separado"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Idioma"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Lenguaje de preferencia"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Zona horaria"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "En que zona horaria se encuentra normalmente?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Suscribirse automáticamente a quien quiera que se suscriba a mí (es mejor "
 "para no-humanos)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "La biografía es demasiado larga (máx. 140 caracteres)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Zona horaria no seleccionada"
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Idioma es muy largo ( max 50 car.)"
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Tag no válido: '%s' "
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "No se pudo actualizar el usuario para autosuscribirse."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "No se pudo guardar tags."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "No se pudo guardar el perfil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "No se pudo guardar tags."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Se guardó configuración."
 
@@ -2600,7 +2627,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Nube de tags"
 
@@ -2743,7 +2770,7 @@ msgstr "Error con el código de confirmación."
 msgid "Registration successful"
 msgstr "Registro exitoso."
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registrarse"
@@ -2789,7 +2816,7 @@ msgid "Same as password above. Required."
 msgstr "Igual a la contraseña de arriba. Requerida"
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Correo electrónico"
 
@@ -2941,7 +2968,7 @@ msgstr "No puedes registrarte si no estás de acuerdo con la licencia."
 msgid "You already repeated that notice."
 msgstr "Ya has bloqueado este usuario."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Crear"
@@ -3279,246 +3306,203 @@ msgstr "El usuario te ha bloqueado."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "No es una dirección de correo electrónico válida"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Aviso de sitio"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Nueva dirección de correo para postear a %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Vistas locales"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Lenguaje de preferencia"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Recuperar"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Aceptar"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Privacidad"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Invitar"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Bloqueado"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Recuperar"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Avisos"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Configuración de Avatar"
@@ -3802,9 +3786,8 @@ msgid "API method under construction."
 msgstr "Método API en construcción."
 
 #: actions/unblock.php:59
-#, fuzzy
 msgid "You haven't blocked that user."
-msgstr "Ya has bloqueado este usuario."
+msgstr "No has bloqueado ese usuario."
 
 #: actions/unsandbox.php:72
 #, fuzzy
@@ -3870,9 +3853,8 @@ msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
 #: actions/useradminpanel.php:231
-#, fuzzy
 msgid "New users"
-msgstr "Invitar nuevos usuarios:"
+msgstr "Nuevos usuarios"
 
 #: actions/useradminpanel.php:235
 msgid "New user welcome"
@@ -3895,9 +3877,8 @@ msgstr ""
 "para no-humanos)"
 
 #: actions/useradminpanel.php:251
-#, fuzzy
 msgid "Invitations"
-msgstr "Invitacion(es) enviada(s)"
+msgstr "Invitaciones"
 
 #: actions/useradminpanel.php:256
 #, fuzzy
@@ -3910,7 +3891,7 @@ msgstr ""
 
 #: actions/useradminpanel.php:265
 msgid "Sessions"
-msgstr ""
+msgstr "Sesiones"
 
 #: actions/useradminpanel.php:270
 msgid "Handle sessions"
@@ -3933,20 +3914,18 @@ msgid "Authorize subscription"
 msgstr "Autorizar la suscripción"
 
 #: actions/userauthorization.php:110
-#, fuzzy
 msgid ""
 "Please check these details to make sure that you want to subscribe to this "
 "user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
 "click “Reject”."
 msgstr ""
 "Por favor revisa estos detalles para asegurar que deseas suscribirte a los "
-"avisos de este usuario. Si no pediste esta suscripción, haz clic en "
-"\"Cancelar\"."
+"avisos de este usuario. Si no pediste suscribirte a los avisos de alguien, "
+"haz clic en \"Cancelar\"."
 
 #: actions/userauthorization.php:188
-#, fuzzy
 msgid "License"
-msgstr "Licencia."
+msgstr "Licencia"
 
 #: actions/userauthorization.php:209
 msgid "Accept"
@@ -3963,9 +3942,8 @@ msgid "Reject"
 msgstr "Rechazar"
 
 #: actions/userauthorization.php:212
-#, fuzzy
 msgid "Reject this subscription"
-msgstr "Suscripciones %s"
+msgstr "Rechazar esta suscripción"
 
 #: actions/userauthorization.php:225
 msgid "No authorization request!"
@@ -4037,9 +4015,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagen incorrecto para '%s'"
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "Sin ID"
+msgstr "Sin ID."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 #, fuzzy
@@ -4141,27 +4118,26 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Tienes prohibido publicar avisos en este sitio."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Hubo un problema al guardar el aviso."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Error de BD al insertar respuesta: %s"
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
 
 #: classes/User.php:368
-#, fuzzy, php-format
+#, php-format
 msgid "Welcome to %1$s, @%2$s!"
-msgstr "Mensaje a %1$s en %2$s"
+msgstr "Bienvenido a %1$s, @%2$s!"
 
 #: classes/User_group.php:380
-#, fuzzy
 msgid "Could not create group."
 msgstr "No se pudo crear grupo."
 
@@ -4207,135 +4183,129 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Página sin título"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Navegación de sitio primario"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Inicio"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Perfil personal y línea de tiempo de amigos"
 
-#: lib/action.php:433
-#, fuzzy
+#: lib/action.php:434
 msgid "Account"
 msgstr "Cuenta"
 
-#: lib/action.php:433
-#, fuzzy
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Cambia tu correo electrónico, avatar, contraseña, perfil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Conectarse"
 
-#: lib/action.php:436
-#, fuzzy
+#: lib/action.php:437
 msgid "Connect to services"
-msgstr "No se pudo redirigir al servidor: %s"
+msgstr "Conectar a los servicios"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Navegación de sitio primario"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Invitar"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invita a amigos y colegas a unirse a %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Salir"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Salir de sitio"
 
-#: lib/action.php:455
-#, fuzzy
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Crear una cuenta"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Ingresar a sitio"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Ayuda"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Ayúdame!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Buscar"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Buscar personas o texto"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Aviso de sitio"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Vistas locales"
 
-#: lib/action.php:617
-#, fuzzy
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Aviso de página"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Navegación de sitio secundario"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Acerca de"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Preguntas Frecuentes"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacidad"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Fuente"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Ponerse en contacto"
 
-#: lib/action.php:741
-#, fuzzy
+#: lib/action.php:742
 msgid "Badge"
-msgstr "Zumbido "
+msgstr "Insignia"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Licencia de software de StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4344,12 +4314,12 @@ msgstr ""
 "**%%site.name%%** es un servicio de microblogueo de [%%site.broughtby%%**](%%"
 "site.broughtbyurl%%)."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** es un servicio de microblogueo."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4360,32 +4330,31 @@ msgstr ""
 "disponible bajo la [GNU Affero General Public License](http://www.fsf.org/"
 "licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
-#, fuzzy
+#: lib/action.php:791
 msgid "Site content license"
-msgstr "Licencia de software de StatusNet"
+msgstr "Licencia de contenido del sitio"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Todo"
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "Licencia."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginación"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Después"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Antes"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Hubo problemas con tu clave de sesión."
 
@@ -4444,6 +4413,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Cambio de contraseña "
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Cambio de contraseña "
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Resultados de comando"
@@ -4618,9 +4597,8 @@ msgid "This link is useable only once, and is good for only 2 minutes: %s"
 msgstr ""
 
 #: lib/command.php:685
-#, fuzzy
 msgid "You are not subscribed to anyone."
-msgstr "No estás suscrito a ese perfil."
+msgstr "No estás suscrito a nadie."
 
 #: lib/command.php:687
 msgid "You are subscribed to this person:"
@@ -4629,9 +4607,8 @@ msgstr[0] "Ya estás suscrito a estos usuarios:"
 msgstr[1] "Ya estás suscrito a estos usuarios:"
 
 #: lib/command.php:707
-#, fuzzy
 msgid "No one is subscribed to you."
-msgstr "No se pudo suscribir otro a ti."
+msgstr "Nadie está suscrito a ti."
 
 #: lib/command.php:709
 msgid "This person is subscribed to you:"
@@ -4640,9 +4617,8 @@ msgstr[0] "No se pudo suscribir otro a ti."
 msgstr[1] "No se pudo suscribir otro a ti."
 
 #: lib/command.php:729
-#, fuzzy
 msgid "You are not a member of any groups."
-msgstr "No eres miembro de ese grupo"
+msgstr "No eres miembro de ningún grupo"
 
 #: lib/command.php:731
 msgid "You are a member of this group:"
@@ -4904,11 +4880,11 @@ msgstr "Tipo de archivo desconocido"
 
 #: lib/imagefile.php:217
 msgid "MB"
-msgstr ""
+msgstr "MB"
 
 #: lib/imagefile.php:219
 msgid "kB"
-msgstr ""
+msgstr "kB"
 
 #: lib/jabber.php:191
 #, php-format
@@ -4916,24 +4892,20 @@ msgid "[%s]"
 msgstr ""
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
 msgstr "Unirse"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
-msgstr "Dejar"
+msgstr "Salir"
 
 #: lib/logingroupnav.php:80
-#, fuzzy
 msgid "Login with a username and password"
 msgstr "Ingresar con un nombre de usuario y contraseña."
 
 #: lib/logingroupnav.php:86
-#, fuzzy
 msgid "Sign up for a new account"
-msgstr "Registrar una cuenta nueva "
+msgstr "Registrarse para una nueva cuenta"
 
 #: lib/mail.php:172
 msgid "Email address confirmation"
@@ -5107,12 +5079,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5137,7 +5109,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "desde"
 
@@ -5201,73 +5173,76 @@ msgstr "Enviar un aviso directo"
 msgid "To"
 msgstr "Para"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "Caracteres disponibles"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "Enviar un aviso"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "¿Qué tal, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
-#, fuzzy
+#: lib/noticelist.php:429
 msgid "N"
-msgstr "No"
+msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
-msgstr ""
+msgstr "S"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
-msgstr ""
+msgstr "E"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
-msgstr ""
+msgstr "en"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "en contexto"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Crear"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Responder este aviso."
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Responder"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Aviso borrado"
@@ -5301,9 +5276,8 @@ msgid "Duplicate notice"
 msgstr "Duplicar aviso"
 
 #: lib/oauthstore.php:466 lib/subs.php:48
-#, fuzzy
 msgid "You have been banned from subscribing."
-msgstr "Ese usuario te ha bloqueado la suscripción."
+msgstr "Se te ha prohibido la suscripción."
 
 #: lib/oauthstore.php:491
 msgid "Couldn't insert new subscription."
@@ -5400,15 +5374,15 @@ msgstr "Destacado"
 msgid "Popular"
 msgstr "Popular"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Responder este aviso."
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Restablecer"
+msgid "Repeat this notice"
+msgstr "Responder este aviso."
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5561,23 +5535,20 @@ msgid "Unsubscribe"
 msgstr "Cancelar suscripción"
 
 #: lib/userprofile.php:116
-#, fuzzy
 msgid "Edit Avatar"
-msgstr "Avatar"
+msgstr "editar avatar"
 
 #: lib/userprofile.php:236
-#, fuzzy
 msgid "User actions"
 msgstr "Acciones de usuario"
 
 #: lib/userprofile.php:248
-#, fuzzy
 msgid "Edit profile settings"
-msgstr "Configuración del perfil"
+msgstr "Editar configuración del perfil"
 
 #: lib/userprofile.php:249
 msgid "Edit"
-msgstr ""
+msgstr "Editar"
 
 #: lib/userprofile.php:272
 msgid "Send a direct message to this user"
@@ -5589,49 +5560,49 @@ msgstr "Mensaje"
 
 #: lib/userprofile.php:311
 msgid "Moderate"
-msgstr ""
+msgstr "Moderar"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "hace unos segundos"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "hace un minuto"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "hace %d minutos"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "hace una hora"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "hace %d horas"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "hace un día"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "hace %d días"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "hace un mes"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "hace %d meses"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "hace un año"
 
diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po
new file mode 100644 (file)
index 0000000..bce137a
--- /dev/null
@@ -0,0 +1,5389 @@
+# Translation of StatusNet to Persian
+#
+# Author@translatewiki.net: ArianHT
+# Author@translatewiki.net: Everplays
+# Author@translatewiki.net: Narcissus
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:18+0000\n"
+"Last-Translator: Ahmad Sufi Mahmudi\n"
+"Language-Team: Persian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Language-Code: fa\n"
+"X-Message-Group: out-statusnet\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+
+#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
+#: actions/showfavorites.php:137 actions/tag.php:51
+msgid "No such page"
+msgstr "چنین صفحه‌ای وجود ندارد"
+
+#: actions/all.php:74 actions/allrss.php:68
+#: actions/apiaccountupdatedeliverydevice.php:113
+#: actions/apiaccountupdateprofile.php:105
+#: actions/apiaccountupdateprofilebackgroundimage.php:116
+#: actions/apiaccountupdateprofileimage.php:105 actions/apiblockcreate.php:97
+#: actions/apiblockdestroy.php:96 actions/apidirectmessage.php:77
+#: actions/apidirectmessagenew.php:75 actions/apigroupcreate.php:112
+#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
+#: actions/apigroupleave.php:99 actions/apigrouplist.php:90
+#: actions/apistatusesupdate.php:144 actions/apisubscriptions.php:87
+#: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:79
+#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
+#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
+#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
+#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
+#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/showfavorites.php:105 actions/userbyid.php:74
+#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
+#: lib/command.php:163 lib/command.php:311 lib/command.php:364
+#: lib/command.php:410 lib/command.php:471 lib/command.php:527
+#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: lib/subs.php:34 lib/subs.php:116
+msgid "No such user."
+msgstr "چنین کاربری وجود ندارد."
+
+#: actions/all.php:84
+#, php-format
+msgid "%s and friends, page %d"
+msgstr "%s و دوستان، صفحهٔ %d"
+
+#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#: actions/apitimelinefriends.php:115 actions/apitimelinehome.php:115
+#: lib/personalgroupnav.php:100
+#, php-format
+msgid "%s and friends"
+msgstr "%s و دوستان"
+
+#: actions/all.php:99
+#, php-format
+msgid "Feed for friends of %s (RSS 1.0)"
+msgstr "خوراک دوستان %s (RSS 1.0)"
+
+#: actions/all.php:107
+#, php-format
+msgid "Feed for friends of %s (RSS 2.0)"
+msgstr "خوراک دوستان %s (RSS 2.0)"
+
+#: actions/all.php:115
+#, php-format
+msgid "Feed for friends of %s (Atom)"
+msgstr "خوراک دوستان %s (Atom)"
+
+#: actions/all.php:127
+#, php-format
+msgid ""
+"This is the timeline for %s and friends but no one has posted anything yet."
+msgstr "این خط‌زمانی %s و دوستانش است، اما هیچ‌یک تاکنون چیزی پست نکرده‌اند."
+
+#: actions/all.php:132
+#, php-format
+msgid ""
+"Try subscribing to more people, [join a group](%%action.groups%%) or post "
+"something yourself."
+msgstr ""
+"پیگیری افراد بیش‌تری بشوید [به یک گروه بپیوندید](%%action.groups%%) یا خودتان "
+"چیزی را ارسال کنید."
+
+#: actions/all.php:134
+#, php-format
+msgid ""
+"You can try to [nudge %s](../%s) from his profile or [post something to his "
+"or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
+msgstr ""
+
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#, php-format
+msgid ""
+"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
+"post a notice to his or her attention."
+msgstr ""
+"چرا [ثبت نام](%%%%action.register%%%%) نمی‌کنید و سپس با فرستادن پیام توجه %s "
+"را جلب کنید."
+
+#: actions/all.php:165
+msgid "You and friends"
+msgstr "شما و دوستان"
+
+#: actions/allrss.php:119 actions/apitimelinefriends.php:122
+#: actions/apitimelinehome.php:122
+#, php-format
+msgid "Updates from %1$s and friends on %2$s!"
+msgstr "به روز رسانی از %1$ و دوستان در %2$"
+
+#: actions/apiaccountratelimitstatus.php:70
+#: actions/apiaccountupdatedeliverydevice.php:93
+#: actions/apiaccountupdateprofile.php:97
+#: actions/apiaccountupdateprofilebackgroundimage.php:94
+#: actions/apiaccountupdateprofilecolors.php:118
+msgid "API method not found."
+msgstr "رابط مورد نظر پیدا نشد."
+
+#: actions/apiaccountupdatedeliverydevice.php:85
+#: actions/apiaccountupdateprofile.php:89
+#: actions/apiaccountupdateprofilebackgroundimage.php:86
+#: actions/apiaccountupdateprofilecolors.php:110
+#: actions/apiaccountupdateprofileimage.php:84 actions/apiblockcreate.php:89
+#: actions/apiblockdestroy.php:88 actions/apidirectmessagenew.php:117
+#: actions/apifavoritecreate.php:90 actions/apifavoritedestroy.php:91
+#: actions/apifriendshipscreate.php:91 actions/apifriendshipsdestroy.php:91
+#: actions/apigroupcreate.php:104 actions/apigroupjoin.php:91
+#: actions/apigroupleave.php:91 actions/apistatusesretweet.php:65
+#: actions/apistatusesupdate.php:114
+msgid "This method requires a POST."
+msgstr "برای استفاده از این روش باید اطلاعات را به صورت پست بفرستید"
+
+#: actions/apiaccountupdatedeliverydevice.php:105
+msgid ""
+"You must specify a parameter named 'device' with a value of one of: sms, im, "
+"none"
+msgstr "شما باید یک پارامتر با نام device و مقدار sms، im یا none مشخص کنید."
+
+#: actions/apiaccountupdatedeliverydevice.php:132
+msgid "Could not update user."
+msgstr "نمی‌توان کاربر را به‌هنگام‌سازی کرد."
+
+#: actions/apiaccountupdateprofile.php:112
+#: actions/apiaccountupdateprofilebackgroundimage.php:194
+#: actions/apiaccountupdateprofilecolors.php:185
+#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
+#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+msgid "User has no profile."
+msgstr "کاربر هیچ شناس‌نامه‌ای ندارد."
+
+#: actions/apiaccountupdateprofile.php:147
+msgid "Could not save profile."
+msgstr "نمی‌توان شناس‌نامه را ذخیره کرد."
+
+#: actions/apiaccountupdateprofilebackgroundimage.php:108
+#: actions/apiaccountupdateprofileimage.php:97
+#: actions/apistatusesupdate.php:127 actions/avatarsettings.php:257
+#: actions/designadminpanel.php:122 actions/newnotice.php:94
+#: 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 بایت( را دریافت کند."
+
+#: actions/apiaccountupdateprofilebackgroundimage.php:136
+#: actions/apiaccountupdateprofilebackgroundimage.php:146
+#: actions/apiaccountupdateprofilecolors.php:164
+#: actions/apiaccountupdateprofilecolors.php:174
+msgid "Unable to save your design settings."
+msgstr "نمی‌توان تنظیمات طرح‌تان را ذخیره کرد."
+
+#: actions/apiaccountupdateprofilebackgroundimage.php:187
+#: actions/apiaccountupdateprofilecolors.php:142
+msgid "Could not update your design."
+msgstr "نمی‌توان طرح‌تان به‌هنگام‌سازی کرد."
+
+#: actions/apiblockcreate.php:105
+msgid "You cannot block yourself!"
+msgstr "شما نمی‌توانید خودتان رو مسدود کنید!"
+
+#: actions/apiblockcreate.php:126
+msgid "Block user failed."
+msgstr "مسدود کردن کاربر شکست خورد."
+
+#: actions/apiblockdestroy.php:114
+msgid "Unblock user failed."
+msgstr "باز کردن کاربر ناموفق بود."
+
+#: actions/apidirectmessage.php:89
+#, php-format
+msgid "Direct messages from %s"
+msgstr "پیام‌های مستقیم از %s"
+
+#: actions/apidirectmessage.php:93
+#, php-format
+msgid "All the direct messages sent from %s"
+msgstr "تمام پیام‌های مستقیم فرستاده‌شده از %s"
+
+#: actions/apidirectmessage.php:101
+#, php-format
+msgid "Direct messages to %s"
+msgstr "پیام‌های مستقیم به %s"
+
+#: actions/apidirectmessage.php:105
+#, php-format
+msgid "All the direct messages sent to %s"
+msgstr "تمام پیام‌های مستقیم فرستاده‌شده به %s"
+
+#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
+#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
+#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
+#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
+#: actions/apigroupmembership.php:106 actions/apigroupshow.php:105
+#: actions/apihelptest.php:88 actions/apistatusesdestroy.php:102
+#: actions/apistatusesretweets.php:112 actions/apistatusesshow.php:108
+#: actions/apistatusnetconfig.php:133 actions/apistatusnetversion.php:93
+#: actions/apisubscriptions.php:111 actions/apitimelinefavorites.php:146
+#: actions/apitimelinefriends.php:156 actions/apitimelinegroup.php:150
+#: actions/apitimelinehome.php:156 actions/apitimelinementions.php:151
+#: actions/apitimelinepublic.php:131 actions/apitimelineretweetedbyme.php:122
+#: actions/apitimelineretweetedtome.php:121
+#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
+msgid "API method not found!"
+msgstr "رابط پیدا نشد!"
+
+#: actions/apidirectmessagenew.php:126
+msgid "No message text!"
+msgstr "هیچ پیام متنی وجود ندارد!"
+
+#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#, php-format
+msgid "That's too long. Max message size is %d chars."
+msgstr "این بسیار طولانی است. بیشینهٔ اندازهٔ پیام %d حرف است."
+
+#: actions/apidirectmessagenew.php:146
+msgid "Recipient user not found."
+msgstr "کاربر گیرنده یافت نشد."
+
+#: actions/apidirectmessagenew.php:150
+msgid "Can't send direct messages to users who aren't your friend."
+msgstr "نمی‌توان پیام مستقیم را به کاربرانی که دوست شما نیستند، فرستاد."
+
+#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
+#: actions/apistatusesdestroy.php:113
+msgid "No status found with that ID."
+msgstr "هیچ وضعیتی با آن شناسه پیدا نشد."
+
+#: actions/apifavoritecreate.php:119
+msgid "This status is already a favorite!"
+msgstr "این وضعیت درحال حاضر یک وضعیت مورد علاقه است!"
+
+#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
+msgid "Could not create favorite."
+msgstr "نمی‌توان وضعیت را موردعلاقه کرد."
+
+#: actions/apifavoritedestroy.php:122
+msgid "That status is not a favorite!"
+msgstr "این وضعیت یک وضعیت موردعلاقه نیست!"
+
+#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
+msgid "Could not delete favorite."
+msgstr "نمی‌توان وضعیت موردعلاقه را حذف کرد."
+
+#: actions/apifriendshipscreate.php:109
+msgid "Could not follow user: User not found."
+msgstr "نمی‌توان کاربر را دنبال کرد: کاربر یافت نشد."
+
+#: actions/apifriendshipscreate.php:118
+#, php-format
+msgid "Could not follow user: %s is already on your list."
+msgstr "نمی‌توان کاربر را دنبال کرد: %s  هم‌اکنون در لیست شما است."
+
+#: actions/apifriendshipsdestroy.php:109
+msgid "Could not unfollow user: User not found."
+msgstr "نمی‌توان کاربر را دنبال نکرد: کاربر یافت نشد."
+
+#: actions/apifriendshipsdestroy.php:120
+msgid "You cannot unfollow yourself!"
+msgstr "نمی‌توانید خودتان را دنبال نکنید!"
+
+#: actions/apifriendshipsexists.php:94
+msgid "Two user ids or screen_names must be supplied."
+msgstr "باید ۲ شناسه‌ی کاربر یا نام ظاهری وارد کنید."
+
+#: actions/apifriendshipsshow.php:135
+msgid "Could not determine source user."
+msgstr "نمی‌توان کاربر منبع را تعیین کرد."
+
+#: actions/apifriendshipsshow.php:143
+msgid "Could not find target user."
+msgstr "نمی‌توان کاربر هدف را پیدا کرد."
+
+#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/newgroup.php:126 actions/profilesettings.php:215
+#: actions/register.php:205
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "لقب باید شامل حروف کوچک و اعداد و بدون فاصله باشد."
+
+#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/newgroup.php:130 actions/profilesettings.php:238
+#: actions/register.php:208
+msgid "Nickname already in use. Try another one."
+msgstr "این لقب در حال حاضر ثبت شده است. لطفا یکی دیگر انتخاب کنید."
+
+#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/newgroup.php:133 actions/profilesettings.php:218
+#: actions/register.php:210
+msgid "Not a valid nickname."
+msgstr "لقب نا معتبر."
+
+#: actions/apigroupcreate.php:196 actions/editgroup.php:195
+#: actions/newgroup.php:139 actions/profilesettings.php:222
+#: actions/register.php:217
+msgid "Homepage is not a valid URL."
+msgstr "برگهٔ آغازین یک نشانی معتبر نیست."
+
+#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/newgroup.php:142 actions/profilesettings.php:225
+#: actions/register.php:220
+msgid "Full name is too long (max 255 chars)."
+msgstr "نام کامل طولانی است (۲۵۵ حرف در حالت بیشینه(."
+
+#: actions/apigroupcreate.php:213
+#, php-format
+msgid "Description is too long (max %d chars)."
+msgstr "توصیف بسیار زیاد است (حداکثر %d حرف)."
+
+#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/newgroup.php:148 actions/profilesettings.php:232
+#: actions/register.php:227
+msgid "Location is too long (max 255 chars)."
+msgstr "مکان طولانی است (حداکثر ۲۵۵ حرف)"
+
+#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/newgroup.php:159
+#, php-format
+msgid "Too many aliases! Maximum %d."
+msgstr "نام‌های مستعار بسیار زیاد هستند! حداکثر %d."
+
+#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/newgroup.php:168
+#, php-format
+msgid "Invalid alias: \"%s\""
+msgstr "نام‌مستعار غیر مجاز: «%s»"
+
+#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/newgroup.php:172
+#, php-format
+msgid "Alias \"%s\" already in use. Try another one."
+msgstr "نام‌مستعار «%s» ازپیش گرفته‌شده‌است. یکی دیگر را امتحان کنید."
+
+#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/newgroup.php:178
+msgid "Alias can't be the same as nickname."
+msgstr "نام و نام مستعار شما نمی تواند یکی باشد ."
+
+#: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
+#: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
+#: actions/apigroupshow.php:90 actions/apitimelinegroup.php:91
+msgid "Group not found!"
+msgstr "گروه یافت نشد!"
+
+#: actions/apigroupjoin.php:110
+msgid "You are already a member of that group."
+msgstr "شما از پیش یک عضو این گروه هستید."
+
+#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+msgid "You have been blocked from that group by the admin."
+msgstr "دسترسی شما به گروه توسط مدیر آن محدود شده است."
+
+#: actions/apigroupjoin.php:138
+#, php-format
+msgid "Could not join user %s to group %s."
+msgstr "عضویت %s در گروه %s نا موفق بود."
+
+#: actions/apigroupleave.php:114
+msgid "You are not a member of this group."
+msgstr "شما یک عضو این گروه نیستید."
+
+#: actions/apigroupleave.php:124
+#, php-format
+msgid "Could not remove user %s to group %s."
+msgstr "خارج شدن %s از گروه %s نا موفق بود"
+
+#: actions/apigrouplist.php:95
+#, php-format
+msgid "%s's groups"
+msgstr "گروه‌های %s"
+
+#: actions/apigrouplist.php:103
+#, php-format
+msgid "Groups %s is a member of on %s."
+msgstr ""
+
+#: actions/apigrouplistall.php:90 actions/usergroups.php:62
+#, php-format
+msgid "%s groups"
+msgstr "%s گروه"
+
+#: actions/apigrouplistall.php:94
+#, php-format
+msgid "groups on %s"
+msgstr "گروه‌ها در %s"
+
+#: actions/apistatusesdestroy.php:107
+msgid "This method requires a POST or DELETE."
+msgstr "این روش نیازمند POST یا DELETE است."
+
+#: actions/apistatusesdestroy.php:130
+msgid "You may not delete another user's status."
+msgstr "شما توانایی حذف وضعیت کاربر دیگری را ندارید."
+
+#: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72
+#: actions/deletenotice.php:52 actions/shownotice.php:92
+msgid "No such notice."
+msgstr "چنین پیامی وجود ندارد."
+
+#: actions/apistatusesretweet.php:83
+msgid "Cannot repeat your own notice."
+msgstr "نمی توانید خبر خود را تکرار کنید."
+
+#: actions/apistatusesretweet.php:91
+msgid "Already repeated that notice."
+msgstr "ابن خبر قبلا فرستاده شده"
+
+#: actions/apistatusesshow.php:138
+msgid "Status deleted."
+msgstr "وضعیت حذف شد."
+
+#: actions/apistatusesshow.php:144
+msgid "No status with that ID found."
+msgstr "هیچ وضعیتی با آن شناسه یافت نشد."
+
+#: actions/apistatusesupdate.php:157 actions/newnotice.php:155
+#: scripts/maildaemon.php:71
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "خیلی طولانی است. حداکثر طول مجاز پیام %d حرف است."
+
+#: actions/apistatusesupdate.php:198
+msgid "Not found"
+msgstr "یافت نشد"
+
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
+#, php-format
+msgid "Max notice size is %d chars, including attachment URL."
+msgstr "حداکثر طول پیام %d حرف است که شامل ضمیمه نیز می‌باشد"
+
+#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
+msgid "Unsupported format."
+msgstr "قالب پشتیبانی نشده."
+
+#: actions/apitimelinefavorites.php:108
+#, php-format
+msgid "%s / Favorites from %s"
+msgstr "%s / دوست داشتنی از %s"
+
+#: actions/apitimelinefavorites.php:120
+#, php-format
+msgid "%s updates favorited by %s / %s."
+msgstr "%s به روز رسانی های دوست داشتنی %s / %s"
+
+#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
+#: actions/grouprss.php:131 actions/userrss.php:90
+#, php-format
+msgid "%s timeline"
+msgstr "خط زمانی %s"
+
+#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
+#: actions/userrss.php:92
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "به روز رسانی‌های %1$s در %2$s"
+
+#: actions/apitimelinementions.php:117
+#, php-format
+msgid "%1$s / Updates mentioning %2$s"
+msgstr "%$1s / به روز رسانی های شامل %2$s"
+
+#: actions/apitimelinementions.php:127
+#, php-format
+msgid "%1$s updates that reply to updates from %2$s / %3$s."
+msgstr "%1$s به روز رسانی هایی که در پاسخ به $2$s / %3$s"
+
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
+#, php-format
+msgid "%s public timeline"
+msgstr "%s خط‌زمانی عمومی"
+
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
+#, php-format
+msgid "%s updates from everyone!"
+msgstr "%s به روز رسانی های عموم"
+
+#: actions/apitimelineretweetedbyme.php:112
+#, php-format
+msgid "Repeated by %s"
+msgstr ""
+
+#: actions/apitimelineretweetedtome.php:111
+#, php-format
+msgid "Repeated to %s"
+msgstr ""
+
+#: actions/apitimelineretweetsofme.php:112
+#, php-format
+msgid "Repeats of %s"
+msgstr ""
+
+#: actions/apitimelinetag.php:102 actions/tag.php:66
+#, php-format
+msgid "Notices tagged with %s"
+msgstr "پیام‌هایی که با %s نشانه گزاری شده اند."
+
+#: actions/apitimelinetag.php:108 actions/tagrss.php:64
+#, php-format
+msgid "Updates tagged with %1$s on %2$s!"
+msgstr "پیام‌های نشانه گزاری شده با %1$s در %2$s"
+
+#: actions/apiusershow.php:96
+msgid "Not found."
+msgstr "یافت نشد."
+
+#: actions/attachment.php:73
+msgid "No such attachment."
+msgstr "چنین پیوستی وجود ندارد."
+
+#: actions/avatarbynickname.php:59 actions/grouprss.php:91
+#: actions/leavegroup.php:76
+msgid "No nickname."
+msgstr "بدون لقب."
+
+#: actions/avatarbynickname.php:64
+msgid "No size."
+msgstr "بدون اندازه."
+
+#: actions/avatarbynickname.php:69
+msgid "Invalid size."
+msgstr "اندازه‌ی نادرست"
+
+#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: lib/accountsettingsaction.php:112
+msgid "Avatar"
+msgstr "چهره"
+
+#: 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
+#: actions/grouplogo.php:178 actions/remotesubscribe.php:191
+#: actions/userauthorization.php:72 actions/userrss.php:103
+msgid "User without matching profile"
+msgstr "کاربر بدون مشخصات"
+
+#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#: actions/grouplogo.php:251
+msgid "Avatar settings"
+msgstr "تنظیمات چهره"
+
+#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#: actions/grouplogo.php:199 actions/grouplogo.php:259
+msgid "Original"
+msgstr "اصلی"
+
+#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#: actions/grouplogo.php:210 actions/grouplogo.php:271
+msgid "Preview"
+msgstr "پیش‌نمایش"
+
+#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
+#: lib/noticelist.php:611
+msgid "Delete"
+msgstr "حذف"
+
+#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+msgid "Upload"
+msgstr "پایین‌گذاری"
+
+#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+msgid "Crop"
+msgstr "برش"
+
+#: actions/avatarsettings.php:268 actions/disfavor.php:74
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupunblock.php:66 actions/imsettings.php:206
+#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
+#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
+#: actions/register.php:165 actions/remotesubscribe.php:77
+#: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
+#: actions/subscribe.php:46 actions/tagother.php:166
+#: actions/unsubscribe.php:69 actions/userauthorization.php:52
+#: lib/designsettings.php:294
+msgid "There was a problem with your session token. Try again, please."
+msgstr "مشکلی در دریافت جلسه‌ی شما وجود دارد. لطفا بعدا سعی کنید."
+
+#: actions/avatarsettings.php:281 actions/designadminpanel.php:103
+#: actions/emailsettings.php:256 actions/grouplogo.php:319
+#: actions/imsettings.php:220 actions/recoverpassword.php:44
+#: actions/smssettings.php:248 lib/designsettings.php:304
+msgid "Unexpected form submission."
+msgstr "ارسال غیر قابل انتظار فرم."
+
+#: actions/avatarsettings.php:328
+msgid "Pick a square area of the image to be your avatar"
+msgstr "یک مربع از عکس خود را انتخاب کنید تا چهره‌ی شما باشد."
+
+#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+msgid "Lost our file data."
+msgstr "فایل اطلاعات خود را گم کرده ایم."
+
+#: actions/avatarsettings.php:366
+msgid "Avatar updated."
+msgstr "چهره به روز رسانی شد."
+
+#: actions/avatarsettings.php:369
+msgid "Failed updating avatar."
+msgstr "به روز رسانی چهره موفقیت آمیر نبود."
+
+#: actions/avatarsettings.php:393
+msgid "Avatar deleted."
+msgstr "چهره پاک شد."
+
+#: actions/block.php:69
+msgid "You already blocked that user."
+msgstr "شما هم اکنون آن کاربر را مسدود کرده اید."
+
+#: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
+msgid "Block user"
+msgstr "مسدود کردن کاربر"
+
+#: actions/block.php:130
+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 "
+"will not be notified of any @-replies from them."
+msgstr ""
+"آیا شما اطمینان دارید که می‌خواهید این کاربر را مسدود کنید؟ پس از آن دیگر "
+"پیام‌های شما را مشاهده نخواهد کرد و نمی‌تواند درخواست کند که پیام‌های شما را "
+"دنبال کند. همچنین دیگر شما از پیام‌هایی که در آن از شما یاد می‌کند با خبر "
+"نخواهید شد"
+
+#: actions/block.php:143 actions/deletenotice.php:145
+#: actions/deleteuser.php:147 actions/groupblock.php:178
+msgid "No"
+msgstr "خیر"
+
+#: actions/block.php:143 actions/deleteuser.php:147
+msgid "Do not block this user"
+msgstr "کاربر را مسدود نکن"
+
+#: actions/block.php:144 actions/deletenotice.php:146
+#: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
+msgid "Yes"
+msgstr "بله"
+
+#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
+msgid "Block this user"
+msgstr "کاربر را مسدود کن"
+
+#: actions/block.php:167
+msgid "Failed to save block information."
+msgstr ""
+
+#: actions/blockedfromgroup.php:73 actions/editgroup.php:84
+#: actions/groupdesignsettings.php:84 actions/grouplogo.php:86
+#: actions/groupmembers.php:76 actions/joingroup.php:76
+#: actions/showgroup.php:121
+msgid "No nickname"
+msgstr "بدون لقب"
+
+#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
+#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
+#: actions/grouplogo.php:99 actions/groupmembers.php:83
+#: actions/joingroup.php:83 actions/showgroup.php:137
+msgid "No such group"
+msgstr "چنین گروهی وجود ندارد"
+
+#: actions/blockedfromgroup.php:90
+#, php-format
+msgid "%s blocked profiles"
+msgstr "%s کاربران مسدود شده"
+
+#: actions/blockedfromgroup.php:93
+#, php-format
+msgid "%s blocked profiles, page %d"
+msgstr "%s کاربران مسدود شده، صفحه‌ی %d"
+
+#: actions/blockedfromgroup.php:108
+msgid "A list of the users blocked from joining this group."
+msgstr "فهرستی از افراد مسدود شده در پیوستن به این گروه."
+
+#: actions/blockedfromgroup.php:281
+msgid "Unblock user from group"
+msgstr "آزاد کردن کاربر در پیوستن به گروه"
+
+#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+msgid "Unblock"
+msgstr "آزاد سازی"
+
+#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+msgid "Unblock this user"
+msgstr "آزاد سازی کاربر"
+
+#: actions/bookmarklet.php:50
+msgid "Post to "
+msgstr "ارسال به "
+
+#: actions/confirmaddress.php:75
+msgid "No confirmation code."
+msgstr "بدون کد تصدیق."
+
+#: actions/confirmaddress.php:80
+msgid "Confirmation code not found."
+msgstr "کد تصدیق پیدا نشد."
+
+#: actions/confirmaddress.php:85
+msgid "That confirmation code is not for you!"
+msgstr "آن کد تصدیق برای شما نیست!"
+
+#: actions/confirmaddress.php:90
+#, php-format
+msgid "Unrecognized address type %s"
+msgstr "نوع نشانی نامشخص است %s"
+
+#: actions/confirmaddress.php:94
+msgid "That address has already been confirmed."
+msgstr "آن نشانی در حال حاضر تصدیق شده است."
+
+#: actions/confirmaddress.php:114 actions/emailsettings.php:296
+#: actions/emailsettings.php:427 actions/imsettings.php:258
+#: actions/imsettings.php:401 actions/othersettings.php:174
+#: actions/profilesettings.php:283 actions/smssettings.php:278
+#: actions/smssettings.php:420
+msgid "Couldn't update user."
+msgstr "نمی‌توان کاربر را به روز کرد."
+
+#: actions/confirmaddress.php:126 actions/emailsettings.php:391
+#: actions/imsettings.php:363 actions/smssettings.php:382
+msgid "Couldn't delete email confirmation."
+msgstr "نمی‌توان تصدیق پست الکترونیک را پاک کرد."
+
+#: actions/confirmaddress.php:144
+msgid "Confirm Address"
+msgstr "تایید نشانی"
+
+#: actions/confirmaddress.php:159
+#, php-format
+msgid "The address \"%s\" has been confirmed for your account."
+msgstr "نشانی «%s« برای شما تصدیق شد."
+
+#: actions/conversation.php:99
+msgid "Conversation"
+msgstr "مکالمه"
+
+#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+msgid "Notices"
+msgstr "پیام‌ها"
+
+#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
+#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:30
+#: actions/tagother.php:33 actions/unsubscribe.php:52
+#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/settingsaction.php:72
+msgid "Not logged in."
+msgstr "شما به سیستم وارد نشده اید."
+
+#: actions/deletenotice.php:71
+msgid "Can't delete this notice."
+msgstr "نمی‌توان این پیام را پاک کرد."
+
+#: actions/deletenotice.php:103
+msgid ""
+"You are about to permanently delete a notice. Once this is done, it cannot "
+"be undone."
+msgstr ""
+"شما می‌خواهید یک پیام را به طور کامل پاک کنید. پس از انجام این کار نمی‌توان "
+"پیام را بازگرداند."
+
+#: actions/deletenotice.php:109 actions/deletenotice.php:141
+msgid "Delete notice"
+msgstr "پیام را پاک کن"
+
+#: actions/deletenotice.php:144
+msgid "Are you sure you want to delete this notice?"
+msgstr "آیا اطمینان دارید که می‌خواهید این پیام را پاک کنید؟"
+
+#: actions/deletenotice.php:145
+msgid "Do not delete this notice"
+msgstr "این پیام را پاک نکن"
+
+#: actions/deletenotice.php:146 lib/noticelist.php:611
+msgid "Delete this notice"
+msgstr "این پیام را پاک کن"
+
+#: actions/deletenotice.php:157
+msgid "There was a problem with your session token.  Try again, please."
+msgstr "مشکلی در دریافت جلسه‌ی شما وجود دارد. لطفا بعدا سعی کنید."
+
+#: actions/deleteuser.php:67
+msgid "You cannot delete users."
+msgstr "شما نمی‌توانید کاربران را پاک کنید."
+
+#: actions/deleteuser.php:74
+msgid "You can only delete local users."
+msgstr "شما فقط می‌توانید کاربران محلی را پاک کنید."
+
+#: actions/deleteuser.php:110 actions/deleteuser.php:133
+msgid "Delete user"
+msgstr "حذف کاربر"
+
+#: actions/deleteuser.php:135
+msgid ""
+"Are you sure you want to delete this user? This will clear all data about "
+"the user from the database, without a backup."
+msgstr ""
+"آیا مطمئن هستید که می‌خواهید این کاربر را پاک کنید؟ با این کار تمام اطلاعات "
+"پاک و بدون برگشت خواهند بود."
+
+#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+msgid "Delete this user"
+msgstr "حذف این کاربر"
+
+#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
+#: lib/adminpanelaction.php:302 lib/groupnav.php:119
+msgid "Design"
+msgstr "طرح"
+
+#: actions/designadminpanel.php:73
+msgid "Design settings for this StatusNet site."
+msgstr "تنظیمات ظاهری برای این سایت."
+
+#: actions/designadminpanel.php:275
+msgid "Invalid logo URL."
+msgstr "نشانی اینترنتی نشان نامعتبر است."
+
+#: actions/designadminpanel.php:279
+#, php-format
+msgid "Theme not available: %s"
+msgstr "پوسته در دسترس نمی‌باشد: %s"
+
+#: actions/designadminpanel.php:375
+msgid "Change logo"
+msgstr "تغییر نشان"
+
+#: actions/designadminpanel.php:380
+msgid "Site logo"
+msgstr "نشان وب‌گاه"
+
+#: actions/designadminpanel.php:387
+msgid "Change theme"
+msgstr "تغییر پوسته"
+
+#: actions/designadminpanel.php:404
+msgid "Site theme"
+msgstr "پوستهٔ وب‌گاه"
+
+#: actions/designadminpanel.php:405
+msgid "Theme for the site."
+msgstr "پوسته برای وب‌گاه"
+
+#: actions/designadminpanel.php:417 lib/designsettings.php:101
+msgid "Change background image"
+msgstr "تغییر تصویر پیش‌زمینه"
+
+#: actions/designadminpanel.php:422 actions/designadminpanel.php:497
+#: lib/designsettings.php:178
+msgid "Background"
+msgstr "پیش‌زمینه"
+
+#: actions/designadminpanel.php:427
+#, php-format
+msgid ""
+"You can upload a background image for the site. The maximum file size is %1"
+"$s."
+msgstr ""
+"شما می‌توانید یک تصویر پیش‌زمینه را برای وب‌گاه بارگذاری کنید. بیشینهٔ اندازهٔ "
+"پرونده %1 $s است."
+
+#: actions/designadminpanel.php:457 lib/designsettings.php:139
+msgid "On"
+msgstr "روشن"
+
+#: actions/designadminpanel.php:473 lib/designsettings.php:155
+msgid "Off"
+msgstr "خاموش"
+
+#: actions/designadminpanel.php:474 lib/designsettings.php:156
+msgid "Turn background image on or off."
+msgstr "تصویر پیش‌زمینه را فعال یا غیرفعال کنید."
+
+#: actions/designadminpanel.php:479 lib/designsettings.php:161
+msgid "Tile background image"
+msgstr "تصویر پیش‌زمینهٔ موزاییکی"
+
+#: actions/designadminpanel.php:488 lib/designsettings.php:170
+msgid "Change colours"
+msgstr "عوض‌کردن رنگ‌ها"
+
+#: actions/designadminpanel.php:510 lib/designsettings.php:191
+msgid "Content"
+msgstr "محتوا"
+
+#: actions/designadminpanel.php:523 lib/designsettings.php:204
+msgid "Sidebar"
+msgstr "ستون کناری"
+
+#: actions/designadminpanel.php:536 lib/designsettings.php:217
+msgid "Text"
+msgstr "متن"
+
+#: actions/designadminpanel.php:549 lib/designsettings.php:230
+msgid "Links"
+msgstr "پیوندها"
+
+#: actions/designadminpanel.php:577 lib/designsettings.php:247
+msgid "Use defaults"
+msgstr "استفاده‌کردن از پیش‌فرض‌ها"
+
+#: actions/designadminpanel.php:578 lib/designsettings.php:248
+msgid "Restore default designs"
+msgstr "بازگرداندن طرح‌های پیش‌فرض"
+
+#: actions/designadminpanel.php:584 lib/designsettings.php:254
+msgid "Reset back to default"
+msgstr "برگشت به حالت پیش گزیده"
+
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:313 lib/designsettings.php:256
+#: lib/groupeditform.php:202
+msgid "Save"
+msgstr "ذخیره‌کردن"
+
+#: actions/designadminpanel.php:587 lib/designsettings.php:257
+msgid "Save design"
+msgstr "ذخیره‌کردن طرح"
+
+#: actions/disfavor.php:81
+msgid "This notice is not a favorite!"
+msgstr "این آگهی یک آگهی برگزیده نیست!"
+
+#: actions/disfavor.php:94
+msgid "Add to favorites"
+msgstr "افزودن به علاقه‌مندی‌ها"
+
+#: actions/doc.php:69
+msgid "No such document."
+msgstr "چنین سندی وجود ندارد."
+
+#: actions/editgroup.php:56
+#, php-format
+msgid "Edit %s group"
+msgstr "ویرایش گروه %s"
+
+#: 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:103 actions/editgroup.php:168
+#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+msgid "You must be an admin to edit the group"
+msgstr "برای ویرایش گروه، باید یک مدیر باشید."
+
+#: actions/editgroup.php:154
+msgid "Use this form to edit the group."
+msgstr "از این روش برای ویرایش گروه استفاده کنید."
+
+#: actions/editgroup.php:201 actions/newgroup.php:145
+#, php-format
+msgid "description is too long (max %d chars)."
+msgstr "توصیف بسیار زیاد است (حداکثر %d حرف)."
+
+#: actions/editgroup.php:253
+msgid "Could not update group."
+msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
+
+#: actions/editgroup.php:259 classes/User_group.php:390
+msgid "Could not create aliases."
+msgstr "نمی‌توان نام‌های مستعار را ساخت."
+
+#: actions/editgroup.php:269
+msgid "Options saved."
+msgstr "گزینه‌ها ذخیره شدند."
+
+#: actions/emailsettings.php:60
+msgid "Email Settings"
+msgstr "تنظیمات پست الکترونیک"
+
+#: actions/emailsettings.php:71
+#, php-format
+msgid "Manage how you get email from %%site.name%%."
+msgstr "چگونگی دریافت نامه از %%site.name%% را اداره کنید."
+
+#: actions/emailsettings.php:100 actions/imsettings.php:100
+#: actions/smssettings.php:104
+msgid "Address"
+msgstr "نشانی"
+
+#: actions/emailsettings.php:105
+msgid "Current confirmed email address."
+msgstr "نشانی پست الکترونیکی تایید شدهٔ کنونی"
+
+#: actions/emailsettings.php:107 actions/emailsettings.php:140
+#: actions/imsettings.php:108 actions/smssettings.php:115
+#: actions/smssettings.php:158
+msgid "Remove"
+msgstr "حذف"
+
+#: actions/emailsettings.php:113
+msgid ""
+"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
+"a message with further instructions."
+msgstr ""
+
+#: actions/emailsettings.php:117 actions/imsettings.php:120
+#: actions/smssettings.php:126
+msgid "Cancel"
+msgstr "انصراف"
+
+#: actions/emailsettings.php:121
+msgid "Email Address"
+msgstr "نشانی پست الکترونیکی"
+
+#: actions/emailsettings.php:123
+msgid "Email address, like \"UserName@example.org\""
+msgstr "نشانی پست الکترونیکی، مانند «UserName@example.org»"
+
+#: actions/emailsettings.php:126 actions/imsettings.php:133
+#: actions/smssettings.php:145
+msgid "Add"
+msgstr "افزودن"
+
+#: actions/emailsettings.php:133 actions/smssettings.php:152
+msgid "Incoming email"
+msgstr "پست الکترونیک ورودی"
+
+#: actions/emailsettings.php:138 actions/smssettings.php:157
+msgid "Send email to this address to post new notices."
+msgstr "برای ارسال پیام با استفاده از پست الکترونیک به این نشانی نامه بفرستید."
+
+#: actions/emailsettings.php:145 actions/smssettings.php:162
+msgid "Make a new email address for posting to; cancels the old one."
+msgstr "نشانی جدید برای ارسال پیام ایجاد کن؛ نشانی قبلی فسخ می‌شود."
+
+#: actions/emailsettings.php:148 actions/smssettings.php:164
+msgid "New"
+msgstr "جدید"
+
+#: actions/emailsettings.php:153 actions/imsettings.php:139
+#: actions/smssettings.php:169
+msgid "Preferences"
+msgstr "ترجیحات"
+
+#: actions/emailsettings.php:158
+msgid "Send me notices of new subscriptions through email."
+msgstr "پیام‌های کسانی را که به تازگی دنبال می‌کنم با پست الکترونیک برایم بفرست."
+
+#: actions/emailsettings.php:163
+msgid "Send me email when someone adds my notice as a favorite."
+msgstr ""
+"هر وقت کسی پیام های مرا دوست داشتنی کرد، مرا با پست اکترونیک با خبر کن."
+
+#: actions/emailsettings.php:169
+msgid "Send me email when someone sends me a private message."
+msgstr "هر وقت کسی برای من پیام خصوصی فرستاد، مرا با پست الکترونیک با خبر کن."
+
+#: actions/emailsettings.php:174
+msgid "Send me email when someone sends me an \"@-reply\"."
+msgstr "هر وقت کسی از من در پیام خود یاد کرد، مرا با پست الکترونیک با خبر کن."
+
+#: actions/emailsettings.php:179
+msgid "Allow friends to nudge me and send me an email."
+msgstr "اجازه بده دوستان توجه مرا جذب کنند و به من نامه بفرستند."
+
+#: actions/emailsettings.php:185
+msgid "I want to post notices by email."
+msgstr "می‌خواهم با نامه پیام ارسال کنم."
+
+#: actions/emailsettings.php:191
+msgid "Publish a MicroID for my email address."
+msgstr "یک شناسه برای پست الکترونیک  من منتشر کن."
+
+#: actions/emailsettings.php:302 actions/imsettings.php:264
+#: actions/othersettings.php:180 actions/smssettings.php:284
+msgid "Preferences saved."
+msgstr "تنظیمات ذخیره شد."
+
+#: actions/emailsettings.php:320
+msgid "No email address."
+msgstr "پست الکترونیک وجود ندارد."
+
+#: actions/emailsettings.php:327
+msgid "Cannot normalize that email address"
+msgstr "نمی‌توان نشانی را قانونی کرد"
+
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
+msgid "Not a valid email address"
+msgstr "این یک نشانی صحیح نیست"
+
+#: actions/emailsettings.php:334
+msgid "That is already your email address."
+msgstr "هم اکنون نشانی شما همین است."
+
+#: actions/emailsettings.php:337
+msgid "That email address already belongs to another user."
+msgstr "این نشانی در حال حاضر متعلق به فرد دیگری است."
+
+#: actions/emailsettings.php:353 actions/imsettings.php:317
+#: actions/smssettings.php:337
+msgid "Couldn't insert confirmation code."
+msgstr "نمی‌توان کد تایید را اضافه کرد."
+
+#: actions/emailsettings.php:359
+msgid ""
+"A confirmation code was sent to the email address you added. Check your "
+"inbox (and spam box!) for the code and instructions on how to use it."
+msgstr ""
+"کد تایید به نشانی شما ارسال شد. نامه های خود را بررسی کنید برای کد تایید و "
+"راه استفاده."
+
+#: actions/emailsettings.php:379 actions/imsettings.php:351
+#: actions/smssettings.php:370
+msgid "No pending confirmation to cancel."
+msgstr "هیچ تاییدی برای فسخ کردن وجود ندارد."
+
+#: actions/emailsettings.php:383 actions/imsettings.php:355
+msgid "That is the wrong IM address."
+msgstr "نشانی پیام رسان اشتباه است."
+
+#: actions/emailsettings.php:395 actions/imsettings.php:367
+#: actions/smssettings.php:386
+msgid "Confirmation cancelled."
+msgstr "تایید فسخ شد."
+
+#: actions/emailsettings.php:413
+msgid "That is not your email address."
+msgstr "آن نشانی شما نیست."
+
+#: actions/emailsettings.php:432 actions/imsettings.php:408
+#: actions/smssettings.php:425
+msgid "The address was removed."
+msgstr "نشانی پاک شده است."
+
+#: actions/emailsettings.php:446 actions/smssettings.php:518
+msgid "No incoming email address."
+msgstr "هیچ نشانی ورودی وجود ندارد."
+
+#: actions/emailsettings.php:456 actions/emailsettings.php:478
+#: actions/smssettings.php:528 actions/smssettings.php:552
+msgid "Couldn't update user record."
+msgstr "نمی‌توان اطلاعات کاربر را به روز کرد."
+
+#: actions/emailsettings.php:459 actions/smssettings.php:531
+msgid "Incoming email address removed."
+msgstr "نشانی ورودی پاک شد."
+
+#: actions/emailsettings.php:481 actions/smssettings.php:555
+msgid "New incoming email address added."
+msgstr "نشانی ورودی جدید اضافه شد."
+
+#: actions/favor.php:79
+msgid "This notice is already a favorite!"
+msgstr "این پیام هم اکنون دوست داشتنی شده است."
+
+#: actions/favor.php:92 lib/disfavorform.php:140
+msgid "Disfavor favorite"
+msgstr "دوست ندارم"
+
+#: actions/favorited.php:65 lib/popularnoticesection.php:88
+#: lib/publicgroupnav.php:93
+msgid "Popular notices"
+msgstr "آگهی‌های محبوب"
+
+#: actions/favorited.php:67
+#, php-format
+msgid "Popular notices, page %d"
+msgstr "آگهی‌های محبوب، صفحهٔ %d"
+
+#: actions/favorited.php:79
+msgid "The most popular notices on the site right now."
+msgstr "دوست داشتنی ترین پیام های سایت در حال حاضر."
+
+#: actions/favorited.php:150
+msgid "Favorite notices appear on this page but no one has favorited one yet."
+msgstr ""
+"پیام‌های دوست داشتنی در این صفحه نمایش داده می‌شوند اما هیچ کس پیامی را دوست "
+"داشتنی نکرده است."
+
+#: actions/favorited.php:153
+msgid ""
+"Be the first to add a notice to your favorites by clicking the fave button "
+"next to any notice you like."
+msgstr ""
+"یک پیام را دوست داشتنی کنید با کلیک کردن روی دکمه‌ی دوست داشتنی نزدیک هر پیام."
+
+#: actions/favorited.php:156
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and be the first to add a "
+"notice to your favorites!"
+msgstr ""
+"چرا [ثبت نام](%%action.register%%) نمی‌کنید و یک پیام را دوست داشتنی کنید؟"
+
+#: actions/favoritesrss.php:111 actions/showfavorites.php:77
+#: lib/personalgroupnav.php:115
+#, php-format
+msgid "%s's favorite notices"
+msgstr "دوست داشتنی های %s"
+
+#: actions/favoritesrss.php:115
+#, php-format
+msgid "Updates favored by %1$s on %2$s!"
+msgstr "پیام‌های دوست داشتنی %s در %s"
+
+#: actions/featured.php:69 lib/featureduserssection.php:87
+#: lib/publicgroupnav.php:89
+msgid "Featured users"
+msgstr "کاربران ویژه"
+
+#: actions/featured.php:71
+#, php-format
+msgid "Featured users, page %d"
+msgstr "کاربران ویژه، صفحه‌ی %d"
+
+#: actions/featured.php:99
+#, php-format
+msgid "A selection of some great users on %s"
+msgstr ""
+
+#: actions/file.php:34
+msgid "No notice ID."
+msgstr ""
+
+#: actions/file.php:38
+msgid "No notice."
+msgstr "بدون آگهی."
+
+#: actions/file.php:42
+msgid "No attachments."
+msgstr "بدون ضمیمه."
+
+#: actions/file.php:51
+msgid "No uploaded attachments."
+msgstr "بدون ضمیمه های ارسال شده."
+
+#: actions/finishremotesubscribe.php:69
+msgid "Not expecting this response!"
+msgstr "انتظار چنین جوابی وجود نداشت!"
+
+#: actions/finishremotesubscribe.php:80
+msgid "User being listened to does not exist."
+msgstr "کاربری که دنبالش هستید وجود ندارد."
+
+#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
+msgid "You can use the local subscription!"
+msgstr "شما می‌توانید از دنبال کردن محلی استفاده کنید!"
+
+#: actions/finishremotesubscribe.php:99
+msgid "That user has blocked you from subscribing."
+msgstr "این کاربر شما را از دنبال کردن خودش منع کرده است."
+
+#: actions/finishremotesubscribe.php:110
+msgid "You are not authorized."
+msgstr "شما شناسایی نشده اید."
+
+#: actions/finishremotesubscribe.php:113
+msgid "Could not convert request token to access token."
+msgstr "نمی‌توان نشانه‌ی درخواست شما را به نشانه‌ی دسترسی تبدیل کرد."
+
+#: actions/finishremotesubscribe.php:118
+msgid "Remote service uses unknown version of OMB protocol."
+msgstr "خدمات مورد نظر از نسخه‌ی نا مفهومی از قرارداد OMB استفاده می‌کند."
+
+#: actions/finishremotesubscribe.php:138 lib/oauthstore.php:306
+msgid "Error updating remote profile"
+msgstr "اشکال در به روز کردن کاربر دوردست."
+
+#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
+#: actions/grouprss.php:98 actions/groupunblock.php:86
+#: actions/leavegroup.php:83 actions/makeadmin.php:86 lib/command.php:212
+#: lib/command.php:263
+msgid "No such group."
+msgstr "چنین گروهی وجود ندارد."
+
+#: actions/getfile.php:75
+msgid "No such file."
+msgstr "چنین پرونده‌ای وجود ندارد."
+
+#: actions/getfile.php:79
+msgid "Cannot read file."
+msgstr "نمی‌توان پرونده را خواند."
+
+#: actions/groupblock.php:71 actions/groupunblock.php:71
+#: actions/makeadmin.php:71 actions/subedit.php:46
+#: lib/profileformaction.php:70
+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
+#: lib/profileformaction.php:77
+msgid "No profile with that ID."
+msgstr "کاربری با چنین شناسه‌ای وجود ندارد."
+
+#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/makeadmin.php:81
+msgid "No group specified."
+msgstr "گروهی مشخص نشده است."
+
+#: actions/groupblock.php:91
+msgid "Only an admin can block group members."
+msgstr "فقط یک مدیر می‌تواند اعضای یک گروه را مسدود کند."
+
+#: actions/groupblock.php:95
+msgid "User is already blocked from group."
+msgstr "هم اکنون دسترسی کاربر به گروه مسدود شده است."
+
+#: actions/groupblock.php:100
+msgid "User is not a member of group."
+msgstr "کاربر عضو گروه نیست."
+
+#: actions/groupblock.php:136 actions/groupmembers.php:314
+msgid "Block user from group"
+msgstr "دسترسی کاربر به گروه را مسدود کن"
+
+#: actions/groupblock.php:162
+#, php-format
+msgid ""
+"Are you sure you want to block user \"%s\" from the group \"%s\"? They will "
+"be removed from the group, unable to post, and unable to subscribe to the "
+"group in the future."
+msgstr "آیا مطمئن هستید می‌خواهید دسترسی »%s« را به گروه »%s« مسدود کنید؟"
+
+#: actions/groupblock.php:178
+msgid "Do not block this user from this group"
+msgstr "دسترسی کاربر به گروه را مسدود نکن"
+
+#: actions/groupblock.php:179
+msgid "Block this user from this group"
+msgstr "دسترسی کاربر را به گروه مسدود کن"
+
+#: actions/groupblock.php:196
+msgid "Database error blocking user from group."
+msgstr "اشکال پایگاه داده در مسدود کردن کاربر"
+
+#: actions/groupbyid.php:74
+msgid "No ID"
+msgstr "شناسه وجود ندارد"
+
+#: actions/groupdesignsettings.php:68
+msgid "You must be logged in to edit a group."
+msgstr "برای ویرایش گروه باید وارد شوید."
+
+#: actions/groupdesignsettings.php:141
+msgid "Group design"
+msgstr "ظاهر گروه"
+
+#: actions/groupdesignsettings.php:152
+msgid ""
+"Customize the way your group looks with a background image and a colour "
+"palette of your choice."
+msgstr "ظاهر گروه را تغییر دهید تا شما را راضی کند."
+
+#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: lib/designsettings.php:391 lib/designsettings.php:413
+msgid "Couldn't update your design."
+msgstr "نمی‌توان ظاهر را به روز کرد."
+
+#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
+#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
+msgid "Unable to save your design settings!"
+msgstr "نمی‌توان تنظیمات شما را ذخیره کرد!"
+
+#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+msgid "Design preferences saved."
+msgstr "ترجیحات طرح ذخیره شد."
+
+#: actions/grouplogo.php:139 actions/grouplogo.php:192
+msgid "Group logo"
+msgstr "نشان گروه"
+
+#: actions/grouplogo.php:150
+#, php-format
+msgid ""
+"You can upload a logo image for your group. The maximum file size is %s."
+msgstr "شما می‌توانید یک نشان برای گروه خود با بیشینه حجم %s بفرستید."
+
+#: actions/grouplogo.php:362
+msgid "Pick a square area of the image to be the logo."
+msgstr "یک ناحیه‌ی مربع از تصویر را انتخاب کنید تا به عنوان نشان باشد."
+
+#: actions/grouplogo.php:396
+msgid "Logo updated."
+msgstr "نشان به‌هنگام‌سازی شد."
+
+#: actions/grouplogo.php:398
+msgid "Failed updating logo."
+msgstr "اشکال در ارسال نشان."
+
+#: actions/groupmembers.php:93 lib/groupnav.php:92
+#, php-format
+msgid "%s group members"
+msgstr "اعضای گروه %s"
+
+#: actions/groupmembers.php:96
+#, php-format
+msgid "%s group members, page %d"
+msgstr "اعضای گروه %s، صفحهٔ %d"
+
+#: actions/groupmembers.php:111
+msgid "A list of the users in this group."
+msgstr "یک فهرست از کاربران در این گروه"
+
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
+msgid "Admin"
+msgstr "مدیر"
+
+#: actions/groupmembers.php:346 lib/blockform.php:69
+msgid "Block"
+msgstr "بازداشتن"
+
+#: actions/groupmembers.php:441
+msgid "Make user an admin of the group"
+msgstr "کاربر یک مدیر گروه شود"
+
+#: actions/groupmembers.php:473
+msgid "Make Admin"
+msgstr "مدیر شود"
+
+#: actions/groupmembers.php:473
+msgid "Make this user an admin"
+msgstr "این کاربر یک مدیر شود"
+
+#: actions/grouprss.php:133
+#, php-format
+msgid "Updates from members of %1$s on %2$s!"
+msgstr "به روز رسانی کابران %1$s در %2$s"
+
+#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
+msgid "Groups"
+msgstr "گروه‌ها"
+
+#: actions/groups.php:64
+#, php-format
+msgid "Groups, page %d"
+msgstr "گروه‌ها، صفحهٔ %d"
+
+#: actions/groups.php:90
+#, php-format
+msgid ""
+"%%%%site.name%%%% groups let you find and talk with people of similar "
+"interests. After you join a group you can send messages to all other members "
+"using the syntax \"!groupname\". Don't see a group you like? Try [searching "
+"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
+"%%%%)"
+msgstr ""
+"گروه های %%%site.name%%% به شما اجازه می‌دهد با کسانی که همانند شما علاقه‌مندی "
+"های خاصی دارد صحبت کنید. بعد از پیوستن به یک گروه می‌توانید به شکل !groupname "
+"به اعضای آن گروه پیام ارسال کنید .گروهی که دوست دارید را نمی‌بینید؟ می‌توانید "
+"برای یافتن آن [بگردید](%%%action.groupsearch%%%) یا آن را خودتان [ایجاد](%%%"
+"action.newgroup%%%) کنید."
+
+#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
+msgid "Create a new group"
+msgstr "یک گروه جدید بساز"
+
+#: actions/groupsearch.php:52
+#, php-format
+msgid ""
+"Search for groups on %%site.name%% by their name, location, or description. "
+"Separate the terms by spaces; they must be 3 characters or more."
+msgstr "با وارد کردن ۳ حرف و بیش‌تر در گروه‌های %%site.name%% جست‌و‌جو کنید."
+
+#: actions/groupsearch.php:58
+msgid "Group search"
+msgstr "جست‌وجوی گروه"
+
+#: actions/groupsearch.php:79 actions/noticesearch.php:117
+#: actions/peoplesearch.php:83
+msgid "No results."
+msgstr "بدون نتیجه."
+
+#: actions/groupsearch.php:82
+#, php-format
+msgid ""
+"If you can't find the group you're looking for, you can [create it](%%action."
+"newgroup%%) yourself."
+msgstr ""
+"اگر نمی‌توانید گروه مورد نظر را پیدا کنید خودتان می‌توانید آن را [ایجاد](%%"
+"action.newgroup%%) کنید."
+
+#: actions/groupsearch.php:85
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and [create the group](%%"
+"action.newgroup%%) yourself!"
+msgstr ""
+"چرا [ثبت نام](%%action.register%%) نمی‌کنید و گروه را خود [ایجاد](%%action."
+"newgroup%%) نمی‌کنید!"
+
+#: actions/groupunblock.php:91
+msgid "Only an admin can unblock group members."
+msgstr "تنها یک مدیر توانایی برداشتن منع کاربران گروه را دارد."
+
+#: actions/groupunblock.php:95
+msgid "User is not blocked from group."
+msgstr "کاربر از گروه منع نشده است."
+
+#: actions/groupunblock.php:128 actions/unblock.php:86
+msgid "Error removing the block."
+msgstr "اشکال در پاکسازی"
+
+#: actions/imsettings.php:59
+msgid "IM Settings"
+msgstr "تنظیمات پیام‌رسان فوری"
+
+#: actions/imsettings.php:70
+#, php-format
+msgid ""
+"You can send and receive notices through Jabber/GTalk [instant messages](%%"
+"doc.im%%). Configure your address and settings below."
+msgstr ""
+"شما می‌توانید پیام‌های خود را با استفاده از [پیام‌رسان‌های](%%doc.im%%) Jabber "
+"یا Gtalk ارسال/دریافت کنید. نشانی خود را در این قسمت تنظیم کنید"
+
+#: actions/imsettings.php:89
+msgid "IM is not available."
+msgstr "پیام‌رسان فوری در دسترس نیست."
+
+#: actions/imsettings.php:106
+msgid "Current confirmed Jabber/GTalk address."
+msgstr "نشانی Jabber/GTalk تایید شده کنونی"
+
+#: actions/imsettings.php:114
+#, php-format
+msgid ""
+"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
+"message with further instructions. (Did you add %s to your buddy list?)"
+msgstr ""
+"منتظر تایید این نشانی هستیم. لطفا Jabber/Gtalk خود را برای دریافت توضیحات "
+"بیش‌تر بررسی کنید. (آیا %s را به فهرست خود اضافه کرده اید؟) "
+
+#: actions/imsettings.php:124
+msgid "IM Address"
+msgstr "نشانی پیام‌رسان فوری"
+
+#: actions/imsettings.php:126
+#, php-format
+msgid ""
+"Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
+"add %s to your buddy list in your IM client or on GTalk."
+msgstr ""
+"نشانی Jabber یا GTalk، مانند «UserName@example.org». ابتدا از اضافه کردن %s "
+"به فهرست دوستان خود در کارگیر پیام‌رسان فوری‌تان یا در GTalk مطمئن شوید."
+
+#: actions/imsettings.php:143
+msgid "Send me notices through Jabber/GTalk."
+msgstr "آگهی‌ها را از راه Jabber/GTalk برای من بفرست."
+
+#: actions/imsettings.php:148
+msgid "Post a notice when my Jabber/GTalk status changes."
+msgstr "هر وقت که وضعیت Jabber/Gtalk من فرق کرد، یک پیام ارسال کن."
+
+#: actions/imsettings.php:153
+msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
+msgstr ""
+"جواب کسانی که من آن ها را دنبال نمی‌کنم را با Jabber/Gtalk برایم ارسال کن."
+
+#: actions/imsettings.php:159
+msgid "Publish a MicroID for my Jabber/GTalk address."
+msgstr "یک شناسه‌ی کوچک برای Jabber/Gtalk من منتشر کن."
+
+#: actions/imsettings.php:285
+msgid "No Jabber ID."
+msgstr "هیچ شناسهٔ Jabber ای وجود ندارد."
+
+#: actions/imsettings.php:292
+msgid "Cannot normalize that Jabber ID"
+msgstr "نمی‌توان شناسه‌ی Jabber را تایید کرد"
+
+#: actions/imsettings.php:296
+msgid "Not a valid Jabber ID"
+msgstr "شناسه‌ی Jabber درست نیست"
+
+#: actions/imsettings.php:299
+msgid "That is already your Jabber ID."
+msgstr "این شناسه Jabber کنونی شماست."
+
+#: actions/imsettings.php:302
+msgid "Jabber ID already belongs to another user."
+msgstr "شناسه Jabber به یک کاربر دیگر مربوط است."
+
+#: actions/imsettings.php:327
+#, php-format
+msgid ""
+"A confirmation code was sent to the IM address you added. You must approve %"
+"s for sending messages to you."
+msgstr ""
+"کد تایید به پیام‌رسان شما ارسال شد. شما باید %s را تایید کنید تا پیام‌ها به "
+"شما ارسال شود."
+
+#: actions/imsettings.php:387
+msgid "That is not your Jabber ID."
+msgstr "این شناسه‌ی Jabber شما نیست."
+
+#: actions/inbox.php:59
+#, php-format
+msgid "Inbox for %s - page %d"
+msgstr "ورودی‌های %s - صفحه‌ی %d"
+
+#: actions/inbox.php:62
+#, php-format
+msgid "Inbox for %s"
+msgstr "صندوق ورودی %s"
+
+#: actions/inbox.php:115
+msgid "This is your inbox, which lists your incoming private messages."
+msgstr "این صندوق ورودی‌های شماست که پیام‌های خصوصی شما در آن خواهد بود."
+
+#: actions/invite.php:39
+msgid "Invites have been disabled."
+msgstr "دعوت‌کردن از کار انداخته شده‌است."
+
+#: actions/invite.php:41
+#, php-format
+msgid "You must be logged in to invite other users to use %s"
+msgstr "شما برای دعوت دیگران برای استفاده از %s باید وارد شودید."
+
+#: actions/invite.php:72
+#, php-format
+msgid "Invalid email address: %s"
+msgstr "پست‌الکترونیک صحیح نیست: %s"
+
+#: actions/invite.php:110
+msgid "Invitation(s) sent"
+msgstr "دعوت‌نامه(ها) فرستاده‌شد"
+
+#: actions/invite.php:112
+msgid "Invite new users"
+msgstr "دعوت کردن کاربران تازه"
+
+#: actions/invite.php:128
+msgid "You are already subscribed to these users:"
+msgstr "هم اکنون شما این کاربران را دنبال می‌کنید: "
+
+#: actions/invite.php:131 actions/invite.php:139
+#, php-format
+msgid "%s (%s)"
+msgstr "%s )%s("
+
+#: actions/invite.php:136
+msgid ""
+"These people are already users and you were automatically subscribed to them:"
+msgstr "این کاربرانی هستند که شما به صورت خودکار آن‌ها را دنبال می‌کنید: "
+
+#: actions/invite.php:144
+msgid "Invitation(s) sent to the following people:"
+msgstr "دعوت‌نامه(ها) برای افراد زیر فرستاده شد:"
+
+#: actions/invite.php:150
+msgid ""
+"You will be notified when your invitees accept the invitation and register "
+"on the site. Thanks for growing the community!"
+msgstr ""
+"هر زمان که دعوت شدگان شما دعوتتان را بپذیرند شما با خبر خواهید شد. با تشکر "
+"از شما برای بزرگ کردن اجتماع کابران."
+
+#: actions/invite.php:162
+msgid ""
+"Use this form to invite your friends and colleagues to use this service."
+msgstr ""
+"برای دعوت دوستان و تشویق آن‌ها به استفاده از خدمات از فرم زیر استفاده کنید."
+
+#: actions/invite.php:187
+msgid "Email addresses"
+msgstr "نشانی‌های پست الکترونیکی"
+
+#: actions/invite.php:189
+msgid "Addresses of friends to invite (one per line)"
+msgstr "نشانی دوستان (یک نشانی در هر خط("
+
+#: actions/invite.php:192
+msgid "Personal message"
+msgstr "پیام خصوصی"
+
+#: actions/invite.php:194
+msgid "Optionally add a personal message to the invitation."
+msgstr "اگر دوست دارید می‌توانید یک پیام به همراه دعوت نامه ارسال کنید."
+
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
+msgid "Send"
+msgstr "فرستادن"
+
+#: actions/invite.php:226
+#, php-format
+msgid "%1$s has invited you to join them on %2$s"
+msgstr "%1$s شما را دعوت کرده است که در %2$s به آن‌ها بپیوندید."
+
+#: actions/invite.php:228
+#, php-format
+msgid ""
+"%1$s has invited you to join them on %2$s (%3$s).\n"
+"\n"
+"%2$s is a micro-blogging service that lets you keep up-to-date with people "
+"you know and people who interest you.\n"
+"\n"
+"You can also share news about yourself, your thoughts, or your life online "
+"with people who know about you. It's also great for meeting new people who "
+"share your interests.\n"
+"\n"
+"%1$s said:\n"
+"\n"
+"%4$s\n"
+"\n"
+"You can see %1$s's profile page on %2$s here:\n"
+"\n"
+"%5$s\n"
+"\n"
+"If you'd like to try the service, click on the link below to accept the "
+"invitation.\n"
+"\n"
+"%6$s\n"
+"\n"
+"If not, you can ignore this message. Thanks for your patience and your "
+"time.\n"
+"\n"
+"Sincerely, %2$s\n"
+msgstr ""
+
+#: actions/joingroup.php:60
+msgid "You must be logged in to join a group."
+msgstr "برای پیوستن به یک گروه، باید وارد شده باشید."
+
+#: actions/joingroup.php:90 lib/command.php:217
+msgid "You are already a member of that group"
+msgstr "شما یک کاربر این گروه هستید."
+
+#: actions/joingroup.php:128 lib/command.php:234
+#, php-format
+msgid "Could not join user %s to group %s"
+msgstr "نمی‌توان کاربر %s را به گروه %s پیوند داد."
+
+#: actions/joingroup.php:135 lib/command.php:239
+#, php-format
+msgid "%s joined group %s"
+msgstr "ملحق شدن به گروه"
+
+#: actions/leavegroup.php:60
+msgid "You must be logged in to leave a group."
+msgstr "برای ترک یک گروه، شما باید وارد شده باشید."
+
+#: actions/leavegroup.php:90 lib/command.php:268
+msgid "You are not a member of that group."
+msgstr "شما یک کاربر این گروه نیستید."
+
+#: actions/leavegroup.php:119 lib/command.php:278
+msgid "Could not find membership record."
+msgstr "عضویت ثبت شده پیدا نشد."
+
+#: actions/leavegroup.php:127 lib/command.php:284
+#, php-format
+msgid "Could not remove user %s to group %s"
+msgstr ""
+
+#: actions/leavegroup.php:134 lib/command.php:289
+#, php-format
+msgid "%s left group %s"
+msgstr "%s گروه %s را ترک کرد."
+
+#: actions/login.php:83 actions/register.php:137
+msgid "Already logged in."
+msgstr "قبلا وارد شده"
+
+#: actions/login.php:114 actions/login.php:124
+msgid "Invalid or expired token."
+msgstr "علامت بی اعتبار یا منقضی."
+
+#: actions/login.php:147
+msgid "Incorrect username or password."
+msgstr "نام کاربری یا رمز عبور نادرست."
+
+#: actions/login.php:153
+msgid "Error setting user. You are probably not authorized."
+msgstr "خطا در تنظیم کاربر. شما احتمالا اجازه ی این کار را ندارید."
+
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
+#: lib/logingroupnav.php:79
+msgid "Login"
+msgstr "ورود"
+
+#: actions/login.php:247
+msgid "Login to site"
+msgstr "ورود به وب‌گاه"
+
+#: actions/login.php:250 actions/profilesettings.php:106
+#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: lib/groupeditform.php:152 lib/userprofile.php:131
+msgid "Nickname"
+msgstr "نام کاربری"
+
+#: actions/login.php:253 actions/register.php:428
+#: lib/accountsettingsaction.php:116
+msgid "Password"
+msgstr "گذرواژه"
+
+#: actions/login.php:256 actions/register.php:477
+msgid "Remember me"
+msgstr "مرا به یاد بسپار"
+
+#: actions/login.php:257 actions/register.php:479
+msgid "Automatically login in the future; not for shared computers!"
+msgstr "وارد شدن خودکار. نه برای کامپیوترهای مشترک!"
+
+#: actions/login.php:267
+msgid "Lost or forgotten password?"
+msgstr "رمز عبور خود را گم یا فراموش کرده اید؟"
+
+#: actions/login.php:286
+msgid ""
+"For security reasons, please re-enter your user name and password before "
+"changing your settings."
+msgstr ""
+"به دلایل امنیتی، لطفا نام کاربری و رمز عبور خود را قبل از تغییر تنظیمات "
+"دوباره وارد نمایید."
+
+#: actions/login.php:290
+#, php-format
+msgid ""
+"Login with your username and password. Don't have a username yet? [Register]"
+"(%%action.register%%) a new account."
+msgstr ""
+"با نام‌کاربری و گذزواژه‌ی خود وارد شوید. نام‌کاربری ندارید؟ یک نام‌کاربری [ثبت ]"
+"(%%action.register%%) کنید."
+
+#: actions/makeadmin.php:91
+msgid "Only an admin can make another user an admin."
+msgstr "فقط یک مدیر می‌تواند کاربر دیگری را مدیر کند."
+
+#: actions/makeadmin.php:95
+#, php-format
+msgid "%s is already an admin for group \"%s\"."
+msgstr "%s از قبل مدیر گروه %s بود."
+
+#: actions/makeadmin.php:132
+#, php-format
+msgid "Can't get membership record for %s in group %s"
+msgstr "نمی‌توان اطلاعات عضویت %s را در گروه %s به دست آورد."
+
+#: actions/makeadmin.php:145
+#, php-format
+msgid "Can't make %s an admin for group %s"
+msgstr "نمی‌توان %s را مدیر گروه %s کرد."
+
+#: actions/microsummary.php:69
+msgid "No current status"
+msgstr "بدون وضعیت فعلی"
+
+#: actions/newgroup.php:53
+msgid "New group"
+msgstr "گروه جدید"
+
+#: actions/newgroup.php:110
+msgid "Use this form to create a new group."
+msgstr "از این فرم برای ساختن یک گروه جدید استفاده کنید"
+
+#: actions/newmessage.php:71 actions/newmessage.php:231
+msgid "New message"
+msgstr "پیام جدید"
+
+#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:367
+msgid "You can't send a message to this user."
+msgstr "شما نمی توانید به این کاربر پیام بفرستید."
+
+#: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:351
+#: lib/command.php:484
+msgid "No content!"
+msgstr "بدون محتوا!"
+
+#: actions/newmessage.php:158
+msgid "No recipient specified."
+msgstr "هیچ گیرنده ای مشخص نشده"
+
+#: actions/newmessage.php:164 lib/command.php:370
+msgid ""
+"Don't send a message to yourself; just say it to yourself quietly instead."
+msgstr "یک پیام را به خودتان نفرستید؛ در عوض آن را آهسته برای خود بگویید."
+
+#: actions/newmessage.php:181
+msgid "Message sent"
+msgstr "پیام فرستاده‌شد"
+
+#: actions/newmessage.php:185 lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
+msgstr "پیام مستقیم به %s فرستاده شد."
+
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
+msgid "Ajax Error"
+msgstr "اشکال آژاکسی"
+
+#: actions/newnotice.php:69
+msgid "New notice"
+msgstr "آگهی جدید"
+
+#: actions/newnotice.php:211
+msgid "Notice posted"
+msgstr "آگهی فرستاده‌شد."
+
+#: actions/noticesearch.php:68
+#, php-format
+msgid ""
+"Search for notices on %%site.name%% by their contents. Separate search terms "
+"by spaces; they must be 3 characters or more."
+msgstr ""
+"جست‌و‌جوی متن پیام‌ها در %%site.name%%. هر شرط را با فاصله جدا کنید و کمینه‌ی "
+"جست‌و‌جو باید ۳ حرف باشد."
+
+#: actions/noticesearch.php:78
+msgid "Text search"
+msgstr "جست‌وجوی متن"
+
+#: actions/noticesearch.php:91
+#, php-format
+msgid "Search results for \"%s\" on %s"
+msgstr "نتایج جست‌و‌جو برای %s در %s"
+
+#: actions/noticesearch.php:121
+#, php-format
+msgid ""
+"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
+msgstr ""
+"اولین کسی باشید که در [این موضوع](%%%%action.newnotice%%%%?status_textarea=%"
+"s) پیام می‌فرستد."
+
+#: actions/noticesearch.php:124
+#, php-format
+msgid ""
+"Why not [register an account](%%%%action.register%%%%) and be the first to "
+"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
+msgstr ""
+"چرا [ثبت نام](%%%%action.register%%%%) نمی‌کنید و اولین پیام را در [این موضوع]"
+"(%%%%action.newnotice%%%%?status_textarea=%s) نمی‌فرستید!"
+
+#: actions/noticesearchrss.php:96
+#, php-format
+msgid "Updates with \"%s\""
+msgstr "پیام‌های با %s"
+
+#: actions/noticesearchrss.php:98
+#, php-format
+msgid "Updates matching search term \"%1$s\" on %2$s!"
+msgstr "پیام‌هایی که با جست‌و‌جوی عبارت »%1$s« در %s یافت شدند."
+
+#: actions/nudge.php:85
+msgid ""
+"This user doesn't allow nudges or hasn't confirmed or set his email yet."
+msgstr ""
+"این کاربر اجازه‌ی سقلمه زدن را نداده است یا پست‌الکترونیک خود را تایید نکرده "
+"است."
+
+#: actions/nudge.php:94
+msgid "Nudge sent"
+msgstr "فرتادن اژیر"
+
+#: actions/nudge.php:97
+msgid "Nudge sent!"
+msgstr "سقلمه فرستاده شد!"
+
+#: actions/oembed.php:79 actions/shownotice.php:100
+msgid "Notice has no profile"
+msgstr "ابن خبر ذخیره ای ندارد ."
+
+#: actions/oembed.php:86 actions/shownotice.php:180
+#, php-format
+msgid "%1$s's status on %2$s"
+msgstr "وضعیت %1$s در %2$s"
+
+#: actions/oembed.php:157
+msgid "content type "
+msgstr "نوع محتوا "
+
+#: actions/oembed.php:160
+msgid "Only "
+msgstr " فقط"
+
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
+#: lib/api.php:1059 lib/api.php:1169
+msgid "Not a supported data format."
+msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست."
+
+#: actions/opensearch.php:64
+msgid "People Search"
+msgstr "جست‌وجوی کاربران"
+
+#: actions/opensearch.php:67
+msgid "Notice Search"
+msgstr "جست‌وجوی آگهی‌ها"
+
+#: actions/othersettings.php:60
+msgid "Other Settings"
+msgstr "تنظیمات دیگر"
+
+#: actions/othersettings.php:71
+msgid "Manage various other options."
+msgstr "مدیریت انتخاب های مختلف دیگر."
+
+#: actions/othersettings.php:108
+msgid " (free service)"
+msgstr " (سرویس‌ آزاد)"
+
+#: actions/othersettings.php:116
+msgid "Shorten URLs with"
+msgstr "کوتاه‌کردن نشانی‌های اینترنتی با"
+
+#: actions/othersettings.php:117
+msgid "Automatic shortening service to use."
+msgstr "کوتاه‌کننده‌ی نشانی مورد استفاده."
+
+#: actions/othersettings.php:122
+msgid "View profile designs"
+msgstr "نمایش طراحی های پروفایل"
+
+#: actions/othersettings.php:123
+msgid "Show or hide profile designs."
+msgstr "نمایش یا عدم‌نمایش طراحی‌های کاربران."
+
+#: actions/othersettings.php:153
+msgid "URL shortening service is too long (max 50 chars)."
+msgstr "کوتاه کننده‌ی نشانی بسیار طولانی است (بیش‌تر از ۵۰ حرف)."
+
+#: actions/outbox.php:58
+#, php-format
+msgid "Outbox for %s - page %d"
+msgstr "فرستاده‌های %s - صفحه‌ی %d"
+
+#: actions/outbox.php:61
+#, php-format
+msgid "Outbox for %s"
+msgstr "فرستاده‌های %s"
+
+#: actions/outbox.php:116
+msgid "This is your outbox, which lists private messages you have sent."
+msgstr ""
+"این صندوق خروجی شماست، که پیام های خصوصی فرستاده شده به وسیله ی شما را لیست "
+"می کند."
+
+#: actions/passwordsettings.php:58
+msgid "Change password"
+msgstr "تغییر گذرواژه"
+
+#: actions/passwordsettings.php:69
+msgid "Change your password."
+msgstr "تغییر گذرواژه‌تان"
+
+#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
+msgid "Password change"
+msgstr "تغییر گذرواژه"
+
+#: actions/passwordsettings.php:104
+msgid "Old password"
+msgstr "گذرواژهٔ قدیمی"
+
+#: actions/passwordsettings.php:108 actions/recoverpassword.php:235
+msgid "New password"
+msgstr "گذرواژهٔ جدید"
+
+#: actions/passwordsettings.php:109
+msgid "6 or more characters"
+msgstr "۶ نویسه یا بیش‌تر"
+
+#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
+#: actions/register.php:432 actions/smssettings.php:134
+msgid "Confirm"
+msgstr "تایید"
+
+#: actions/passwordsettings.php:113 actions/recoverpassword.php:240
+msgid "Same as password above"
+msgstr "مثل رمز عبور بالا"
+
+#: actions/passwordsettings.php:117
+msgid "Change"
+msgstr "تغییر"
+
+#: actions/passwordsettings.php:154 actions/register.php:230
+msgid "Password must be 6 or more characters."
+msgstr "گذرواژه باید ۶ نویسه یا بیش‌تر باشد."
+
+#: actions/passwordsettings.php:157 actions/register.php:233
+msgid "Passwords don't match."
+msgstr "گذرواژه‌ها مطابقت ندارند."
+
+#: actions/passwordsettings.php:165
+msgid "Incorrect old password"
+msgstr "گذرواژه قدیمی اشتباه است"
+
+#: actions/passwordsettings.php:181
+msgid "Error saving user; invalid."
+msgstr "خطا هنگام ذخیره ی کاربر؛ نا معتبر."
+
+#: actions/passwordsettings.php:186 actions/recoverpassword.php:368
+msgid "Can't save new password."
+msgstr "نمی‌توان گذرواژه جدید را ذخیره کرد."
+
+#: actions/passwordsettings.php:192 actions/recoverpassword.php:211
+msgid "Password saved."
+msgstr "گذرواژه ذخیره شد."
+
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:308
+msgid "Paths"
+msgstr "مسیر ها"
+
+#: actions/pathsadminpanel.php:70
+msgid "Path and server settings for this StatusNet site."
+msgstr "تنظیمات و نشانی محلی این سایت استاتوس‌نتی"
+
+#: actions/pathsadminpanel.php:140
+#, php-format
+msgid "Theme directory not readable: %s"
+msgstr "شاخه‌ی پوسته‌ها خواندنی نیست: %s"
+
+#: actions/pathsadminpanel.php:146
+#, php-format
+msgid "Avatar directory not writable: %s"
+msgstr "شاخه‌ی چهره‌ها نوشتنی نیست: %s"
+
+#: actions/pathsadminpanel.php:152
+#, php-format
+msgid "Background directory not writable: %s"
+msgstr "شاخه‌ی پس زمینه‌ها نوشتنی نیست: %s"
+
+#: actions/pathsadminpanel.php:160
+#, php-format
+msgid "Locales directory not readable: %s"
+msgstr "پوشه‌ی تنظیمات محلی خواندنی نیست: %s"
+
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
+#: lib/adminpanelaction.php:299
+msgid "Site"
+msgstr "سایت"
+
+#: actions/pathsadminpanel.php:221
+msgid "Path"
+msgstr "مسیر"
+
+#: actions/pathsadminpanel.php:221
+msgid "Site path"
+msgstr "مسیر وب‌گاه"
+
+#: actions/pathsadminpanel.php:225
+msgid "Path to locales"
+msgstr "نشانی تنظیمات محلی"
+
+#: actions/pathsadminpanel.php:225
+msgid "Directory path to locales"
+msgstr ""
+
+#: actions/pathsadminpanel.php:232
+msgid "Theme"
+msgstr "پوسته"
+
+#: actions/pathsadminpanel.php:237
+msgid "Theme server"
+msgstr "کارگزار پوسته"
+
+#: actions/pathsadminpanel.php:241
+msgid "Theme path"
+msgstr "مسیر پوسته"
+
+#: actions/pathsadminpanel.php:245
+msgid "Theme directory"
+msgstr "شاخهٔ پوسته"
+
+#: actions/pathsadminpanel.php:252
+msgid "Avatars"
+msgstr "چهره‌ها"
+
+#: actions/pathsadminpanel.php:257
+msgid "Avatar server"
+msgstr "کارگزار نیم‌رخ"
+
+#: actions/pathsadminpanel.php:261
+msgid "Avatar path"
+msgstr "مسیر نیم‌رخ"
+
+#: actions/pathsadminpanel.php:265
+msgid "Avatar directory"
+msgstr "شاخهٔ نیم‌رخ"
+
+#: actions/pathsadminpanel.php:274
+msgid "Backgrounds"
+msgstr "پس زمینه‌ها"
+
+#: actions/pathsadminpanel.php:278
+msgid "Background server"
+msgstr "کارگذار تصاویر پیش‌زمینه"
+
+#: actions/pathsadminpanel.php:282
+msgid "Background path"
+msgstr "مسیر تصاویر پیش‌زمینه"
+
+#: actions/pathsadminpanel.php:286
+msgid "Background directory"
+msgstr "شاخهٔ تصاویر پیش‌زمینه"
+
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "هیچ وقت"
+
+#: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "گاهی اوقات"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "برای همیشه"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "استفاده از SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+msgid "Save paths"
+msgstr "نشانی ذخیره سازی"
+
+#: actions/peoplesearch.php:52
+#, php-format
+msgid ""
+"Search for people on %%site.name%% by their name, location, or interests. "
+"Separate the terms by spaces; they must be 3 characters or more."
+msgstr ""
+"جست‌و‌جو افراد در %%site.name%% با نام، محل زندگی یا چیز‌هایی که دوست دارند. "
+"عبارت‌ها را با فاصله از هم جدا کنید و حداقل ۳ حرف وارد کنید."
+
+#: actions/peoplesearch.php:58
+msgid "People search"
+msgstr "جست‌وجوی کاربران"
+
+#: actions/peopletag.php:70
+#, php-format
+msgid "Not a valid people tag: %s"
+msgstr "یک برچسب کاربری معتبر نیست: %s"
+
+#: actions/peopletag.php:144
+#, php-format
+msgid "Users self-tagged with %s - page %d"
+msgstr "کاربران خود برچسب‌گذاری شده با %s - صفحهٔ %d"
+
+#: actions/postnotice.php:84
+msgid "Invalid notice content"
+msgstr "محتوای آگهی نامعتبر"
+
+#: actions/postnotice.php:90
+#, php-format
+msgid "Notice license ‘%s’ is not compatible with site license ‘%s’."
+msgstr ""
+
+#: actions/profilesettings.php:60
+msgid "Profile settings"
+msgstr "تنظیمات شناس‌نامه"
+
+#: actions/profilesettings.php:71
+msgid ""
+"You can update your personal profile info here so people know more about you."
+msgstr ""
+"شما می‌توان اطلاعات شخصی خود را در این قسمت به روز کنید تا دیگران بیش‌تر در "
+"مورد شما بدانند."
+
+#: actions/profilesettings.php:99
+msgid "Profile information"
+msgstr "اطلاعات شناس‌نامه"
+
+#: actions/profilesettings.php:108 lib/groupeditform.php:154
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "۱-۶۴ کاراکتر کوچک یا اعداد، بدون نقطه گذاری یا فاصله"
+
+#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/showgroup.php:247 actions/tagother.php:104
+#: lib/groupeditform.php:157 lib/userprofile.php:149
+msgid "Full name"
+msgstr "نام‌کامل"
+
+#: actions/profilesettings.php:115 actions/register.php:452
+#: lib/groupeditform.php:161
+msgid "Homepage"
+msgstr "صفحهٔ خانگی"
+
+#: actions/profilesettings.php:117 actions/register.php:454
+msgid "URL of your homepage, blog, or profile on another site"
+msgstr "نشانی اینترنتی صفحهٔ خانگی، وبلاگ یا مشخصات کاربری‌تان در یک وب‌گاه دیگر"
+
+#: actions/profilesettings.php:122 actions/register.php:460
+#, php-format
+msgid "Describe yourself and your interests in %d chars"
+msgstr ""
+
+#: actions/profilesettings.php:125 actions/register.php:463
+msgid "Describe yourself and your interests"
+msgstr "خودتان و علایقتان را توصیف کنید."
+
+#: actions/profilesettings.php:127 actions/register.php:465
+msgid "Bio"
+msgstr "شرح‌حال"
+
+#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/userauthorization.php:158 lib/groupeditform.php:177
+#: lib/userprofile.php:164
+msgid "Location"
+msgstr "موقعیت"
+
+#: actions/profilesettings.php:134 actions/register.php:472
+msgid "Where you are, like \"City, State (or Region), Country\""
+msgstr ""
+
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
+#: actions/tagother.php:209 lib/subscriptionlist.php:106
+#: lib/subscriptionlist.php:108 lib/userprofile.php:209
+msgid "Tags"
+msgstr "برچسب‌ها"
+
+#: actions/profilesettings.php:147
+msgid ""
+"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
+msgstr ""
+
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
+msgid "Language"
+msgstr "زبان"
+
+#: actions/profilesettings.php:152
+msgid "Preferred language"
+msgstr "زبان برگزیده"
+
+#: actions/profilesettings.php:161
+msgid "Timezone"
+msgstr "منطقهٔ‌زمانی"
+
+#: actions/profilesettings.php:162
+msgid "What timezone are you normally in?"
+msgstr "شما معمولا در کدام منطقه ی زمانی هستید؟"
+
+#: actions/profilesettings.php:167
+msgid ""
+"Automatically subscribe to whoever subscribes to me (best for non-humans)"
+msgstr ""
+
+#: actions/profilesettings.php:228 actions/register.php:223
+#, php-format
+msgid "Bio is too long (max %d chars)."
+msgstr ""
+
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
+msgid "Timezone not selected."
+msgstr "منطقه‌ی زمانی انتخاب نشده است."
+
+#: actions/profilesettings.php:241
+msgid "Language is too long (max 50 chars)."
+msgstr "کلام بسیار طولانی است( حداکثر ۵۰ کاراکتر)"
+
+#: actions/profilesettings.php:253 actions/tagother.php:178
+#, php-format
+msgid "Invalid tag: \"%s\""
+msgstr "نشان نادرست »%s«"
+
+#: actions/profilesettings.php:302
+msgid "Couldn't update user for autosubscribe."
+msgstr ""
+
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "نمی‌توان نشان را ذخیره کرد."
+
+#: actions/profilesettings.php:366
+msgid "Couldn't save profile."
+msgstr "نمی‌توان شناسه را ذخیره کرد."
+
+#: actions/profilesettings.php:374
+msgid "Couldn't save tags."
+msgstr "نمی‌توان نشان را ذخیره کرد."
+
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
+msgid "Settings saved."
+msgstr "تنظیمات ذخیره شد."
+
+#: actions/public.php:83
+#, php-format
+msgid "Beyond the page limit (%s)"
+msgstr ""
+
+#: actions/public.php:92
+msgid "Could not retrieve public stream."
+msgstr ""
+
+#: actions/public.php:129
+#, php-format
+msgid "Public timeline, page %d"
+msgstr "خط زمانی عمومی، صفحه‌ی %d"
+
+#: actions/public.php:131 lib/publicgroupnav.php:79
+msgid "Public timeline"
+msgstr "خط زمانی عمومی"
+
+#: actions/public.php:151
+msgid "Public Stream Feed (RSS 1.0)"
+msgstr ""
+
+#: actions/public.php:155
+msgid "Public Stream Feed (RSS 2.0)"
+msgstr ""
+
+#: actions/public.php:159
+msgid "Public Stream Feed (Atom)"
+msgstr ""
+
+#: actions/public.php:179
+#, php-format
+msgid ""
+"This is the public timeline for %%site.name%% but no one has posted anything "
+"yet."
+msgstr ""
+
+#: actions/public.php:182
+msgid "Be the first to post!"
+msgstr "اولین کسی باشید که پیام می‌فرستد!"
+
+#: actions/public.php:186
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and be the first to post!"
+msgstr "چرا [ثبت نام](%%action.register%%) نمی‌کنید و اولین پیام را نمی‌فرستید؟"
+
+#: actions/public.php:233
+#, php-format
+msgid ""
+"This is %%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 share notices about yourself with "
+"friends, family, and colleagues! ([Read more](%%doc.help%%))"
+msgstr ""
+
+#: actions/public.php:238
+#, php-format
+msgid ""
+"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
+"blogging) service based on the Free Software [StatusNet](http://status.net/) "
+"tool."
+msgstr ""
+
+#: actions/publictagcloud.php:57
+msgid "Public tag cloud"
+msgstr ""
+
+#: actions/publictagcloud.php:63
+#, php-format
+msgid "These are most popular recent tags on %s "
+msgstr ""
+
+#: actions/publictagcloud.php:69
+#, php-format
+msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
+msgstr ""
+
+#: actions/publictagcloud.php:72
+msgid "Be the first to post one!"
+msgstr ""
+
+#: actions/publictagcloud.php:75
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and be the first to post "
+"one!"
+msgstr ""
+
+#: actions/publictagcloud.php:131
+msgid "Tag cloud"
+msgstr ""
+
+#: actions/recoverpassword.php:36
+msgid "You are already logged in!"
+msgstr "شما قبلا وارد شدید"
+
+#: actions/recoverpassword.php:62
+msgid "No such recovery code."
+msgstr "چنین کد بازیابی شده ای نیست"
+
+#: actions/recoverpassword.php:66
+msgid "Not a recovery code."
+msgstr "کد بازیابی شده ای نیست."
+
+#: actions/recoverpassword.php:73
+msgid "Recovery code for unknown user."
+msgstr "بازیابی کد برای کاربر ناشناخته"
+
+#: actions/recoverpassword.php:86
+msgid "Error with confirmation code."
+msgstr "خطا در تایید کد"
+
+#: actions/recoverpassword.php:97
+msgid "This confirmation code is too old. Please start again."
+msgstr "این کد تایید شده بسیار قدیمی است . لطفا دباره شروع کنید ."
+
+#: actions/recoverpassword.php:111
+msgid "Could not update user with confirmed email address."
+msgstr "را به روز کرد  user نمیتوان با ایمیلی که تایید شده"
+
+#: actions/recoverpassword.php:152
+msgid ""
+"If you have forgotten or lost your password, you can get a new one sent to "
+"the email address you have stored in your account."
+msgstr ""
+"اگر شما کلمه ی عبورتان را فراموش کرده اید یا گم کرده اید، می توانید یک کلمه "
+"ی عبور جدید از آدرس ایمیل ذخیره شده در حسابتان بگیرید."
+
+#: actions/recoverpassword.php:158
+msgid "You have been identified. Enter a new password below. "
+msgstr ""
+
+#: actions/recoverpassword.php:188
+msgid "Password recovery"
+msgstr "بازیابی کلمه ی عبور"
+
+#: actions/recoverpassword.php:191
+msgid "Nickname or email address"
+msgstr "نام کاربری یا آدرس ایمیل"
+
+#: actions/recoverpassword.php:193
+msgid "Your nickname on this server, or your registered email address."
+msgstr "نام کاربری شما بر روی این سرور، یا آدرس ایمیل ثبت شده ی شما."
+
+#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
+msgid "Recover"
+msgstr "بازیابی"
+
+#: actions/recoverpassword.php:208
+msgid "Reset password"
+msgstr "ریست کردن کلمه ی عبور"
+
+#: actions/recoverpassword.php:209
+msgid "Recover password"
+msgstr "بازیابی کلمه ی عبور"
+
+#: actions/recoverpassword.php:210 actions/recoverpassword.php:322
+msgid "Password recovery requested"
+msgstr "بازیابی کلمه ی عبور درخواست شد"
+
+#: actions/recoverpassword.php:213
+msgid "Unknown action"
+msgstr ""
+
+#: actions/recoverpassword.php:236
+msgid "6 or more characters, and don't forget it!"
+msgstr "۶ کاراکتر یا بیشتر، این را فراموش نکنید!"
+
+#: actions/recoverpassword.php:243
+msgid "Reset"
+msgstr "ریست( راه انداری مجدد )"
+
+#: actions/recoverpassword.php:252
+msgid "Enter a nickname or email address."
+msgstr "یک نام کاربری یا آدرس ایمیل وارد کنید."
+
+#: actions/recoverpassword.php:272
+msgid "No user with that email address or username."
+msgstr "هیچ کاربری با آن آدرس ایمیل یا نام کاربری وجود ندارد."
+
+#: actions/recoverpassword.php:287
+msgid "No registered email address for that user."
+msgstr "برای آن کاربر آدرس ایمیل ثبت شده وجود ندارد."
+
+#: actions/recoverpassword.php:301
+msgid "Error saving address confirmation."
+msgstr "خطا هنگام ذخیره ی تاییدیه ی آدرس."
+
+#: actions/recoverpassword.php:325
+msgid ""
+"Instructions for recovering your password have been sent to the email "
+"address registered to your account."
+msgstr ""
+"دستورالعمل چگونگی بازیابی کلمه ی عبور به آدرس ایمیل ثبت شده در حساب شما "
+"ارسال شده است."
+
+#: actions/recoverpassword.php:344
+msgid "Unexpected password reset."
+msgstr "کلمه ی عبور به طور غیر منتظره ریست شد."
+
+#: actions/recoverpassword.php:352
+msgid "Password must be 6 chars or more."
+msgstr "کلمه ی عبور باید ۶ کاراکتر یا بیشتر باشد."
+
+#: actions/recoverpassword.php:356
+msgid "Password and confirmation do not match."
+msgstr "کلمه ی عبور و تاییدیه ی آن با هم تطابق ندارند."
+
+#: actions/recoverpassword.php:375 actions/register.php:248
+msgid "Error setting user."
+msgstr ""
+
+#: actions/recoverpassword.php:382
+msgid "New password successfully saved. You are now logged in."
+msgstr "کلمه ی عبور جدید با موفقیت ذخیره شد. شما الان وارد شده اید."
+
+#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+msgid "Sorry, only invited people can register."
+msgstr "با عرض معذرت، تنها افراد دعوت شده می توانند ثبت نام کنند."
+
+#: actions/register.php:92
+msgid "Sorry, invalid invitation code."
+msgstr "با عرض تاسف، کد دعوت نا معتبر است."
+
+#: actions/register.php:112
+msgid "Registration successful"
+msgstr "ثبت نام با موفقیت انجام شد."
+
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
+#: lib/logingroupnav.php:85
+msgid "Register"
+msgstr "ثبت نام"
+
+#: actions/register.php:135
+msgid "Registration not allowed."
+msgstr "اجازه‌ی ثبت نام داده نشده است."
+
+#: actions/register.php:198
+msgid "You can't register if you don't agree to the license."
+msgstr "شما نمی توانید ثبت نام کنید اگر با لیسانس( جواز ) موافقت نکنید."
+
+#: actions/register.php:201
+msgid "Not a valid email address."
+msgstr "یک آدرس ایمیل معتبر نیست."
+
+#: actions/register.php:212
+msgid "Email address already exists."
+msgstr "آدرس ایمیل از قبل وجود دارد."
+
+#: actions/register.php:243 actions/register.php:264
+msgid "Invalid username or password."
+msgstr "نام کاربری یا کلمه ی عبور نا معتبر."
+
+#: actions/register.php:342
+msgid ""
+"With this form you can create  a new account. You can then post notices and "
+"link up to friends and colleagues. "
+msgstr ""
+
+#: actions/register.php:424
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
+msgstr "۱-۶۴ حرف کوچک یا اعداد، بدون نشانه گذاری یا فاصله نیاز است."
+
+#: actions/register.php:429
+msgid "6 or more characters. Required."
+msgstr "۶ کاراکتر یا بیشتر نیاز است."
+
+#: actions/register.php:433
+msgid "Same as password above. Required."
+msgstr ""
+
+#: actions/register.php:437 actions/register.php:441
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
+msgid "Email"
+msgstr "پست الکترونیکی"
+
+#: actions/register.php:438 actions/register.php:442
+msgid "Used only for updates, announcements, and password recovery"
+msgstr ""
+
+#: actions/register.php:449
+msgid "Longer name, preferably your \"real\" name"
+msgstr "نام بلند تر، به طور بهتر نام واقعیتان"
+
+#: actions/register.php:493
+msgid "My text and files are available under "
+msgstr ""
+
+#: actions/register.php:495
+msgid "Creative Commons Attribution 3.0"
+msgstr ""
+
+#: actions/register.php:496
+msgid ""
+" except this private data: password, email address, IM address, and phone "
+"number."
+msgstr ""
+"به استثنای این داده ی محرمانه : کلمه ی عبور، آدرس ایمیل، آدرس IM، و شماره "
+"تلفن."
+
+#: actions/register.php:537
+#, php-format
+msgid ""
+"Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
+"want to...\n"
+"\n"
+"* Go to [your profile](%s) and post your first message.\n"
+"* Add a [Jabber/GTalk address](%%%%action.imsettings%%%%) so you can send "
+"notices through instant messages.\n"
+"* [Search for people](%%%%action.peoplesearch%%%%) that you may know or that "
+"share your interests. \n"
+"* Update your [profile settings](%%%%action.profilesettings%%%%) to tell "
+"others more about you. \n"
+"* Read over the [online docs](%%%%doc.help%%%%) for features you may have "
+"missed. \n"
+"\n"
+"Thanks for signing up and we hope you enjoy using this service."
+msgstr ""
+
+#: actions/register.php:561
+msgid ""
+"(You should receive a message by email momentarily, with instructions on how "
+"to confirm your email address.)"
+msgstr ""
+"(شما باید آنی یک ایمیل دریافت کنید، با دستورالعمل چگونگی تایید آدرس ایمیلتان."
+"("
+
+#: actions/remotesubscribe.php:98
+#, php-format
+msgid ""
+"To subscribe, you can [login](%%action.login%%), or [register](%%action."
+"register%%) a new  account. If you already have an account  on a [compatible "
+"microblogging site](%%doc.openmublog%%),  enter your profile URL below."
+msgstr ""
+
+#: actions/remotesubscribe.php:112
+msgid "Remote subscribe"
+msgstr ""
+
+#: actions/remotesubscribe.php:124
+msgid "Subscribe to a remote user"
+msgstr ""
+
+#: actions/remotesubscribe.php:129
+msgid "User nickname"
+msgstr "نام کاربری کاربر"
+
+#: actions/remotesubscribe.php:130
+msgid "Nickname of the user you want to follow"
+msgstr "نام کاربری، کاربری که می خواهید او را دنبال کنید"
+
+#: actions/remotesubscribe.php:133
+msgid "Profile URL"
+msgstr ""
+
+#: actions/remotesubscribe.php:134
+msgid "URL of your profile on another compatible microblogging service"
+msgstr ""
+
+#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
+#: lib/userprofile.php:365
+msgid "Subscribe"
+msgstr ""
+
+#: actions/remotesubscribe.php:159
+msgid "Invalid profile URL (bad format)"
+msgstr ""
+
+#: actions/remotesubscribe.php:168
+msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
+msgstr ""
+
+#: actions/remotesubscribe.php:176
+msgid "That’s a local profile! Login to subscribe."
+msgstr ""
+
+#: actions/remotesubscribe.php:183
+msgid "Couldn’t get a request token."
+msgstr ""
+
+#: actions/repeat.php:57
+msgid "Only logged-in users can repeat notices."
+msgstr "تنها کاربران وارد شده می توانند آگهی ها را تکرار کنند."
+
+#: actions/repeat.php:64 actions/repeat.php:71
+msgid "No notice specified."
+msgstr "خبری مشخص نشده."
+
+#: actions/repeat.php:76
+msgid "You can't repeat your own notice."
+msgstr "شما نمی توانید آگهی خودتان را تکرار کنید."
+
+#: actions/repeat.php:90
+msgid "You already repeated that notice."
+msgstr "شما قبلا آن آگهی را تکرار کردید."
+
+#: actions/repeat.php:114 lib/noticelist.php:629
+msgid "Repeated"
+msgstr ""
+
+#: actions/repeat.php:119
+msgid "Repeated!"
+msgstr ""
+
+#: actions/replies.php:125 actions/repliesrss.php:68
+#: lib/personalgroupnav.php:105
+#, php-format
+msgid "Replies to %s"
+msgstr "پاسخ‌های به %s"
+
+#: actions/replies.php:127
+#, php-format
+msgid "Replies to %s, page %d"
+msgstr "پاسخ‌های به %s، صفحهٔ %d"
+
+#: actions/replies.php:144
+#, php-format
+msgid "Replies feed for %s (RSS 1.0)"
+msgstr "خوراک پاسخ‌ها برای %s (RSS 1.0)"
+
+#: actions/replies.php:151
+#, php-format
+msgid "Replies feed for %s (RSS 2.0)"
+msgstr "خوراک پاسخ‌ها برای %s (RSS 2.0)"
+
+#: actions/replies.php:158
+#, php-format
+msgid "Replies feed for %s (Atom)"
+msgstr "خوراک پاسخ‌ها برای %s (Atom)"
+
+#: actions/replies.php:198
+#, php-format
+msgid ""
+"This is the timeline showing replies to %s but %s hasn't received a notice "
+"to his attention yet."
+msgstr ""
+
+#: actions/replies.php:203
+#, php-format
+msgid ""
+"You can engage other users in a conversation, subscribe to more people or "
+"[join groups](%%action.groups%%)."
+msgstr ""
+
+#: actions/replies.php:205
+#, php-format
+msgid ""
+"You can try to [nudge %s](../%s) or [post something to his or her attention]"
+"(%%%%action.newnotice%%%%?status_textarea=%s)."
+msgstr ""
+
+#: actions/repliesrss.php:72
+#, php-format
+msgid "Replies to %1$s on %2$s!"
+msgstr ""
+
+#: actions/sandbox.php:65 actions/unsandbox.php:65
+msgid "You cannot sandbox users on this site."
+msgstr ""
+
+#: actions/sandbox.php:72
+msgid "User is already sandboxed."
+msgstr ""
+
+#: actions/showfavorites.php:79
+#, php-format
+msgid "%s's favorite notices, page %d"
+msgstr ""
+
+#: actions/showfavorites.php:132
+msgid "Could not retrieve favorite notices."
+msgstr "ناتوان در بازیابی آگهی های محبوب."
+
+#: actions/showfavorites.php:170
+#, php-format
+msgid "Feed for favorites of %s (RSS 1.0)"
+msgstr ""
+
+#: actions/showfavorites.php:177
+#, php-format
+msgid "Feed for favorites of %s (RSS 2.0)"
+msgstr ""
+
+#: actions/showfavorites.php:184
+#, php-format
+msgid "Feed for favorites of %s (Atom)"
+msgstr ""
+
+#: actions/showfavorites.php:205
+msgid ""
+"You haven't chosen any favorite notices yet. Click the fave button on "
+"notices you like to bookmark them for later or shed a spotlight on them."
+msgstr ""
+
+#: actions/showfavorites.php:207
+#, php-format
+msgid ""
+"%s hasn't added any notices to his favorites yet. Post something interesting "
+"they would add to their favorites :)"
+msgstr ""
+
+#: actions/showfavorites.php:211
+#, php-format
+msgid ""
+"%s hasn't added any notices to his favorites yet. Why not [register an "
+"account](%%%%action.register%%%%) and then post something interesting they "
+"would add to their favorites :)"
+msgstr ""
+
+#: actions/showfavorites.php:242
+msgid "This is a way to share what you like."
+msgstr "این یک راه است برای به اشتراک گذاشتن آنچه که دوست دارید."
+
+#: actions/showgroup.php:82 lib/groupnav.php:86
+#, php-format
+msgid "%s group"
+msgstr ""
+
+#: actions/showgroup.php:84
+#, php-format
+msgid "%s group, page %d"
+msgstr ""
+
+#: actions/showgroup.php:218
+msgid "Group profile"
+msgstr ""
+
+#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/userauthorization.php:167 lib/userprofile.php:177
+msgid "URL"
+msgstr ""
+
+#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/userauthorization.php:179 lib/userprofile.php:194
+msgid "Note"
+msgstr ""
+
+#: actions/showgroup.php:284 lib/groupeditform.php:184
+msgid "Aliases"
+msgstr "نام های مستعار"
+
+#: actions/showgroup.php:293
+msgid "Group actions"
+msgstr ""
+
+#: actions/showgroup.php:328
+#, php-format
+msgid "Notice feed for %s group (RSS 1.0)"
+msgstr ""
+
+#: actions/showgroup.php:334
+#, php-format
+msgid "Notice feed for %s group (RSS 2.0)"
+msgstr ""
+
+#: actions/showgroup.php:340
+#, php-format
+msgid "Notice feed for %s group (Atom)"
+msgstr ""
+
+#: actions/showgroup.php:345
+#, php-format
+msgid "FOAF for %s group"
+msgstr ""
+
+#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+msgid "Members"
+msgstr "اعضا"
+
+#: actions/showgroup.php:386 lib/profileaction.php:117
+#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: lib/tagcloudsection.php:71
+msgid "(None)"
+msgstr "هیچ"
+
+#: actions/showgroup.php:392
+msgid "All members"
+msgstr "همه ی اعضا"
+
+#: actions/showgroup.php:429 lib/profileaction.php:174
+msgid "Statistics"
+msgstr "آمار"
+
+#: actions/showgroup.php:432
+msgid "Created"
+msgstr "ساخته شد"
+
+#: actions/showgroup.php:448
+#, php-format
+msgid ""
+"**%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%%%%))"
+msgstr ""
+
+#: actions/showgroup.php:454
+#, php-format
+msgid ""
+"**%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. "
+msgstr ""
+
+#: actions/showgroup.php:482
+msgid "Admins"
+msgstr ""
+
+#: actions/showmessage.php:81
+msgid "No such message."
+msgstr "چنین پیغامی وجود ندارد."
+
+#: actions/showmessage.php:98
+msgid "Only the sender and recipient may read this message."
+msgstr ""
+
+#: actions/showmessage.php:108
+#, php-format
+msgid "Message to %1$s on %2$s"
+msgstr ""
+
+#: actions/showmessage.php:113
+#, php-format
+msgid "Message from %1$s on %2$s"
+msgstr ""
+
+#: actions/shownotice.php:90
+msgid "Notice deleted."
+msgstr ""
+
+#: actions/showstream.php:73
+#, php-format
+msgid " tagged %s"
+msgstr ""
+
+#: actions/showstream.php:79
+#, php-format
+msgid "%s, page %d"
+msgstr ""
+
+#: actions/showstream.php:122
+#, php-format
+msgid "Notice feed for %s tagged %s (RSS 1.0)"
+msgstr ""
+
+#: actions/showstream.php:129
+#, php-format
+msgid "Notice feed for %s (RSS 1.0)"
+msgstr ""
+
+#: actions/showstream.php:136
+#, php-format
+msgid "Notice feed for %s (RSS 2.0)"
+msgstr ""
+
+#: actions/showstream.php:143
+#, php-format
+msgid "Notice feed for %s (Atom)"
+msgstr ""
+
+#: actions/showstream.php:148
+#, php-format
+msgid "FOAF for %s"
+msgstr ""
+
+#: actions/showstream.php:191
+#, php-format
+msgid "This is the timeline for %s but %s hasn't posted anything yet."
+msgstr ""
+
+#: actions/showstream.php:196
+msgid ""
+"Seen anything interesting recently? You haven't posted any notices yet, now "
+"would be a good time to start :)"
+msgstr ""
+"اخیرا چیز جالب توجه ای دیده اید؟ شما تا کنون آگهی ارسال نکرده اید، الان می "
+"تواند زمان خوبی برای شروع باشد :)"
+
+#: actions/showstream.php:198
+#, php-format
+msgid ""
+"You can try to nudge %s or [post something to his or her attention](%%%%"
+"action.newnotice%%%%?status_textarea=%s)."
+msgstr ""
+
+#: actions/showstream.php:234
+#, 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. [Join now](%%%%action.register%%%%) to "
+"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
+msgstr ""
+
+#: actions/showstream.php:239
+#, 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 ""
+
+#: actions/showstream.php:313
+#, php-format
+msgid "Repeat of %s"
+msgstr ""
+
+#: actions/silence.php:65 actions/unsilence.php:65
+msgid "You cannot silence users on this site."
+msgstr "شما نمی توانید کاربری را در این سایت ساکت کنید."
+
+#: actions/silence.php:72
+msgid "User is already silenced."
+msgstr "کاربر قبلا ساکت شده است."
+
+#: actions/siteadminpanel.php:69
+msgid "Basic settings for this StatusNet site."
+msgstr "تنظیمات پایه ای برای این سایت StatusNet."
+
+#: actions/siteadminpanel.php:146
+msgid "Site name must have non-zero length."
+msgstr "نام سایت باید طولی غیر صفر داشته باشد."
+
+#: actions/siteadminpanel.php:154
+msgid "You must have a valid contact email address"
+msgstr "شما باید یک آدرس ایمیل قابل قبول برای ارتباط داشته باشید"
+
+#: actions/siteadminpanel.php:172
+#, php-format
+msgid "Unknown language \"%s\""
+msgstr ""
+
+#: actions/siteadminpanel.php:179
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/siteadminpanel.php:185
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/siteadminpanel.php:191
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/siteadminpanel.php:197
+msgid "Minimum text limit is 140 characters."
+msgstr ""
+
+#: actions/siteadminpanel.php:203
+msgid "Dupe limit must 1 or more seconds."
+msgstr ""
+
+#: actions/siteadminpanel.php:253
+msgid "General"
+msgstr ""
+
+#: actions/siteadminpanel.php:256
+msgid "Site name"
+msgstr "نام وب‌گاه"
+
+#: actions/siteadminpanel.php:257
+msgid "The name of your site, like \"Yourcompany Microblog\""
+msgstr "نام وب‌گاه شما، مانند «میکروبلاگ شرکت شما»"
+
+#: actions/siteadminpanel.php:261
+msgid "Brought by"
+msgstr "أورده شده به وسیله ی"
+
+#: actions/siteadminpanel.php:262
+msgid "Text used for credits link in footer of each page"
+msgstr ""
+
+#: actions/siteadminpanel.php:266
+msgid "Brought by URL"
+msgstr ""
+
+#: actions/siteadminpanel.php:267
+msgid "URL used for credits link in footer of each page"
+msgstr ""
+
+#: actions/siteadminpanel.php:271
+msgid "Contact email address for your site"
+msgstr ""
+
+#: actions/siteadminpanel.php:277
+msgid "Local"
+msgstr "محلی"
+
+#: actions/siteadminpanel.php:288
+msgid "Default timezone"
+msgstr "منطقه ی زمانی پیش فرض"
+
+#: actions/siteadminpanel.php:289
+msgid "Default timezone for the site; usually UTC."
+msgstr "منظقه ی زمانی پیش فرض برای سایت؛ معمولا UTC."
+
+#: actions/siteadminpanel.php:295
+msgid "Default site language"
+msgstr "زبان پیش فرض سایت"
+
+#: actions/siteadminpanel.php:303
+msgid "URLs"
+msgstr ""
+
+#: actions/siteadminpanel.php:306
+msgid "Server"
+msgstr "کارگزار"
+
+#: actions/siteadminpanel.php:306
+msgid "Site's server hostname."
+msgstr ""
+
+#: actions/siteadminpanel.php:310
+msgid "Fancy URLs"
+msgstr ""
+
+#: actions/siteadminpanel.php:312
+msgid "Use fancy (more readable and memorable) URLs?"
+msgstr ""
+
+#: actions/siteadminpanel.php:318
+msgid "Access"
+msgstr "دسترسی"
+
+#: actions/siteadminpanel.php:321
+msgid "Private"
+msgstr "خصوصی"
+
+#: actions/siteadminpanel.php:323
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#: actions/siteadminpanel.php:327
+msgid "Invite only"
+msgstr "فقط دعوت کردن"
+
+#: actions/siteadminpanel.php:329
+msgid "Make registration invitation only."
+msgstr "تنها آماده کردن دعوت نامه های ثبت نام."
+
+#: actions/siteadminpanel.php:333
+msgid "Closed"
+msgstr "مسدود"
+
+#: actions/siteadminpanel.php:335
+msgid "Disable new registrations."
+msgstr "غیر فعال کردن نام نوبسی جدید"
+
+#: actions/siteadminpanel.php:341
+msgid "Snapshots"
+msgstr ""
+
+#: actions/siteadminpanel.php:344
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/siteadminpanel.php:345
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/siteadminpanel.php:347
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/siteadminpanel.php:348
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/siteadminpanel.php:353
+msgid "Frequency"
+msgstr ""
+
+#: actions/siteadminpanel.php:354
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/siteadminpanel.php:359
+msgid "Report URL"
+msgstr ""
+
+#: actions/siteadminpanel.php:360
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/siteadminpanel.php:367
+msgid "Limits"
+msgstr "محدودیت ها"
+
+#: actions/siteadminpanel.php:370
+msgid "Text limit"
+msgstr "محدودیت متن"
+
+#: actions/siteadminpanel.php:370
+msgid "Maximum number of characters for notices."
+msgstr "بیشینهٔ تعداد حروف برای آگهی‌ها"
+
+#: actions/siteadminpanel.php:374
+msgid "Dupe limit"
+msgstr ""
+
+#: actions/siteadminpanel.php:374
+msgid "How long users must wait (in seconds) to post the same thing again."
+msgstr ""
+"چه مدت کاربران باید منتظر بمانند ( به ثانیه ) تا همان چیز را مجددا ارسال "
+"کنند."
+
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
+msgid "Save site settings"
+msgstr ""
+
+#: actions/smssettings.php:58
+msgid "SMS Settings"
+msgstr ""
+
+#: actions/smssettings.php:69
+#, php-format
+msgid "You can receive SMS messages through email from %%site.name%%."
+msgstr ""
+
+#: actions/smssettings.php:91
+msgid "SMS is not available."
+msgstr ""
+
+#: actions/smssettings.php:112
+msgid "Current confirmed SMS-enabled phone number."
+msgstr ""
+
+#: actions/smssettings.php:123
+msgid "Awaiting confirmation on this phone number."
+msgstr "منتظر تاییدیه برای این شماره تلفن."
+
+#: actions/smssettings.php:130
+msgid "Confirmation code"
+msgstr "کد تاییدیه"
+
+#: actions/smssettings.php:131
+msgid "Enter the code you received on your phone."
+msgstr "کدی را که در گوشیتان گرفتید وارد کنید."
+
+#: actions/smssettings.php:138
+msgid "SMS Phone number"
+msgstr "شماره تماس پیامک"
+
+#: actions/smssettings.php:140
+msgid "Phone number, no punctuation or spaces, with area code"
+msgstr "شماره تلفن، بدون نشانه گذاری یا فاصله، با کد منطقه"
+
+#: actions/smssettings.php:174
+msgid ""
+"Send me notices through SMS; I understand I may incur exorbitant charges "
+"from my carrier."
+msgstr ""
+
+#: actions/smssettings.php:306
+msgid "No phone number."
+msgstr "بدون شماره تلفن."
+
+#: actions/smssettings.php:311
+msgid "No carrier selected."
+msgstr ""
+
+#: actions/smssettings.php:318
+msgid "That is already your phone number."
+msgstr "آن قبلا شماره تلفن شما بوده است."
+
+#: actions/smssettings.php:321
+msgid "That phone number already belongs to another user."
+msgstr "أن شماره تلفن پیش از این به کاربر دیگری تعلق داشته است."
+
+#: actions/smssettings.php:347
+msgid ""
+"A confirmation code was sent to the phone number you added. Check your phone "
+"for the code and instructions on how to use it."
+msgstr ""
+"یک کد تاییدیه به شماره تلفنی که شما وارد کردید ارسال شد. گوشیتان را بررسی "
+"کنید برای کد و دستورالعمل چگونگی استفاده از آن."
+
+#: actions/smssettings.php:374
+msgid "That is the wrong confirmation number."
+msgstr "آن کد تاییدیه ی نادرست است."
+
+#: actions/smssettings.php:405
+msgid "That is not your phone number."
+msgstr "آن شماره تلفن شما نیست."
+
+#: actions/smssettings.php:465
+msgid "Mobile carrier"
+msgstr "امواج موبایل"
+
+#: actions/smssettings.php:469
+msgid "Select a carrier"
+msgstr ""
+
+#: actions/smssettings.php:476
+#, php-format
+msgid ""
+"Mobile carrier for your phone. If you know a carrier that accepts SMS over "
+"email but isn't listed here, send email to let us know at %s."
+msgstr ""
+
+#: actions/smssettings.php:498
+msgid "No code entered"
+msgstr "کدی وارد نشد"
+
+#: actions/subedit.php:70
+msgid "You are not subscribed to that profile."
+msgstr "شما به این پروفيل متعهد نشدید"
+
+#: actions/subedit.php:83
+msgid "Could not save subscription."
+msgstr ""
+
+#: actions/subscribe.php:55
+msgid "Not a local user."
+msgstr ""
+
+#: actions/subscribe.php:69
+msgid "Subscribed"
+msgstr ""
+
+#: actions/subscribers.php:50
+#, php-format
+msgid "%s subscribers"
+msgstr ""
+
+#: actions/subscribers.php:52
+#, php-format
+msgid "%s subscribers, page %d"
+msgstr ""
+
+#: actions/subscribers.php:63
+msgid "These are the people who listen to your notices."
+msgstr "این ها کسانی هستند که به آگهی های شما گوش می دهند."
+
+#: actions/subscribers.php:67
+#, php-format
+msgid "These are the people who listen to %s's notices."
+msgstr ""
+
+#: actions/subscribers.php:108
+msgid ""
+"You have no subscribers. Try subscribing to people you know and they might "
+"return the favor"
+msgstr ""
+
+#: actions/subscribers.php:110
+#, php-format
+msgid "%s has no subscribers. Want to be the first?"
+msgstr ""
+
+#: actions/subscribers.php:114
+#, php-format
+msgid ""
+"%s has no subscribers. Why not [register an account](%%%%action.register%%%"
+"%) and be the first?"
+msgstr ""
+
+#: actions/subscriptions.php:52
+#, php-format
+msgid "%s subscriptions"
+msgstr ""
+
+#: actions/subscriptions.php:54
+#, php-format
+msgid "%s subscriptions, page %d"
+msgstr ""
+
+#: actions/subscriptions.php:65
+msgid "These are the people whose notices you listen to."
+msgstr ""
+
+#: actions/subscriptions.php:69
+#, php-format
+msgid "These are the people whose notices %s listens to."
+msgstr ""
+
+#: actions/subscriptions.php:121
+#, php-format
+msgid ""
+"You're not listening to anyone's notices right now, try subscribing to "
+"people you know. Try [people search](%%action.peoplesearch%%), look for "
+"members in groups you're interested in and in our [featured users](%%action."
+"featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can "
+"automatically subscribe to people you already follow there."
+msgstr ""
+
+#: actions/subscriptions.php:123 actions/subscriptions.php:127
+#, php-format
+msgid "%s is not listening to anyone."
+msgstr ""
+
+#: actions/subscriptions.php:194
+msgid "Jabber"
+msgstr ""
+
+#: actions/subscriptions.php:199 lib/connectsettingsaction.php:115
+msgid "SMS"
+msgstr ""
+
+#: actions/tag.php:68
+#, php-format
+msgid "Notices tagged with %s, page %d"
+msgstr ""
+
+#: actions/tag.php:86
+#, php-format
+msgid "Notice feed for tag %s (RSS 1.0)"
+msgstr ""
+
+#: actions/tag.php:92
+#, php-format
+msgid "Notice feed for tag %s (RSS 2.0)"
+msgstr ""
+
+#: actions/tag.php:98
+#, php-format
+msgid "Notice feed for tag %s (Atom)"
+msgstr ""
+
+#: actions/tagother.php:39
+msgid "No ID argument."
+msgstr ""
+
+#: actions/tagother.php:65
+#, php-format
+msgid "Tag %s"
+msgstr ""
+
+#: actions/tagother.php:77 lib/userprofile.php:75
+msgid "User profile"
+msgstr "پروفایل کاربر"
+
+#: actions/tagother.php:81 lib/userprofile.php:102
+msgid "Photo"
+msgstr ""
+
+#: actions/tagother.php:141
+msgid "Tag user"
+msgstr ""
+
+#: actions/tagother.php:151
+msgid ""
+"Tags for this user (letters, numbers, -, ., and _), comma- or space- "
+"separated"
+msgstr ""
+
+#: actions/tagother.php:193
+msgid ""
+"You can only tag people you are subscribed to or who are subscribed to you."
+msgstr ""
+
+#: actions/tagother.php:200
+msgid "Could not save tags."
+msgstr ""
+
+#: actions/tagother.php:236
+msgid "Use this form to add tags to your subscribers or subscriptions."
+msgstr ""
+
+#: actions/tagrss.php:35
+msgid "No such tag."
+msgstr ""
+
+#: actions/twitapitrends.php:87
+msgid "API method under construction."
+msgstr "روش API در دست ساخت."
+
+#: actions/unblock.php:59
+msgid "You haven't blocked that user."
+msgstr "شما آن کاربر را مسدود نکرده اید."
+
+#: actions/unsandbox.php:72
+msgid "User is not sandboxed."
+msgstr ""
+
+#: actions/unsilence.php:72
+msgid "User is not silenced."
+msgstr "کاربر ساکت نشده است."
+
+#: actions/unsubscribe.php:77
+msgid "No profile id in request."
+msgstr ""
+
+#: actions/unsubscribe.php:84
+msgid "No profile with that id."
+msgstr ""
+
+#: actions/unsubscribe.php:98
+msgid "Unsubscribed"
+msgstr ""
+
+#: actions/updateprofile.php:62 actions/userauthorization.php:330
+#, php-format
+msgid "Listenee stream license ‘%s’ is not compatible with site license ‘%s’."
+msgstr ""
+
+#: actions/useradminpanel.php:58 lib/adminpanelaction.php:305
+#: lib/personalgroupnav.php:115
+msgid "User"
+msgstr "کاربر"
+
+#: actions/useradminpanel.php:69
+msgid "User settings for this StatusNet site."
+msgstr ""
+
+#: actions/useradminpanel.php:149
+msgid "Invalid bio limit. Must be numeric."
+msgstr ""
+
+#: actions/useradminpanel.php:155
+msgid "Invalid welcome text. Max length is 255 characters."
+msgstr ""
+
+#: actions/useradminpanel.php:165
+#, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
+msgstr ""
+
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: lib/personalgroupnav.php:109
+msgid "Profile"
+msgstr ""
+
+#: actions/useradminpanel.php:222
+msgid "Bio Limit"
+msgstr ""
+
+#: actions/useradminpanel.php:223
+msgid "Maximum length of a profile bio in characters."
+msgstr "حداکثر طول یک زندگی نامه(در پروفایل) بر حسب کاراکتر."
+
+#: actions/useradminpanel.php:231
+msgid "New users"
+msgstr ""
+
+#: actions/useradminpanel.php:235
+msgid "New user welcome"
+msgstr "خوشامدگویی کاربر جدید"
+
+#: actions/useradminpanel.php:236
+msgid "Welcome text for new users (Max 255 chars)."
+msgstr "پیام خوشامدگویی برای کاربران جدید( حداکثر 255 کاراکتر)"
+
+#: actions/useradminpanel.php:241
+msgid "Default subscription"
+msgstr ""
+
+#: actions/useradminpanel.php:242
+msgid "Automatically subscribe new users to this user."
+msgstr ""
+
+#: actions/useradminpanel.php:251
+msgid "Invitations"
+msgstr "دعوت نامه ها"
+
+#: actions/useradminpanel.php:256
+msgid "Invitations enabled"
+msgstr "دعوت نامه ها فعال شدند"
+
+#: actions/useradminpanel.php:258
+msgid "Whether to allow users to invite new users."
+msgstr "خواه به کاربران اجازه ی دعوت کردن کاربران جدید داده شود."
+
+#: actions/useradminpanel.php:265
+msgid "Sessions"
+msgstr ""
+
+#: actions/useradminpanel.php:270
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/useradminpanel.php:272
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/useradminpanel.php:276
+msgid "Session debugging"
+msgstr ""
+
+#: actions/useradminpanel.php:278
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/userauthorization.php:105
+msgid "Authorize subscription"
+msgstr ""
+
+#: actions/userauthorization.php:110
+msgid ""
+"Please check these details to make sure that you want to subscribe to this "
+"user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
+"click “Reject”."
+msgstr ""
+
+#: actions/userauthorization.php:188
+msgid "License"
+msgstr "لیسانس"
+
+#: actions/userauthorization.php:209
+msgid "Accept"
+msgstr "پذیرفتن"
+
+#: actions/userauthorization.php:210 lib/subscribeform.php:115
+#: lib/subscribeform.php:139
+msgid "Subscribe to this user"
+msgstr "تصویب این کاریر"
+
+#: actions/userauthorization.php:211
+msgid "Reject"
+msgstr "رد کردن"
+
+#: actions/userauthorization.php:212
+msgid "Reject this subscription"
+msgstr ""
+
+#: actions/userauthorization.php:225
+msgid "No authorization request!"
+msgstr ""
+
+#: actions/userauthorization.php:247
+msgid "Subscription authorized"
+msgstr ""
+
+#: actions/userauthorization.php:249
+msgid ""
+"The subscription has been authorized, but no callback URL was passed. Check "
+"with the site’s instructions for details on how to authorize the "
+"subscription. Your subscription token is:"
+msgstr ""
+
+#: actions/userauthorization.php:259
+msgid "Subscription rejected"
+msgstr ""
+
+#: actions/userauthorization.php:261
+msgid ""
+"The subscription has been rejected, but no callback URL was passed. Check "
+"with the site’s instructions for details on how to fully reject the "
+"subscription."
+msgstr ""
+
+#: actions/userauthorization.php:296
+#, php-format
+msgid "Listener URI ‘%s’ not found here"
+msgstr ""
+
+#: actions/userauthorization.php:301
+#, php-format
+msgid "Listenee URI ‘%s’ is too long."
+msgstr ""
+
+#: actions/userauthorization.php:307
+#, php-format
+msgid "Listenee URI ‘%s’ is a local user."
+msgstr ""
+
+#: actions/userauthorization.php:322
+#, php-format
+msgid "Profile URL ‘%s’ is for a local user."
+msgstr ""
+
+#: actions/userauthorization.php:338
+#, php-format
+msgid "Avatar URL ‘%s’ is not valid."
+msgstr ""
+
+#: actions/userauthorization.php:343
+#, php-format
+msgid "Can’t read avatar URL ‘%s’."
+msgstr ""
+
+#: actions/userauthorization.php:348
+#, php-format
+msgid "Wrong image type for avatar URL ‘%s’."
+msgstr ""
+
+#: actions/userbyid.php:70
+msgid "No ID."
+msgstr ""
+
+#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+msgid "Profile design"
+msgstr "طراحی پروفیل"
+
+#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+msgid ""
+"Customize the way your profile looks with a background image and a colour "
+"palette of your choice."
+msgstr ""
+
+#: actions/userdesignsettings.php:282
+msgid "Enjoy your hotdog!"
+msgstr "از هات داگ خود لذت ببرید!"
+
+#: actions/usergroups.php:64
+#, php-format
+msgid "%s groups, page %d"
+msgstr "%d گروه , صفحه %S"
+
+#: actions/usergroups.php:130
+msgid "Search for more groups"
+msgstr "جستجو برای گروه های بیشتر"
+
+#: actions/usergroups.php:153
+#, php-format
+msgid "%s is not a member of any group."
+msgstr ""
+
+#: actions/usergroups.php:158
+#, php-format
+msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
+msgstr ""
+
+#: classes/File.php:137
+#, php-format
+msgid ""
+"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
+"to upload a smaller version."
+msgstr ""
+
+#: classes/File.php:147
+#, php-format
+msgid "A file this large would exceed your user quota of %d bytes."
+msgstr ""
+
+#: classes/File.php:154
+#, php-format
+msgid "A file this large would exceed your monthly quota of %d bytes."
+msgstr ""
+
+#: classes/Message.php:45
+msgid "You are banned from sending direct messages."
+msgstr "شما از فرستادن پیام مستقیم مردود شده اید."
+
+#: classes/Message.php:61
+msgid "Could not insert message."
+msgstr "پیغام نمی تواند درج گردد"
+
+#: classes/Message.php:71
+msgid "Could not update message with new URI."
+msgstr ""
+
+#: classes/Notice.php:172
+#, php-format
+msgid "DB error inserting hashtag: %s"
+msgstr ""
+
+#: classes/Notice.php:226
+msgid "Problem saving notice. Too long."
+msgstr "مشکل در ذخیره کردن پیام. بسیار طولانی."
+
+#: classes/Notice.php:230
+msgid "Problem saving notice. Unknown user."
+msgstr "مشکل در ذخیره کردن پیام. کاربر نا شناخته."
+
+#: classes/Notice.php:235
+msgid ""
+"Too many notices too fast; take a breather and post again in a few minutes."
+msgstr ""
+"تعداد خیلی زیاد آگهی و بسیار سریع؛ استراحت کنید و مجددا دقایقی دیگر ارسال "
+"کنید."
+
+#: classes/Notice.php:241
+msgid ""
+"Too many duplicate messages too quickly; take a breather and post again in a "
+"few minutes."
+msgstr ""
+"تعداد زیاد پیام های دو نسخه ای و بسرعت؛ استراحت کنید و دقایقی دیگر مجددا "
+"ارسال کنید."
+
+#: classes/Notice.php:247
+msgid "You are banned from posting notices on this site."
+msgstr "شما از فرستادن پست در این سایت مردود شدید ."
+
+#: classes/Notice.php:309 classes/Notice.php:334
+msgid "Problem saving notice."
+msgstr "مشکل در ذخیره کردن آگهی."
+
+#: classes/Notice.php:1034
+#, php-format
+msgid "DB error inserting reply: %s"
+msgstr ""
+
+#: classes/Notice.php:1361
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr ""
+
+#: classes/User.php:368
+#, php-format
+msgid "Welcome to %1$s, @%2$s!"
+msgstr "خوش امدید به %1$s , @%2$s!"
+
+#: classes/User_group.php:380
+msgid "Could not create group."
+msgstr "نمیتوان گروه را تشکیل داد"
+
+#: classes/User_group.php:409
+msgid "Could not set group membership."
+msgstr ""
+
+#: lib/accountsettingsaction.php:108
+msgid "Change your profile settings"
+msgstr "تنضبمات پروفيلتان را تغیر دهید"
+
+#: lib/accountsettingsaction.php:112
+msgid "Upload an avatar"
+msgstr "یک آواتار ارسال کنید"
+
+#: lib/accountsettingsaction.php:116
+msgid "Change your password"
+msgstr "کلمه ی عبور خود را تغییر دهید"
+
+#: lib/accountsettingsaction.php:120
+msgid "Change email handling"
+msgstr "تغیر تنظیمات ایمل ."
+
+#: lib/accountsettingsaction.php:124
+msgid "Design your profile"
+msgstr "پروفایل خود را طراحی کنید"
+
+#: lib/accountsettingsaction.php:128
+msgid "Other"
+msgstr "دیگر"
+
+#: lib/accountsettingsaction.php:128
+msgid "Other options"
+msgstr "انتخابات دیگر"
+
+#: lib/action.php:144
+#, php-format
+msgid "%s - %s"
+msgstr ""
+
+#: lib/action.php:159
+msgid "Untitled page"
+msgstr "صفحه ی بدون عنوان"
+
+#: lib/action.php:426
+msgid "Primary site navigation"
+msgstr ""
+
+#: lib/action.php:432
+msgid "Home"
+msgstr "خانه"
+
+#: lib/action.php:432
+msgid "Personal profile and friends timeline"
+msgstr ""
+
+#: lib/action.php:434
+msgid "Account"
+msgstr "حساب کاربری"
+
+#: lib/action.php:434
+msgid "Change your email, avatar, password, profile"
+msgstr "آدرس ایمیل، آواتار، کلمه ی عبور، پروفایل خود را تغییر دهید"
+
+#: lib/action.php:437
+msgid "Connect"
+msgstr "وصل‌شدن"
+
+#: lib/action.php:437
+msgid "Connect to services"
+msgstr "متصل شدن به خدمات"
+
+#: lib/action.php:441
+msgid "Change site configuration"
+msgstr "تغییر پیکربندی سایت"
+
+#: lib/action.php:445 lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "دعوت‌کردن"
+
+#: lib/action.php:446 lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr " به شما ملحق شوند  %s دوستان و همکاران را دعوت کنید تا در"
+
+#: lib/action.php:451
+msgid "Logout"
+msgstr "خروج"
+
+#: lib/action.php:451
+msgid "Logout from the site"
+msgstr "خارج شدن از سایت ."
+
+#: lib/action.php:456
+msgid "Create an account"
+msgstr "یک حساب کاربری بسازید"
+
+#: lib/action.php:459
+msgid "Login to the site"
+msgstr "ورود به وب‌گاه"
+
+#: lib/action.php:462 lib/action.php:725
+msgid "Help"
+msgstr "کمک"
+
+#: lib/action.php:462
+msgid "Help me!"
+msgstr "به من کمک کنید!"
+
+#: lib/action.php:465 lib/searchaction.php:127
+msgid "Search"
+msgstr "جست‌وجو"
+
+#: lib/action.php:465
+msgid "Search for people or text"
+msgstr "جستجو برای شخص با متن"
+
+#: lib/action.php:486
+msgid "Site notice"
+msgstr "خبر سایت"
+
+#: lib/action.php:552
+msgid "Local views"
+msgstr "دید محلی"
+
+#: lib/action.php:618
+msgid "Page notice"
+msgstr "خبر صفحه"
+
+#: lib/action.php:720
+msgid "Secondary site navigation"
+msgstr ""
+
+#: lib/action.php:727
+msgid "About"
+msgstr "دربارهٔ"
+
+#: lib/action.php:729
+msgid "FAQ"
+msgstr "سوال‌های رایج"
+
+#: lib/action.php:733
+msgid "TOS"
+msgstr ""
+
+#: lib/action.php:736
+msgid "Privacy"
+msgstr "خصوصی"
+
+#: lib/action.php:738
+msgid "Source"
+msgstr "منبع"
+
+#: lib/action.php:740
+msgid "Contact"
+msgstr "تماس"
+
+#: lib/action.php:742
+msgid "Badge"
+msgstr ""
+
+#: lib/action.php:770
+msgid "StatusNet software license"
+msgstr "StatusNet مجوز نرم افزار"
+
+#: lib/action.php:773
+#, php-format
+msgid ""
+"**%%site.name%%** is a microblogging service brought to you by [%%site."
+"broughtby%%](%%site.broughtbyurl%%). "
+msgstr ""
+
+#: lib/action.php:775
+#, php-format
+msgid "**%%site.name%%** is a microblogging service. "
+msgstr ""
+
+#: lib/action.php:777
+#, php-format
+msgid ""
+"It runs the [StatusNet](http://status.net/) microblogging software, version %"
+"s, available under the [GNU Affero General Public License](http://www.fsf."
+"org/licensing/licenses/agpl-3.0.html)."
+msgstr ""
+
+#: lib/action.php:791
+msgid "Site content license"
+msgstr "مجوز محتویات سایت"
+
+#: lib/action.php:800
+msgid "All "
+msgstr "همه "
+
+#: lib/action.php:805
+msgid "license."
+msgstr "مجوز."
+
+#: lib/action.php:1099
+msgid "Pagination"
+msgstr "صفحه بندى"
+
+#: lib/action.php:1108
+msgid "After"
+msgstr "بعد از"
+
+#: lib/action.php:1116
+msgid "Before"
+msgstr "قبل از"
+
+#: lib/action.php:1164
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: lib/adminpanelaction.php:96
+msgid "You cannot make changes to this site."
+msgstr "شما نمی توانید در این سایت تغیری ایجاد کنید"
+
+#: lib/adminpanelaction.php:195
+msgid "showForm() not implemented."
+msgstr ""
+
+#: lib/adminpanelaction.php:224
+msgid "saveSettings() not implemented."
+msgstr ""
+
+#: lib/adminpanelaction.php:247
+msgid "Unable to delete design setting."
+msgstr "نمی توان تنظیمات طراحی شده را پاک کرد ."
+
+#: lib/adminpanelaction.php:300
+msgid "Basic site configuration"
+msgstr "پیکره بندی اصلی سایت"
+
+#: lib/adminpanelaction.php:303
+msgid "Design configuration"
+msgstr ""
+
+#: lib/adminpanelaction.php:306 lib/adminpanelaction.php:309
+msgid "Paths configuration"
+msgstr ""
+
+#: lib/attachmentlist.php:87
+msgid "Attachments"
+msgstr "ضمائم"
+
+#: lib/attachmentlist.php:265
+msgid "Author"
+msgstr "مؤلف"
+
+#: lib/attachmentlist.php:278
+msgid "Provider"
+msgstr "مهیا کننده"
+
+#: lib/attachmentnoticesection.php:67
+msgid "Notices where this attachment appears"
+msgstr ""
+
+#: lib/attachmenttagcloudsection.php:48
+msgid "Tags for this attachment"
+msgstr ""
+
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "تغییر گذرواژه"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "تغییر گذرواژه"
+
+#: lib/channel.php:138 lib/channel.php:158
+msgid "Command results"
+msgstr "نتیجه دستور"
+
+#: lib/channel.php:210
+msgid "Command complete"
+msgstr "دستور انجام شد"
+
+#: lib/channel.php:221
+msgid "Command failed"
+msgstr "فرمان شکست خورد"
+
+#: lib/command.php:44
+msgid "Sorry, this command is not yet implemented."
+msgstr "متاسفانه این دستور هنوز اجرا نشده."
+
+#: lib/command.php:88
+#, php-format
+msgid "Could not find a user with nickname %s"
+msgstr "پیدا نشد %s کاریری یا نام مستعار"
+
+#: lib/command.php:92
+msgid "It does not make a lot of sense to nudge yourself!"
+msgstr ""
+
+#: lib/command.php:99
+#, php-format
+msgid "Nudge sent to %s"
+msgstr ""
+
+#: lib/command.php:126
+#, php-format
+msgid ""
+"Subscriptions: %1$s\n"
+"Subscribers: %2$s\n"
+"Notices: %3$s"
+msgstr ""
+"اشتراک : %1$s\n"
+"مشترک : %2$s\n"
+"خبر : %3$s"
+
+#: lib/command.php:152 lib/command.php:399 lib/command.php:460
+msgid "Notice with that id does not exist"
+msgstr "خبری با این مشخصه ایجاد نشد"
+
+#: lib/command.php:168 lib/command.php:415 lib/command.php:476
+#: lib/command.php:532
+msgid "User has no last notice"
+msgstr "کاربر آگهی آخر ندارد"
+
+#: lib/command.php:190
+msgid "Notice marked as fave."
+msgstr ""
+
+#: lib/command.php:315
+#, php-format
+msgid "%1$s (%2$s)"
+msgstr ""
+
+#: lib/command.php:318
+#, php-format
+msgid "Fullname: %s"
+msgstr "نام کامل : %s"
+
+#: lib/command.php:321
+#, php-format
+msgid "Location: %s"
+msgstr "موقعیت : %s"
+
+#: lib/command.php:324
+#, php-format
+msgid "Homepage: %s"
+msgstr "صفحه خانگی : %s"
+
+#: lib/command.php:327
+#, php-format
+msgid "About: %s"
+msgstr "درباره ی : %s"
+
+#: lib/command.php:358 scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+"پیغام بسیار طولانی است - بیشترین اندازه امکان پذیر %d کاراکتر است , شما %d "
+"تا فرستادید"
+
+#: lib/command.php:378
+msgid "Error sending direct message."
+msgstr "خطا در فرستادن پیام مستقیم."
+
+#: lib/command.php:422
+msgid "Cannot repeat your own notice"
+msgstr "نمی توان آگهی خودتان را تکرار کرد"
+
+#: lib/command.php:427
+msgid "Already repeated that notice"
+msgstr "آن آگهی قبلا تکرار شده است."
+
+#: lib/command.php:435
+#, php-format
+msgid "Notice from %s repeated"
+msgstr ""
+
+#: lib/command.php:437
+msgid "Error repeating notice."
+msgstr "خطا هنگام تکرار آگهی."
+
+#: lib/command.php:491
+#, php-format
+msgid "Notice too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:500
+#, php-format
+msgid "Reply to %s sent"
+msgstr ""
+
+#: lib/command.php:502
+msgid "Error saving notice."
+msgstr "خطا هنگام ذخیره ی آگهی"
+
+#: lib/command.php:556
+msgid "Specify the name of the user to subscribe to"
+msgstr ""
+
+#: lib/command.php:563
+#, php-format
+msgid "Subscribed to %s"
+msgstr ""
+
+#: lib/command.php:584
+msgid "Specify the name of the user to unsubscribe from"
+msgstr ""
+
+#: lib/command.php:591
+#, php-format
+msgid "Unsubscribed from %s"
+msgstr ""
+
+#: lib/command.php:609 lib/command.php:632
+msgid "Command not yet implemented."
+msgstr "دستور هنوز اجرا نشده"
+
+#: lib/command.php:612
+msgid "Notification off."
+msgstr ""
+
+#: lib/command.php:614
+msgid "Can't turn off notification."
+msgstr "ناتوان در خاموش کردن آگاه سازی."
+
+#: lib/command.php:635
+msgid "Notification on."
+msgstr "آگاه سازی فعال است."
+
+#: lib/command.php:637
+msgid "Can't turn on notification."
+msgstr "ناتوان در روشن کردن آگاه سازی."
+
+#: lib/command.php:650
+msgid "Login command is disabled"
+msgstr "فرمان ورود از کار افتاده است"
+
+#: lib/command.php:664
+#, php-format
+msgid "Could not create login token for %s"
+msgstr ""
+
+#: lib/command.php:669
+#, php-format
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
+msgstr ""
+
+#: lib/command.php:685
+msgid "You are not subscribed to anyone."
+msgstr "شما توسط هیچ کس تصویب نشده اید ."
+
+#: lib/command.php:687
+msgid "You are subscribed to this person:"
+msgid_plural "You are subscribed to these people:"
+msgstr[0] "هم اکنون شما این کاربران را دنبال می‌کنید: "
+
+#: lib/command.php:707
+msgid "No one is subscribed to you."
+msgstr "هیچکس شما را تایید نکرده ."
+
+#: lib/command.php:709
+msgid "This person is subscribed to you:"
+msgid_plural "These people are subscribed to you:"
+msgstr[0] "هیچکس شما را تایید نکرده ."
+
+#: lib/command.php:729
+msgid "You are not a member of any groups."
+msgstr "شما در هیچ گروهی عضو نیستید ."
+
+#: lib/command.php:731
+msgid "You are a member of this group:"
+msgid_plural "You are a member of these groups:"
+msgstr[0] "شما یک عضو این گروه نیستید."
+
+#: lib/command.php:745
+msgid ""
+"Commands:\n"
+"on - turn on notifications\n"
+"off - turn off notifications\n"
+"help - show this help\n"
+"follow <nickname> - subscribe to user\n"
+"groups - lists the groups you have joined\n"
+"subscriptions - list the people you follow\n"
+"subscribers - list the people that follow you\n"
+"leave <nickname> - unsubscribe from user\n"
+"d <nickname> <text> - direct message to user\n"
+"get <nickname> - get last notice from user\n"
+"whois <nickname> - get profile info on user\n"
+"fav <nickname> - add user's last notice as a 'fave'\n"
+"fav #<notice_id> - add notice with the given id as a 'fave'\n"
+"repeat #<notice_id> - repeat a notice with a given id\n"
+"repeat <nickname> - repeat the last notice from user\n"
+"reply #<notice_id> - reply to notice with a given id\n"
+"reply <nickname> - reply to the last notice from user\n"
+"join <group> - join group\n"
+"login - Get a link to login to the web interface\n"
+"drop <group> - leave group\n"
+"stats - get your stats\n"
+"stop - same as 'off'\n"
+"quit - same as 'off'\n"
+"sub <nickname> - same as 'follow'\n"
+"unsub <nickname> - same as 'leave'\n"
+"last <nickname> - same as 'get'\n"
+"on <nickname> - not yet implemented.\n"
+"off <nickname> - not yet implemented.\n"
+"nudge <nickname> - remind a user to update.\n"
+"invite <phone number> - not yet implemented.\n"
+"track <word> - not yet implemented.\n"
+"untrack <word> - not yet implemented.\n"
+"track off - not yet implemented.\n"
+"untrack all - not yet implemented.\n"
+"tracks - not yet implemented.\n"
+"tracking - not yet implemented.\n"
+msgstr ""
+
+#: lib/common.php:199
+msgid "No configuration file found. "
+msgstr ""
+
+#: lib/common.php:200
+msgid "I looked for configuration files in the following places: "
+msgstr ""
+
+#: lib/common.php:201
+msgid "You may wish to run the installer to fix this."
+msgstr "شما ممکن است بخواهید نصاب را اجرا کنید تا این را تعمیر کند."
+
+#: lib/common.php:202
+msgid "Go to the installer."
+msgstr "برو به نصاب."
+
+#: lib/connectsettingsaction.php:110
+msgid "IM"
+msgstr "پیام‌رسان فوری"
+
+#: lib/connectsettingsaction.php:111
+msgid "Updates by instant messenger (IM)"
+msgstr ""
+
+#: lib/connectsettingsaction.php:116
+msgid "Updates by SMS"
+msgstr "به روز رسانی با پیامک"
+
+#: lib/dberroraction.php:60
+msgid "Database error"
+msgstr "خطای پایگاه داده"
+
+#: lib/designsettings.php:105
+msgid "Upload file"
+msgstr "ارسال فایل"
+
+#: lib/designsettings.php:109
+msgid ""
+"You can upload your personal background image. The maximum file size is 2MB."
+msgstr ""
+
+#: lib/designsettings.php:418
+msgid "Design defaults restored."
+msgstr ""
+
+#: lib/disfavorform.php:114 lib/disfavorform.php:140
+msgid "Disfavor this notice"
+msgstr ""
+
+#: lib/favorform.php:114 lib/favorform.php:140
+msgid "Favor this notice"
+msgstr "طرفدار این خبر"
+
+#: lib/favorform.php:140
+msgid "Favor"
+msgstr "توجه کردن"
+
+#: lib/feed.php:85
+msgid "RSS 1.0"
+msgstr ""
+
+#: lib/feed.php:87
+msgid "RSS 2.0"
+msgstr ""
+
+#: lib/feed.php:89
+msgid "Atom"
+msgstr ""
+
+#: lib/feed.php:91
+msgid "FOAF"
+msgstr ""
+
+#: lib/feedlist.php:64
+msgid "Export data"
+msgstr "صادر کردن داده"
+
+#: lib/galleryaction.php:121
+msgid "Filter tags"
+msgstr ""
+
+#: lib/galleryaction.php:131
+msgid "All"
+msgstr "همه"
+
+#: lib/galleryaction.php:139
+msgid "Select tag to filter"
+msgstr ""
+
+#: lib/galleryaction.php:140
+msgid "Tag"
+msgstr ""
+
+#: lib/galleryaction.php:141
+msgid "Choose a tag to narrow list"
+msgstr ""
+
+#: lib/galleryaction.php:143
+msgid "Go"
+msgstr "برو"
+
+#: lib/groupeditform.php:163
+msgid "URL of the homepage or blog of the group or topic"
+msgstr ""
+
+#: 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 ""
+
+#: lib/groupeditform.php:172
+msgid "Description"
+msgstr ""
+
+#: lib/groupeditform.php:179
+msgid ""
+"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/groupnav.php:85
+msgid "Group"
+msgstr "گروه"
+
+#: lib/groupnav.php:101
+msgid "Blocked"
+msgstr "مسدود شده"
+
+#: lib/groupnav.php:102
+#, php-format
+msgid "%s blocked users"
+msgstr ""
+
+#: lib/groupnav.php:108
+#, php-format
+msgid "Edit %s group properties"
+msgstr "خصوصیلت گروه %s ویرایش"
+
+#: lib/groupnav.php:113
+msgid "Logo"
+msgstr "نشان"
+
+#: lib/groupnav.php:114
+#, php-format
+msgid "Add or edit %s logo"
+msgstr ""
+
+#: lib/groupnav.php:120
+#, php-format
+msgid "Add or edit %s design"
+msgstr ""
+
+#: lib/groupsbymemberssection.php:71
+msgid "Groups with most members"
+msgstr "گروه های با اعضاء بیشتر"
+
+#: lib/groupsbypostssection.php:71
+msgid "Groups with most posts"
+msgstr "گروه های با پست های بیشتر"
+
+#: lib/grouptagcloudsection.php:56
+#, php-format
+msgid "Tags in %s group's notices"
+msgstr ""
+
+#: lib/htmloutputter.php:103
+msgid "This page is not available in a media type you accept"
+msgstr ""
+
+#: lib/imagefile.php:75
+#, php-format
+msgid "That file is too big. The maximum file size is %s."
+msgstr ""
+"است . این فایل بسیار یزرگ است  %s بیشترین مقدار قابل قبول برای اندازه ی فایل."
+
+#: lib/imagefile.php:80
+msgid "Partial upload."
+msgstr ""
+
+#: lib/imagefile.php:88 lib/mediafile.php:170
+msgid "System error uploading file."
+msgstr "خطای سیستم ارسال فایل."
+
+#: lib/imagefile.php:96
+msgid "Not an image or corrupt file."
+msgstr "تصویر یا فایل خرابی نیست"
+
+#: lib/imagefile.php:105
+msgid "Unsupported image file format."
+msgstr "فرمت(فایل) عکس پشتیبانی نشده."
+
+#: lib/imagefile.php:118
+msgid "Lost our file."
+msgstr "فایلمان گم شده"
+
+#: lib/imagefile.php:150 lib/imagefile.php:197
+msgid "Unknown file type"
+msgstr "نوع فایل پشتیبانی نشده"
+
+#: lib/imagefile.php:217
+msgid "MB"
+msgstr "مگابایت"
+
+#: lib/imagefile.php:219
+msgid "kB"
+msgstr "کیلوبایت"
+
+#: lib/jabber.php:191
+#, php-format
+msgid "[%s]"
+msgstr ""
+
+#: lib/joinform.php:114
+msgid "Join"
+msgstr "مشارکت کردن"
+
+#: lib/leaveform.php:114
+msgid "Leave"
+msgstr "ترک کردن"
+
+#: lib/logingroupnav.php:80
+msgid "Login with a username and password"
+msgstr "وارد شدن با یک نام کاربری و کلمه ی عبور"
+
+#: lib/logingroupnav.php:86
+msgid "Sign up for a new account"
+msgstr "عضویت برای حساب کاربری جدید"
+
+#: lib/mail.php:172
+msgid "Email address confirmation"
+msgstr "تاییدیه ی آدرس ایمیل"
+
+#: lib/mail.php:174
+#, php-format
+msgid ""
+"Hey, %s.\n"
+"\n"
+"Someone just entered this email address on %s.\n"
+"\n"
+"If it was you, and you want to confirm your entry, use the URL below:\n"
+"\n"
+"\t%s\n"
+"\n"
+"If not, just ignore this message.\n"
+"\n"
+"Thanks for your time, \n"
+"%s\n"
+msgstr ""
+
+#: lib/mail.php:236
+#, php-format
+msgid "%1$s is now listening to your notices on %2$s."
+msgstr "%2$s از حالا به خبر های شما گوش میده  %1$s"
+
+#: lib/mail.php:241
+#, php-format
+msgid ""
+"%1$s is now listening to your notices on %2$s.\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"%4$s%5$s%6$s\n"
+"Faithfully yours,\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Change your email address or notification options at %8$s\n"
+msgstr ""
+
+#: lib/mail.php:254
+#, php-format
+msgid "Location: %s\n"
+msgstr "موقعیت : %s\n"
+
+#: lib/mail.php:256
+#, php-format
+msgid "Homepage: %s\n"
+msgstr "صفحه خانگی : %s\n"
+
+#: lib/mail.php:258
+#, php-format
+msgid ""
+"Bio: %s\n"
+"\n"
+msgstr ""
+
+#: lib/mail.php:286
+#, php-format
+msgid "New email address for posting to %s"
+msgstr "%s ادرس ایمیل جدید برای"
+
+#: lib/mail.php:289
+#, php-format
+msgid ""
+"You have a new posting address on %1$s.\n"
+"\n"
+"Send email to %2$s to post new messages.\n"
+"\n"
+"More email instructions at %3$s.\n"
+"\n"
+"Faithfully yours,\n"
+"%4$s"
+msgstr ""
+" %1$s شما یک ادرس پست جدید دارید در .\n"
+"ایمیل بزنید %s برای پست یک پیغام جدید به .\n"
+" %3$s راهنمای ایمیل بیشتر در .\n"
+"\n"
+", ازروی وفاداری خود شما \n"
+"%4$s"
+
+#: lib/mail.php:413
+#, php-format
+msgid "%s status"
+msgstr "وضعیت %s"
+
+#: lib/mail.php:439
+msgid "SMS confirmation"
+msgstr "تایید پیامک"
+
+#: lib/mail.php:463
+#, php-format
+msgid "You've been nudged by %s"
+msgstr ""
+
+#: lib/mail.php:467
+#, php-format
+msgid ""
+"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
+"to post some news.\n"
+"\n"
+"So let's hear from you :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"Don't reply to this email; it won't get to them.\n"
+"\n"
+"With kind regards,\n"
+"%4$s\n"
+msgstr ""
+
+#: lib/mail.php:510
+#, php-format
+msgid "New private message from %s"
+msgstr ""
+
+#: lib/mail.php:514
+#, php-format
+msgid ""
+"%1$s (%2$s) sent you a private message:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"You can reply to their message here:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Don't reply to this email; it won't get to them.\n"
+"\n"
+"With kind regards,\n"
+"%5$s\n"
+msgstr ""
+
+#: lib/mail.php:559
+#, php-format
+msgid "%s (@%s) added your notice as a favorite"
+msgstr " خبر شما را به علایق خود اضافه کرد %s (@%s)"
+
+#: lib/mail.php:561
+#, php-format
+msgid ""
+"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
+"\n"
+"The URL of your notice is:\n"
+"\n"
+"%3$s\n"
+"\n"
+"The text of your notice is:\n"
+"\n"
+"%4$s\n"
+"\n"
+"You can see the list of %1$s's favorites here:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Faithfully yours,\n"
+"%6$s\n"
+msgstr ""
+
+#: lib/mail.php:624
+#, php-format
+msgid "%s (@%s) sent a notice to your attention"
+msgstr "به توجه شما یک خبر فرستاده شده %s (@%s)"
+
+#: lib/mail.php:626
+#, php-format
+msgid ""
+"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
+"\n"
+"The notice is here:\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"It reads:\n"
+"\n"
+"\t%4$s\n"
+"\n"
+msgstr ""
+
+#: lib/mailbox.php:89
+msgid "Only the user can read their own mailboxes."
+msgstr "تنها کاربران می تواند صندوق نامه ی خودشان را بخوانند."
+
+#: lib/mailbox.php:139
+msgid ""
+"You have no private messages. You can send private message to engage other "
+"users in conversation. People can send you messages for your eyes only."
+msgstr ""
+
+#: lib/mailbox.php:227 lib/noticelist.php:477
+msgid "from"
+msgstr "از"
+
+#: lib/mediafile.php:98 lib/mediafile.php:123
+msgid "There was a database error while saving your file. Please try again."
+msgstr ""
+"یک خطای پایگاه داده هنگام ذخیره کردن فایل شما رخ داد. لطفا بعدا سعی کنید."
+
+#: lib/mediafile.php:142
+msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
+msgstr ""
+
+#: lib/mediafile.php:147
+msgid ""
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
+"the HTML form."
+msgstr ""
+
+#: lib/mediafile.php:152
+msgid "The uploaded file was only partially uploaded."
+msgstr "فایل ارسال شده نتها اندکی ارسال شد."
+
+#: lib/mediafile.php:159
+msgid "Missing a temporary folder."
+msgstr "گم شدن یک پوشه ی موقتی."
+
+#: lib/mediafile.php:162
+msgid "Failed to write file to disk."
+msgstr "شکست خوردن در نوشتن فایل روی دیسک."
+
+#: lib/mediafile.php:165
+msgid "File upload stopped by extension."
+msgstr ""
+
+#: lib/mediafile.php:179 lib/mediafile.php:216
+msgid "File exceeds user's quota!"
+msgstr ""
+
+#: lib/mediafile.php:196 lib/mediafile.php:233
+msgid "File could not be moved to destination directory."
+msgstr "فایل نتوانست به دایرکتوری مقصد منتقل شود."
+
+#: lib/mediafile.php:201 lib/mediafile.php:237
+msgid "Could not determine file's mime-type!"
+msgstr ""
+
+#: lib/mediafile.php:270
+#, php-format
+msgid " Try using another %s format."
+msgstr "تلاش برای امتحان نوع دیگر %s"
+
+#: lib/mediafile.php:275
+#, php-format
+msgid "%s is not a supported filetype on this server."
+msgstr ""
+
+#: lib/messageform.php:120
+msgid "Send a direct notice"
+msgstr "یک آگهی مستقیم بفرستید."
+
+#: lib/messageform.php:146
+msgid "To"
+msgstr "به"
+
+#: lib/messageform.php:159 lib/noticeform.php:185
+msgid "Available characters"
+msgstr "کاراکترهای موجود"
+
+#: lib/noticeform.php:160
+msgid "Send a notice"
+msgstr "یک آگهی بفرستید"
+
+#: lib/noticeform.php:173
+#, php-format
+msgid "What's up, %s?"
+msgstr "چه شده %s ?"
+
+#: lib/noticeform.php:192
+msgid "Attach"
+msgstr "ضمیمه کردن"
+
+#: lib/noticeform.php:196
+msgid "Attach a file"
+msgstr "یک فایل ضمیمه کنید"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
+#, php-format
+msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
+msgstr ""
+
+#: lib/noticelist.php:429
+msgid "N"
+msgstr ""
+
+#: lib/noticelist.php:429
+msgid "S"
+msgstr ""
+
+#: lib/noticelist.php:430
+msgid "E"
+msgstr ""
+
+#: lib/noticelist.php:430
+msgid "W"
+msgstr ""
+
+#: lib/noticelist.php:436
+msgid "at"
+msgstr "در"
+
+#: lib/noticelist.php:531
+msgid "in context"
+msgstr "در زمینه"
+
+#: lib/noticelist.php:556
+msgid "Repeated by"
+msgstr "تکرار از"
+
+#: lib/noticelist.php:585
+msgid "Reply to this notice"
+msgstr "به این آگهی جواب دهید"
+
+#: lib/noticelist.php:586
+msgid "Reply"
+msgstr "جواب دادن"
+
+#: lib/noticelist.php:628
+msgid "Notice repeated"
+msgstr "آگهی تکرار شد"
+
+#: lib/nudgeform.php:116
+msgid "Nudge this user"
+msgstr ""
+
+#: lib/nudgeform.php:128
+msgid "Nudge"
+msgstr ""
+
+#: lib/nudgeform.php:128
+msgid "Send a nudge to this user"
+msgstr "برای این کاربر اژير بفرست"
+
+#: lib/oauthstore.php:283
+msgid "Error inserting new profile"
+msgstr "خطا در درج مشخصات جدید"
+
+#: lib/oauthstore.php:291
+msgid "Error inserting avatar"
+msgstr ""
+
+#: lib/oauthstore.php:311
+msgid "Error inserting remote profile"
+msgstr ""
+
+#: lib/oauthstore.php:345
+msgid "Duplicate notice"
+msgstr ""
+
+#: lib/oauthstore.php:466 lib/subs.php:48
+msgid "You have been banned from subscribing."
+msgstr ""
+
+#: lib/oauthstore.php:491
+msgid "Couldn't insert new subscription."
+msgstr ""
+
+#: lib/personalgroupnav.php:99
+msgid "Personal"
+msgstr "شخصی"
+
+#: lib/personalgroupnav.php:104
+msgid "Replies"
+msgstr "پاسخ ها"
+
+#: lib/personalgroupnav.php:114
+msgid "Favorites"
+msgstr "چیزهای مورد علاقه"
+
+#: lib/personalgroupnav.php:124
+msgid "Inbox"
+msgstr "صندوق دریافتی"
+
+#: lib/personalgroupnav.php:125
+msgid "Your incoming messages"
+msgstr "پیام های وارد شونده ی شما"
+
+#: lib/personalgroupnav.php:129
+msgid "Outbox"
+msgstr "صندوق خروجی"
+
+#: lib/personalgroupnav.php:130
+msgid "Your sent messages"
+msgstr "پیام های فرستاده شده به وسیله ی شما"
+
+#: lib/personaltagcloudsection.php:56
+#, php-format
+msgid "Tags in %s's notices"
+msgstr ""
+
+#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+msgid "Subscriptions"
+msgstr "اشتراک‌ها"
+
+#: lib/profileaction.php:126
+msgid "All subscriptions"
+msgstr "تمام اشتراک‌ها"
+
+#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+msgid "Subscribers"
+msgstr "مشترک‌ها"
+
+#: lib/profileaction.php:157
+msgid "All subscribers"
+msgstr "تمام مشترک‌ها"
+
+#: lib/profileaction.php:178
+msgid "User ID"
+msgstr "شناسه کاربر"
+
+#: lib/profileaction.php:183
+msgid "Member since"
+msgstr "عضو شده از"
+
+#: lib/profileaction.php:245
+msgid "All groups"
+msgstr "تمام گروه‌ها"
+
+#: lib/profileformaction.php:123
+msgid "No return-to arguments."
+msgstr ""
+
+#: lib/profileformaction.php:137
+msgid "Unimplemented method."
+msgstr ""
+
+#: lib/publicgroupnav.php:78
+msgid "Public"
+msgstr "عمومی"
+
+#: lib/publicgroupnav.php:82
+msgid "User groups"
+msgstr "گروه‌های کاربر"
+
+#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
+msgid "Recent tags"
+msgstr "برچسب‌های اخیر"
+
+#: lib/publicgroupnav.php:88
+msgid "Featured"
+msgstr "خصوصیت"
+
+#: lib/publicgroupnav.php:92
+msgid "Popular"
+msgstr "محبوب"
+
+#: lib/repeatform.php:107
+#, fuzzy
+msgid "Repeat this notice?"
+msgstr "به این آگهی جواب دهید"
+
+#: lib/repeatform.php:132
+msgid "Repeat this notice"
+msgstr ""
+
+#: lib/sandboxform.php:67
+msgid "Sandbox"
+msgstr ""
+
+#: lib/sandboxform.php:78
+msgid "Sandbox this user"
+msgstr ""
+
+#: lib/searchaction.php:120
+msgid "Search site"
+msgstr "جست‌وجوی وب‌گاه"
+
+#: lib/searchaction.php:126
+msgid "Keyword(s)"
+msgstr "کلمه(های) کلیدی"
+
+#: lib/searchaction.php:162
+msgid "Search help"
+msgstr "راهنمای جستجو"
+
+#: lib/searchgroupnav.php:80
+msgid "People"
+msgstr "شخص"
+
+#: lib/searchgroupnav.php:81
+msgid "Find people on this site"
+msgstr "پیدا کردن شخص در این سایت"
+
+#: lib/searchgroupnav.php:83
+msgid "Find content of notices"
+msgstr ""
+
+#: lib/searchgroupnav.php:85
+msgid "Find groups on this site"
+msgstr "پیداا کردن گروه ها در این سایت"
+
+#: lib/section.php:89
+msgid "Untitled section"
+msgstr ""
+
+#: lib/section.php:106
+msgid "More..."
+msgstr "بیش‌تر..."
+
+#: lib/silenceform.php:67
+msgid "Silence"
+msgstr "آرامش"
+
+#: lib/silenceform.php:78
+msgid "Silence this user"
+msgstr "آرامش این کاربر"
+
+#: lib/subgroupnav.php:83
+#, php-format
+msgid "People %s subscribes to"
+msgstr ""
+
+#: lib/subgroupnav.php:91
+#, php-format
+msgid "People subscribed to %s"
+msgstr ""
+
+#: lib/subgroupnav.php:99
+#, php-format
+msgid "Groups %s is a member of"
+msgstr "هست عضو %s گروه"
+
+#: lib/subs.php:52
+msgid "Already subscribed!"
+msgstr "قبلا تایید شده !"
+
+#: lib/subs.php:56
+msgid "User has blocked you."
+msgstr ""
+
+#: lib/subs.php:60
+msgid "Could not subscribe."
+msgstr ""
+
+#: lib/subs.php:79
+msgid "Could not subscribe other to you."
+msgstr ""
+
+#: lib/subs.php:128
+msgid "Not subscribed!"
+msgstr "تایید نشده!"
+
+#: lib/subs.php:133
+msgid "Couldn't delete self-subscription."
+msgstr ""
+
+#: lib/subs.php:146
+msgid "Couldn't delete subscription."
+msgstr ""
+
+#: lib/subscriberspeopleselftagcloudsection.php:48
+#: lib/subscriptionspeopleselftagcloudsection.php:48
+msgid "People Tagcloud as self-tagged"
+msgstr ""
+
+#: lib/subscriberspeopletagcloudsection.php:48
+#: lib/subscriptionspeopletagcloudsection.php:48
+msgid "People Tagcloud as tagged"
+msgstr ""
+
+#: lib/subscriptionlist.php:126
+msgid "(none)"
+msgstr "(هیج)"
+
+#: lib/tagcloudsection.php:56
+msgid "None"
+msgstr "هیچ"
+
+#: lib/topposterssection.php:74
+msgid "Top posters"
+msgstr "اعلان های بالا"
+
+#: lib/unsandboxform.php:69
+msgid "Unsandbox"
+msgstr ""
+
+#: lib/unsandboxform.php:80
+msgid "Unsandbox this user"
+msgstr ""
+
+#: lib/unsilenceform.php:67
+msgid "Unsilence"
+msgstr ""
+
+#: lib/unsilenceform.php:78
+msgid "Unsilence this user"
+msgstr ""
+
+#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
+msgid "Unsubscribe from this user"
+msgstr ""
+
+#: lib/unsubscribeform.php:137
+msgid "Unsubscribe"
+msgstr ""
+
+#: lib/userprofile.php:116
+msgid "Edit Avatar"
+msgstr "ویرایش اواتور"
+
+#: lib/userprofile.php:236
+msgid "User actions"
+msgstr ""
+
+#: lib/userprofile.php:248
+msgid "Edit profile settings"
+msgstr "ویرایش تنظیمات پروفيل"
+
+#: lib/userprofile.php:249
+msgid "Edit"
+msgstr "ویرایش"
+
+#: lib/userprofile.php:272
+msgid "Send a direct message to this user"
+msgstr "پیام مستقیم به این کاربر بفرستید"
+
+#: lib/userprofile.php:273
+msgid "Message"
+msgstr "پیام"
+
+#: lib/userprofile.php:311
+msgid "Moderate"
+msgstr ""
+
+#: lib/util.php:837
+msgid "a few seconds ago"
+msgstr "چند ثانیه پیش"
+
+#: lib/util.php:839
+msgid "about a minute ago"
+msgstr "حدود یک دقیقه پیش"
+
+#: lib/util.php:841
+#, php-format
+msgid "about %d minutes ago"
+msgstr "حدود %d دقیقه پیش"
+
+#: lib/util.php:843
+msgid "about an hour ago"
+msgstr "حدود یک ساعت پیش"
+
+#: lib/util.php:845
+#, php-format
+msgid "about %d hours ago"
+msgstr "حدود %d ساعت پیش"
+
+#: lib/util.php:847
+msgid "about a day ago"
+msgstr "حدود یک روز پیش"
+
+#: lib/util.php:849
+#, php-format
+msgid "about %d days ago"
+msgstr "حدود %d روز پیش"
+
+#: lib/util.php:851
+msgid "about a month ago"
+msgstr "حدود یک ماه پیش"
+
+#: lib/util.php:853
+#, php-format
+msgid "about %d months ago"
+msgstr "حدود %d ماه پیش"
+
+#: lib/util.php:855
+msgid "about a year ago"
+msgstr "حدود یک سال پیش"
+
+#: lib/webcolor.php:82
+#, php-format
+msgid "%s is not a valid color!"
+msgstr "%s یک رنگ صحیح نیست!"
+
+#: lib/webcolor.php:123
+#, php-format
+msgid "%s is not a valid color! Use 3 or 6 hex chars."
+msgstr "%s یک رنگ صحیح نیست! از ۳ یا ۶ حرف مبنای شانزده استفاده کنید"
+
+#: scripts/maildaemon.php:48
+msgid "Could not parse message."
+msgstr "نمی‌توان پیام را تجزیه کرد."
+
+#: scripts/maildaemon.php:53
+msgid "Not a registered user."
+msgstr "یک کاربر ثبت نام شده نیستید"
+
+#: scripts/maildaemon.php:57
+msgid "Sorry, that is not your incoming email address."
+msgstr "با عرض پوزش، این پست الکترونیک شما نیست."
+
+#: scripts/maildaemon.php:61
+msgid "Sorry, no incoming email allowed."
+msgstr "با عرض پوزش، اجازه‌ی ورودی پست الکترونیک وجود ندارد"
index 33878f8ebd5c871e7caf3475669efa5b19ba547f..ece1dfee10a6d8a2b41fbaf7bab93bbf4564e4e4 100644 (file)
@@ -10,12 +10,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:12+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:14+0000\n"
 "Language-Team: Finnish\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fi\n"
 "X-Message-Group: out-statusnet\n"
@@ -198,11 +198,11 @@ msgstr "Ei voitu päivittää käyttäjää."
 msgid "You cannot block yourself!"
 msgstr "Et voi lopettaa itsesi tilausta!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Käyttäjän esto epäonnistui."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Käyttäjän eston poisto epäonnistui."
 
@@ -317,7 +317,7 @@ msgid "Could not find target user."
 msgstr "Ei löytynyt yhtään päivitystä."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -325,25 +325,25 @@ msgstr ""
 "välilyöntiä."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Tunnus on jo käytössä. Yritä toista tunnusta."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Tuo ei ole kelvollinen tunnus."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Kotisivun verkko-osoite ei ole toimiva."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
@@ -354,7 +354,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "kuvaus on liian pitkä (max 140 merkkiä)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
@@ -471,7 +471,7 @@ msgstr "Päivitys on liian pitkä. Maksimipituus on %d merkkiä."
 msgid "Not found"
 msgstr "Ei löytynyt"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr "Maksimikoko päivitykselle on %d merkkiä, mukaan lukien URL-osoite."
@@ -601,7 +601,7 @@ msgid "Preview"
 msgstr "Esikatselu"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Poista"
 
@@ -614,13 +614,13 @@ msgid "Crop"
 msgstr "Rajaa"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -685,6 +685,7 @@ msgstr "Älä estä tätä käyttäjää"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Kyllä"
 
@@ -692,7 +693,7 @@ msgstr "Kyllä"
 msgid "Block this user"
 msgstr "Estä tämä käyttäjä"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Käyttäjän estotiedon tallennus epäonnistui."
 
@@ -765,7 +766,7 @@ msgstr "Tämä osoite on jo vahvistettu."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Ei voitu päivittää käyttäjää."
@@ -827,7 +828,7 @@ msgstr "Oletko varma että haluat poistaa tämän päivityksen?"
 msgid "Do not delete this notice"
 msgstr "Älä poista tätä päivitystä"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Poista tämä päivitys"
 
@@ -972,8 +973,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1146,7 +1147,7 @@ msgstr "Sähköpostiosoitetta ei ole."
 msgid "Cannot normalize that email address"
 msgstr "Ei voida normalisoida sähköpostiosoitetta"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Tuo ei ole kelvollinen sähköpostiosoite"
 
@@ -1273,8 +1274,8 @@ msgid "Featured users, page %d"
 msgstr "Esittelyssä olevat käyttäjät, sivu %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Valikoima joitakin loistavia palvelun %s käyttäjiä"
 
 #: actions/file.php:34
@@ -1471,7 +1472,7 @@ msgstr "Ryhmän %s jäsenet, sivu %d"
 msgid "A list of the users in this group."
 msgstr "Lista ryhmän käyttäjistä."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Ylläpito"
 
@@ -1561,7 +1562,7 @@ msgstr "Vain ylläpitäjä voi poistaa eston ryhmän jäseniltä."
 msgid "User is not blocked from group."
 msgstr "Käyttäjää ei ole estetty ryhmästä."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Tapahtui virhe, kun estoa poistettiin."
 
@@ -1750,7 +1751,7 @@ msgstr "Henkilökohtainen viesti"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Voit myös lisätä oman viestisi kutsuun"
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Lähetä"
 
@@ -1873,7 +1874,7 @@ msgstr "Väärä käyttäjätunnus tai salasana"
 msgid "Error setting user. You are probably not authorized."
 msgstr "Sinulla ei ole valtuutusta tähän."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Kirjaudu sisään"
@@ -1987,7 +1988,7 @@ msgstr "Viesti lähetetty"
 msgid "Direct message to %s sent"
 msgstr "Suora viesti käyttäjälle %s lähetetty"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax-virhe"
 
@@ -1995,7 +1996,7 @@ msgstr "Ajax-virhe"
 msgid "New notice"
 msgstr "Uusi päivitys"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Päivitys lähetetty"
 
@@ -2225,83 +2226,123 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Kutsu"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Palvelun ilmoitus"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Kuva"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Profiilikuva-asetukset"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Kuva päivitetty."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Kuva poistettu."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Taustakuvat"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Taustakuvapalvelin"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Taustakuvan hakemistopolku"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Taustakuvan hakemisto"
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Palauta"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Päivitykset"
+
+#: actions/pathsadminpanel.php:298
+#, fuzzy
+msgid "Always"
+msgstr "Aliakset"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Palvelun ilmoitus"
 
@@ -2398,73 +2439,82 @@ msgstr "Kotipaikka"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Olinpaikka kuten \"Kaupunki, Maakunta (tai Lääni), Maa\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Tagit"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Kuvaa itseäsi henkilötageilla (sanoja joissa voi olla muita kirjaimia kuin "
 "ääkköset, numeroita, -, ., ja _), pilkulla tai välilyönnillä erotettuna"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Kieli"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Ensisijainen kieli"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Aikavyöhyke"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Missä aikavyöhykkeessä olet normaalisti?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Tilaa automaattisesti kaikki, jotka tilaavat päivitykseni (ei sovi hyvin "
 "ihmiskäyttäjille)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "\"Tietoja\" on liian pitkä (max 140 merkkiä)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Aikavyöhykettä ei ole valittu."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Kieli on liian pitkä (max 50 merkkiä)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Virheellinen tagi: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Ei voitu asettaa käyttäjälle automaattista tilausta."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Tageja ei voitu tallentaa."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Ei voitu tallentaa profiilia."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Tageja ei voitu tallentaa."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Asetukset tallennettu."
 
@@ -2561,7 +2611,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Tagipilvi"
 
@@ -2701,7 +2751,7 @@ msgstr "Virheellinen kutsukoodin."
 msgid "Registration successful"
 msgstr "Rekisteröityminen onnistui"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Rekisteröidy"
@@ -2747,7 +2797,7 @@ msgid "Same as password above. Required."
 msgstr "Sama kuin ylläoleva salasana. Pakollinen."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Sähköposti"
 
@@ -2901,7 +2951,7 @@ msgstr "Et voi rekisteröityä, jos et hyväksy lisenssiehtoja."
 msgid "You already repeated that notice."
 msgstr "Sinä olet jo estänyt tämän käyttäjän."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Luotu"
@@ -3236,247 +3286,203 @@ msgstr "Käyttäjä on asettanut eston sinulle."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Tuo ei ole kelvollinen sähköpostiosoite"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Palvelun ilmoitus"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Uusi sähköpostiosoite päivityksien lähettämiseen palveluun %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Paikalliset näkymät"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Ensisijainen kieli"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Palauta"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Hyväksy"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Yksityisyys"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Kutsu"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Estä"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Palauta"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Päivitykset"
-
-#: actions/siteadminpanel.php:385
-#, fuzzy
-msgid "Always"
-msgstr "Aliakset"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Profiilikuva-asetukset"
@@ -4084,16 +4090,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Päivityksesi tähän palveluun on estetty."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Ongelma päivityksen tallentamisessa."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Tietokantavirhe tallennettaessa vastausta: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4149,131 +4155,131 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Nimetön sivu"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Ensisijainen sivunavigointi"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Koti"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Henkilökohtainen profiili ja kavereiden aikajana"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Käyttäjätili"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Muuta sähköpostiosoitettasi, kuvaasi, salasanaasi, profiiliasi"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Yhdistä"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Ei voitu uudelleenohjata palvelimelle: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Ensisijainen sivunavigointi"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Kutsu"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Kutsu kavereita ja työkavereita liittymään palveluun %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Kirjaudu ulos"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Kirjaudu ulos palvelusta"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Luo uusi käyttäjätili"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Kirjaudu sisään palveluun"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Ohjeet"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Auta minua!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Haku"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Hae ihmisiä tai tekstiä"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Palvelun ilmoitus"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Paikalliset näkymät"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Sivuilmoitus"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Toissijainen sivunavigointi"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Tietoa"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "UKK"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Yksityisyys"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Lähdekoodi"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Ota yhteyttä"
 
-#: lib/action.php:741
+#: lib/action.php:742
 #, fuzzy
 msgid "Badge"
 msgstr "Tönäise"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "StatusNet-ohjelmiston lisenssi"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4282,12 +4288,12 @@ msgstr ""
 "**%%site.name%%** on mikroblogipalvelu, jonka tarjoaa [%%site.broughtby%%](%%"
 "site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** on mikroblogipalvelu. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4298,32 +4304,32 @@ msgstr ""
 "versio %s, saatavilla lisenssillä [GNU Affero General Public License](http://"
 "www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "StatusNet-ohjelmiston lisenssi"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Kaikki "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "lisenssi."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Sivutus"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Myöhemmin"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Aiemmin"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Istuntoavaimesi kanssa oli ongelma."
 
@@ -4383,6 +4389,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Salasanan vaihto"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Salasanan vaihto"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Komennon tulos"
@@ -5049,12 +5065,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5079,7 +5095,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr " lähteestä "
@@ -5144,72 +5160,76 @@ msgstr "Lähetä suora viesti"
 msgid "To"
 msgstr "Vastaanottaja"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Sallitut merkit"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Lähetä päivitys"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Mitä teet juuri nyt, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "Ei"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Ei sisältöä!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Luotu"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Vastaa tähän päivitykseen"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Vastaus"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Päivitys on poistettu."
@@ -5343,15 +5363,15 @@ msgstr "Esittelyssä"
 msgid "Popular"
 msgstr "Suosituimmat"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Vastaa tähän päivitykseen"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Vaihda"
+msgid "Repeat this notice"
+msgstr "Vastaa tähän päivitykseen"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5534,47 +5554,47 @@ msgstr "Viesti"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "muutama sekunti sitten"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "noin minuutti sitten"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "noin %d minuuttia sitten"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "noin tunti sitten"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "noin %d tuntia sitten"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "noin päivä sitten"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "noin %d päivää sitten"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "noin kuukausi sitten"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "noin %d kuukautta sitten"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "noin vuosi sitten"
 
index 8b0a52a208847a22143c8d538e3d5dd4e2af4816..0dda77224512087e56f5bdba4c9294d7ee7c97e5 100644 (file)
@@ -13,12 +13,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:14+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:23+0000\n"
 "Language-Team: French\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: out-statusnet\n"
@@ -204,11 +204,11 @@ msgstr "Impossible de mettre à jour votre conception."
 msgid "You cannot block yourself!"
 msgstr "Vous ne pouvez pas vous bloquer vous-même !"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Le blocage de l’utilisateur a échoué."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Le déblocage de l’utilisateur a échoué."
 
@@ -322,7 +322,7 @@ msgid "Could not find target user."
 msgstr "Impossible de trouver l’utilisateur cible."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -330,25 +330,25 @@ msgstr ""
 "chiffres, sans espaces."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Pseudo déjà utilisé. Essayez-en un autre."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Pseudo invalide."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "L’adresse du site personnel n’est pas un URL valide. "
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Nom complet trop long (maximum de 255 caractères)."
@@ -359,7 +359,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "La description est trop longue (%d caractères maximum)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Emplacement trop long (maximum de 255 caractères)."
@@ -474,7 +474,7 @@ msgstr "C’est trop long ! La taille maximale de l’avis est de %d caractères
 msgid "Not found"
 msgstr "Non trouvé"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -607,7 +607,7 @@ msgid "Preview"
 msgstr "Aperçu"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Supprimer"
 
@@ -620,13 +620,13 @@ msgid "Crop"
 msgstr "Recadrer"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -693,6 +693,7 @@ msgstr "Ne pas bloquer cet utilisateur"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Oui"
 
@@ -700,7 +701,7 @@ msgstr "Oui"
 msgid "Block this user"
 msgstr "Bloquer cet utilisateur"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Impossible d’enregistrer les informations de blocage."
 
@@ -772,7 +773,7 @@ msgstr "Cette adresse a déjà été confirmée."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Impossible de mettre à jour l’utilisateur."
@@ -834,7 +835,7 @@ msgstr "Êtes-vous sûr(e) de vouloir supprimer cet avis ?"
 msgid "Do not delete this notice"
 msgstr "Ne pas supprimer cet avis"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Supprimer cet avis"
 
@@ -974,8 +975,8 @@ msgstr "Revenir aux valeurs par défaut"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1147,7 +1148,7 @@ msgstr "Aucune adresse courriel."
 msgid "Cannot normalize that email address"
 msgstr "Impossible d’utiliser cette adresse courriel"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Adresse courriel invalide"
 
@@ -1280,8 +1281,8 @@ msgstr "Utilisateurs en vedette - page %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "Les utilisateurs à ne pas manquer dans %s"
+msgid "A selection of some great users on %s"
+msgstr "Une sélection d'utilisateurs à ne pas manquer dans %s"
 
 #: actions/file.php:34
 msgid "No notice ID."
@@ -1476,7 +1477,7 @@ msgstr "Membres du groupe %s - page %d"
 msgid "A list of the users in this group."
 msgstr "Liste des utilisateurs inscrits à ce groupe."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Administrer"
 
@@ -1576,7 +1577,7 @@ msgstr "Seul un administrateur peut débloquer les membres du groupes."
 msgid "User is not blocked from group."
 msgstr "Cet utilisateur n’est pas bloqué du groupe."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erreur lors de l’annulation du blocage."
 
@@ -1767,7 +1768,7 @@ msgstr "Message personnel"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Ajouter un message personnel à l’invitation (optionnel)."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Envoyer"
 
@@ -1893,7 +1894,7 @@ msgstr ""
 "Erreur lors de la mise en place de l'utilisateur. Vous n'y êtes probablement "
 "pas autorisé."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Ouvrir une session"
@@ -2011,7 +2012,7 @@ msgstr "Message envoyé"
 msgid "Direct message to %s sent"
 msgstr "Votre message a été envoyé à %s"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Erreur Ajax"
 
@@ -2019,7 +2020,7 @@ msgstr "Erreur Ajax"
 msgid "New notice"
 msgstr "Nouvel avis"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Avis publié"
 
@@ -2251,76 +2252,112 @@ msgstr "Dossier des arrière plans non inscriptible : %s"
 msgid "Locales directory not readable: %s"
 msgstr "Dossier des paramètres régionaux non lisible : %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Serveur SSL invalide. La longueur maximale est de 255 caractères."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Site"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Chemin"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Chemin du site"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Chemin vers les paramètres régionaux"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Chemin de dossier vers les paramètres régionaux"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Thème"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Serveur de thèmes"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Chemin des thèmes"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Dossier des thèmes"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Avatars"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Serveur d'avatar"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Chemin des avatars"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Dossier des avatars"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Arrière plans"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Serveur des arrière plans"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Chemin des arrière plans"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Dossier des arrière plans"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Jamais"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Quelquefois"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Toujours"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Utiliser SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Quand utiliser SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Serveur SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Serveur vers lequel rediriger les requêtes SSL"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr ""
 "Impossible de définir l'utilisateur. Vous n'êtes probablement pas autorisé."
@@ -2417,73 +2454,81 @@ msgstr "Emplacement"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Indiquez votre emplacement, ex.: « Ville, État (ou région), Pays »"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Partager ma localisation lorsque je poste des avis"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Marques"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Marques pour vous-même (lettres, chiffres, -, ., et _), séparées par des "
 "virgules ou des espaces"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Langue"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Langue préférée"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Fuseau horaire"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Quel est votre fuseau horaire habituel ?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "M’abonner automatiquement à tous ceux qui s’abonnent à moi (recommandé pour "
 "les utilisateurs non-humains)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "La bio est trop longue (%d caractères maximum)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Aucun fuseau horaire n’a été choisi."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "La langue est trop longue (255 caractères maximum)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Marque invalide : « %s »"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Impossible de mettre à jour l’auto-abonnement."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Impossible d’enregistrer les préférences de localisation."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Impossible d’enregistrer le profil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Impossible d’enregistrer les marques."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Préférences enregistrées."
 
@@ -2590,7 +2635,7 @@ msgstr ""
 "Pourquoi ne pas [créer un compte](%%action.register%%) et être le premier à "
 "en poster un !"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Nuage de marques"
 
@@ -2734,7 +2779,7 @@ msgstr "Désolé, code d’invitation invalide."
 msgid "Registration successful"
 msgstr "Compte créé avec succès"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Créer un compte"
@@ -2781,7 +2826,7 @@ msgid "Same as password above. Required."
 msgstr "Identique au mot de passe ci-dessus. Requis."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Courriel"
 
@@ -2927,7 +2972,7 @@ msgstr "Vous ne pouvez pas reprendre votre propre avis."
 msgid "You already repeated that notice."
 msgstr "Vous avez déjà repris cet avis."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Repris"
 
@@ -3290,234 +3335,194 @@ msgstr "Cet utilisateur est déjà réduit au silence."
 msgid "Basic settings for this StatusNet site."
 msgstr "Paramètres basiques pour ce site StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Le nom du site ne peut pas être vide."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Vous devez avoir une adresse de courriel de contact valide."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Langue « %s » inconnue"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "URL de rapport d'instantanés invalide."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Valeur de lancement d'instantanés invalide."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "La fréquence des instantanés doit être un nombre."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Vous devez définir un serveur SSL quand vous activez SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Serveur SSL invalide. La longueur maximale est de 255 caractères."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "La limite minimale de texte est de 140 caractères."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "La limite de doublon doit être d'une seconde ou plus."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Général"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Nom du site"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "Le nom de votre site, comme « Microblog de votre compagnie »"
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Apporté par"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr "Texte utilisé pour le lien de crédits au bas de chaque page"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "Apporté par URL"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr "URL utilisée pour le lien de crédits au bas de chaque page"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Adresse de courriel de contact de votre site"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Local"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Zone horaire par défaut"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Zone horaire par défaut pour ce site ; généralement UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Langue du site par défaut"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Serveur"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Nom d'hôte du serveur du site."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "Jolies URL"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Utiliser des jolies URL (plus lisibles et mémorable) ?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Accès"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Privé"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "Interdire aux utilisateurs anonymes (non connectés) de voir le site ?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Sur invitation uniquement"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Rendre l'inscription sur invitation seulement."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Fermé"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Désactiver les nouvelles inscriptions."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Instantanés"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "Au hasard lors des requêtes web"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "Dans une tâche programée"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Jamais"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Instantanés de données"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "Quand envoyer des données statistiques aux serveurs status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Fréquence"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Les instantanés seront envoyés une fois tous les N requêtes"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "URL de rapport"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Les instantanés seront envoyés à cette URL"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Quelquefois"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Toujours"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Utiliser SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Quand utiliser SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "Serveur SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Serveur vers lequel rediriger les requêtes SSL"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Limites"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Limite de texte"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Nombre maximal de caractères pour les avis."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Limite de doublons"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Combien de temps (en secondes) les utilisateurs doivent attendre pour poster "
 "la même chose de nouveau."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Sauvegarder les paramètres du site"
 
@@ -4129,16 +4134,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Il vous est interdit de poster des avis sur ce site."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problème lors de l’enregistrement de l’avis."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Erreur de base de donnée en insérant la réponse :%s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
@@ -4193,128 +4198,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Page sans nom"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Navigation primaire du site"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Accueil"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Profil personnel et flux des amis"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Compte"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Modifier votre courriel, avatar, mot de passe, profil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Connecter"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Se connecter aux services"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Modifier la configuration du site"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Inviter"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Inviter des amis et collègues à vous rejoindre dans %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Fermeture de session"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Fermer la session"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Créer un compte"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Ouvrir une session"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Aide"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "À l’aide !"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Rechercher"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Rechercher des personnes ou du texte"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Notice du site"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Vues locales"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Avis de la page"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Navigation secondaire du site"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "À propos"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "CGU"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Confidentialité"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Source"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contact"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Insigne"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Licence du logiciel StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4323,12 +4328,12 @@ msgstr ""
 "**%%site.name%%** est un service de microblogging qui vous est proposé par  "
 "[%%site.broughtby%%](%%site.broughtbyurl%%)."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** est un service de micro-blogging."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4339,31 +4344,31 @@ msgstr ""
 "version %s, disponible sous la licence [GNU Affero General Public License] "
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Licence du contenu du site"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Tous "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licence."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Pagination"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Après"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Avant"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Un problème est survenu avec votre jeton de session."
 
@@ -4415,6 +4420,16 @@ msgstr "Avis sur lesquels cette pièce jointe apparaît."
 msgid "Tags for this attachment"
 msgstr "Marques de cette pièce jointe"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Modification du mot de passe"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Modification du mot de passe"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Résultats de la commande"
@@ -5175,12 +5190,12 @@ msgstr ""
 "Cordialement,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s) vous a envoyé un avis"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5218,7 +5233,7 @@ msgstr ""
 "pour démarrer des conversations avec d’autres utilisateurs. Ceux-ci peuvent "
 "vous envoyer des messages destinés à vous seul(e)."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "de"
 
@@ -5286,72 +5301,75 @@ msgstr "Envoyer un message direct"
 msgid "To"
 msgstr "À"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Caractères restants"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Envoyer un avis"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Quoi de neuf, %s ?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Attacher"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Attacher un fichier"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Partager votre localisation"
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u° %2$u' %3$u\" %4$s %5$u° %6$u' %7$u\" %8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "S"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "E"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "O"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "chez"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "dans le contexte"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Repris par"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Répondre à cet avis"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Répondre"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Avis supprimé."
+msgstr "Avis repris"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5478,13 +5496,13 @@ msgstr "En vedette"
 msgid "Popular"
 msgstr "Populaires"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
-msgstr "Reprendre cet avis"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Reprendre cet avis ?"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr "Reprendre"
+msgid "Repeat this notice"
+msgstr "Reprendre cet avis"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5655,47 +5673,47 @@ msgstr "Message"
 msgid "Moderate"
 msgstr "Modérer"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "il y a quelques secondes"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "il y a 1 minute"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "il y a %d minutes"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "il y a 1 heure"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "il y a %d heures"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "il y a 1 jour"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "il y a %d jours"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "il y a 1 mois"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "il y a %d mois"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "il y a environ 1 an"
 
index 1b54c763f6f8b4c29af60eaf75c6fdd558b5bb92..00e8c6b8963655c7329bfb49ed1ab735a8a88247 100644 (file)
@@ -8,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:17+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:28+0000\n"
 "Language-Team: Irish\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ga\n"
 "X-Message-Group: out-statusnet\n"
@@ -195,11 +195,11 @@ msgstr "Non se puido actualizar o usuario."
 msgid "You cannot block yourself!"
 msgstr "Non se puido actualizar o usuario."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Bloqueo de usuario fallido."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Desbloqueo de usuario fallido."
 
@@ -320,31 +320,31 @@ msgid "Could not find target user."
 msgstr "Non se puido atopar ningún estado"
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 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."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Non é un alcume válido."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "A páxina persoal semella que non é unha URL válida."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "O nome completo é demasiado longo (max 255 car)."
@@ -355,7 +355,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "O teu Bio é demasiado longo (max 140 car.)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "A localización é demasiado longa (max 255 car.)."
@@ -475,7 +475,7 @@ msgstr ""
 msgid "Not found"
 msgstr "Non atopado"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -607,7 +607,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 #, fuzzy
 msgid "Delete"
 msgstr "eliminar"
@@ -621,13 +621,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -695,6 +695,7 @@ msgstr "Bloquear usuario"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Si"
 
@@ -703,7 +704,7 @@ msgstr "Si"
 msgid "Block this user"
 msgstr "Bloquear usuario"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Erro ao gardar información de bloqueo."
 
@@ -780,7 +781,7 @@ msgstr "Esa dirección xa foi confirmada."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Non se puido actualizar o usuario."
@@ -845,7 +846,7 @@ msgstr "Estas seguro que queres eliminar este chío?"
 msgid "Do not delete this notice"
 msgstr "Non se pode eliminar este chíos."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 #, fuzzy
 msgid "Delete this notice"
 msgstr "Eliminar chío"
@@ -994,8 +995,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1172,7 +1173,7 @@ msgstr "Non se inseriu unha dirección de correo"
 msgid "Cannot normalize that email address"
 msgstr "Esa dirección de correo non se pode normalizar "
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Non é unha dirección de correo válida"
 
@@ -1301,7 +1302,7 @@ msgstr "Usuarios destacados"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1511,7 +1512,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1604,7 +1605,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "O usuario bloqueoute."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Acounteceu un erro borrando o bloqueo."
 
@@ -1788,7 +1789,7 @@ msgstr "Mensaxe persoal"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Opcionalmente engadir unha mensaxe persoal á invitación."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Enviar"
 
@@ -1915,7 +1916,7 @@ msgstr "Usuario ou contrasinal incorrectos."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Non está autorizado."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Inicio de sesión"
@@ -2030,7 +2031,7 @@ msgstr "Non hai mensaxes de texto!"
 msgid "Direct message to %s sent"
 msgstr "Mensaxe directo a %s enviado"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Erro de Ajax"
 
@@ -2038,7 +2039,7 @@ msgstr "Erro de Ajax"
 msgid "New notice"
 msgstr "Novo chío"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Chío publicado"
 
@@ -2269,83 +2270,122 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Invitar"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Novo chío"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Avatar"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Configuracións de Twitter"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Avatar actualizado."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Avatar actualizado."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Recuperar"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Chíos"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Novo chío"
 
@@ -2442,73 +2482,82 @@ msgstr "Localización"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "¿Onde estas, coma \"Cidade, Provincia, País\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Tags"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Etiquetas para o teu usuario (letras, números, -, ., e _), separados por "
 "coma ou espazo"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Linguaxe"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Linguaxe preferida"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Fuso Horario"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "En que fuso horario estas normalmente?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Suscribirse automáticamente a calquera que se suscriba a min (o mellor para "
 "non humáns)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "O teu Bio é demasiado longo (max 140 car.)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Fuso Horario non seleccionado"
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "A Linguaxe é demasiado longa (max 50 car.)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Etiqueta inválida: '%s'"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Non se puido actualizar o usuario para autosuscrición."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Non se puideron gardar as etiquetas."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Non se puido gardar o perfil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Non se puideron gardar as etiquetas."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Configuracións gardadas."
 
@@ -2613,7 +2662,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2752,7 +2801,7 @@ msgstr "Acounteceu un erro co código de confirmación."
 msgid "Registration successful"
 msgstr "Xa estas rexistrado!!"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Rexistrar"
@@ -2802,7 +2851,7 @@ msgid "Same as password above. Required."
 msgstr "A mesma contrasinal que arriba. Requerido."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Correo Electrónico"
 
@@ -2953,7 +3002,7 @@ msgstr "Non podes rexistrarte se non estas de acordo coa licenza."
 msgid "You already repeated that notice."
 msgstr "Xa bloqueaches a este usuario."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Crear"
@@ -3305,245 +3354,202 @@ msgstr "O usuario bloqueoute."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Non é unha dirección de correo válida"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Novo chío"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Nova dirección de email para posterar en %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Localización"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Linguaxe preferida"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Recuperar"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Aceptar"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Privacidade"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Invitar"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Bloquear"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Recuperar"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Chíos"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Configuracións de Twitter"
@@ -4157,16 +4163,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Tes restrinxido o envio de chíos neste sitio."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Aconteceu un erro ó gardar o chío."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Erro ó inserir a contestación na BD: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4225,139 +4231,139 @@ msgstr "%s (%s)"
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Persoal"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "Sobre"
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Change your email, avatar, password, profile"
 msgstr "Cambiar contrasinal"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Conectar"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Non se pode redireccionar ao servidor: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Navegación de subscricións"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Invitar"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, fuzzy, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 "Emprega este formulario para invitar ós teus amigos e colegas a empregar "
 "este servizo."
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Sair"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "Crear nova conta"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Axuda"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "Axuda"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Buscar"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "Novo chío"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "Novo chío"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Navegación de subscricións"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Sobre"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Preguntas frecuentes"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacidade"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Fonte"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contacto"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4366,12 +4372,12 @@ msgstr ""
 "**%%site.name%%** é un servizo de microbloguexo que che proporciona [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** é un servizo de microbloguexo."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4382,35 +4388,35 @@ msgstr ""
 "%s, dispoñible baixo licenza [GNU Affero General Public License](http://www."
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Atopar no contido dos chíos"
 
-#: lib/action.php:799
+#: lib/action.php:800
 #, fuzzy
 msgid "All "
 msgstr "Todos"
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 #, fuzzy
 msgid "After"
 msgstr "« Despois"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "Antes »"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 #, fuzzy
 msgid "There was a problem with your session token."
 msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
@@ -4471,6 +4477,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Contrasinal gardada."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Contrasinal gardada."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Resultados do comando"
@@ -5227,12 +5243,12 @@ msgstr ""
 "Fielmente teu,\n"
 "%5$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5257,7 +5273,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr " dende "
@@ -5323,76 +5339,80 @@ msgstr "Eliminar chío"
 msgid "To"
 msgstr "A"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6 ou máis caracteres"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "Dar un toque"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "¿Que pasa, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "No"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Sen contido!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Crear"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 #, fuzzy
 msgid "Reply to this notice"
 msgstr "Non se pode eliminar este chíos."
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 #, fuzzy
 msgid "Reply"
 msgstr "contestar"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Chío publicado"
@@ -5532,15 +5552,15 @@ msgstr "Destacado"
 msgid "Popular"
 msgstr "Popular"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Non se pode eliminar este chíos."
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Restaurar"
+msgid "Repeat this notice"
+msgstr "Non se pode eliminar este chíos."
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5729,47 +5749,47 @@ msgstr "Nova mensaxe"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "fai uns segundos"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "fai un minuto"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "fai %d minutos"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "fai unha hora"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "fai %d horas"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "fai un día"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "fai %d días"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "fai un mes"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "fai %d meses"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "fai un ano"
 
index 38af1633c6d50e3b383d1e2e31a2665222e25f6a..97c2dc823b754744e7ed9092d2283276155d435e 100644 (file)
@@ -7,12 +7,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:20+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:31+0000\n"
 "Language-Team: Hebrew\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: he\n"
 "X-Message-Group: out-statusnet\n"
@@ -192,11 +192,11 @@ msgstr "עידכון המשתמש נכשל."
 msgid "You cannot block yourself!"
 msgstr "עידכון המשתמש נכשל."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -311,31 +311,31 @@ msgid "Could not find target user."
 msgstr "עידכון המשתמש נכשל."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "כינוי יכול להכיל רק אותיות אנגליות קטנות ומספרים, וללא רווחים."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "כינוי זה כבר תפוס. נסה כינוי אחר."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "שם משתמש לא חוקי."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "לאתר הבית יש כתובת לא חוקית."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "השם המלא ארוך מידי (מותרות 255 אותיות בלבד)"
@@ -346,7 +346,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "הביוגרפיה ארוכה מידי (לכל היותר 140 אותיות)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "שם המיקום ארוך מידי (מותר עד 255 אותיות)."
@@ -467,7 +467,7 @@ msgstr "זה ארוך מידי. אורך מירבי להודעה הוא 140 או
 msgid "Not found"
 msgstr "לא נמצא"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -600,7 +600,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 #, fuzzy
 msgid "Delete"
 msgstr "מחק"
@@ -614,13 +614,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -686,6 +686,7 @@ msgstr "אין משתמש כזה."
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "כן"
 
@@ -694,7 +695,7 @@ msgstr "כן"
 msgid "Block this user"
 msgstr "אין משתמש כזה."
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -770,7 +771,7 @@ msgstr "כתובת זו כבר אושרה."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "עידכון המשתמש נכשל."
@@ -832,7 +833,7 @@ msgstr ""
 msgid "Do not delete this notice"
 msgstr "אין הודעה כזו."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr ""
 
@@ -979,8 +980,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1152,7 +1153,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1278,7 +1279,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1487,7 +1488,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1580,7 +1581,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "למשתמש אין פרופיל."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "שגיאה בשמירת המשתמש."
@@ -1759,7 +1760,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "שלח"
 
@@ -1859,7 +1860,7 @@ msgstr "שם משתמש או סיסמה לא נכונים."
 msgid "Error setting user. You are probably not authorized."
 msgstr "לא מורשה."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "היכנס"
@@ -1969,7 +1970,7 @@ msgstr "הודעה חדשה"
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1977,7 +1978,7 @@ msgstr ""
 msgid "New notice"
 msgstr "הודעה חדשה"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "הודעות"
@@ -2208,82 +2209,121 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "הודעה חדשה"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "תמונה"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "הגדרות"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "התמונה עודכנה."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "התמונה עודכנה."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "סמס"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "שיחזור"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "הודעות"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "הודעה חדשה"
 
@@ -2377,70 +2417,79 @@ msgstr "מיקום"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "מיקומך, למשל \"עיר, מדינה או מחוז, ארץ\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "שפה"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "הביוגרפיה ארוכה מידי (לכל היותר 140 אותיות)"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "כתובת אתר הבית '%s' אינה חוקית"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "שמירת הפרופיל נכשלה."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "שמירת הפרופיל נכשלה."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "שמירת הפרופיל נכשלה."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "ההגדרות נשמרו."
 
@@ -2537,7 +2586,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2674,7 +2723,7 @@ msgstr "שגיאה באישור הקוד."
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "הירשם"
@@ -2718,7 +2767,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr ""
 
@@ -2847,7 +2896,7 @@ msgstr "לא ניתן להירשם ללא הסכמה לרשיון"
 msgid "You already repeated that notice."
 msgstr "כבר נכנסת למערכת!"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "צור"
@@ -3180,241 +3229,198 @@ msgstr "למשתמש אין פרופיל."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr ""
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "הודעה חדשה"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr ""
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "מיקום"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "שיחזור"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "קבל"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "פרטיות"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "אין משתמש כזה."
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "שיחזור"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "סמס"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "הודעות"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "הגדרות"
@@ -4013,16 +4019,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "בעיה בשמירת ההודעה."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "שגיאת מסד נתונים בהכנסת התגובה: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4081,136 +4087,136 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "בית"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "אודות"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "התחבר"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "נכשלה ההפניה לשרת: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "הרשמות"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "צא"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "צור חשבון חדש"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "עזרה"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "עזרה"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "חיפוש"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "הודעה חדשה"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "הודעה חדשה"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "הרשמות"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "אודות"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "רשימת שאלות נפוצות"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "פרטיות"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "מקור"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "צור קשר"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4219,12 +4225,12 @@ msgstr ""
 "**%%site.name%%** הוא שרות ביקרובלוג הניתן על ידי [%%site.broughtby%%](%%"
 "site.broughtbyurl%%)."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** הוא שרות ביקרובלוג."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4235,34 +4241,34 @@ msgstr ""
 "s, המופצת תחת רשיון [GNU Affero General Public License](http://www.fsf.org/"
 "licensing/licenses/agpl-3.0.html)"
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "הודעה חדשה"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 #, fuzzy
 msgid "After"
 msgstr "<< אחרי"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "לפני >>"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4317,6 +4323,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "הסיסמה נשמרה."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "הסיסמה נשמרה."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4972,12 +4988,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5002,7 +5018,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr ""
 
@@ -5067,75 +5083,79 @@ msgstr ""
 msgid "To"
 msgstr "אל"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "לפחות 6 אותיות"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "הודעה חדשה"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "מה המצב %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "לא"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "אין תוכן!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "צור"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 #, fuzzy
 msgid "Reply"
 msgstr "הגב"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "הודעות"
@@ -5270,15 +5290,15 @@ msgstr ""
 msgid "Popular"
 msgstr "אנשים"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "אין הודעה כזו."
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "×\90×\99פ×\95ס"
+msgid "Repeat this notice"
+msgstr "×\90×\99×\9f ×\94×\95×\93×¢×\94 ×\9b×\96×\95."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5463,47 +5483,47 @@ msgstr "הודעה חדשה"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "לפני מספר שניות"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "לפני כדקה"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "לפני כ-%d דקות"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "לפני כשעה"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "לפני כ-%d שעות"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "לפני כיום"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "לפני כ-%d ימים"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "לפני כחודש"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "לפני כ-%d חודשים"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "לפני כשנה"
 
index a59b9bb9210c7ea4452ca5db71614ba3eaf315dd..e12652087c57a259da8fd2e4533adccd0d03b791 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:23+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:35+0000\n"
 "Language-Team: Dutch\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: hsb\n"
 "X-Message-Group: out-statusnet\n"
@@ -188,11 +188,11 @@ msgstr "Design njeda so aktualizować."
 msgid "You cannot block yourself!"
 msgstr "Njemóžeš so samoho blokować."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -304,31 +304,31 @@ msgid "Could not find target user."
 msgstr ""
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Přimjeno so hižo wužiwa. Spytaj druhe."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Žane płaćiwe přimjeno."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Startowa strona njeje płaćiwy URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Dospołne mjeno je předołho (maks. 255 znamješkow)."
@@ -339,7 +339,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Wopisanje je předołho (maks. %d znamješkow)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Městno je předołho (maks. 255 znamješkow)."
@@ -454,7 +454,7 @@ msgstr "To je předołho. Maksimalna wulkosć zdźělenki je %d znamješkow."
 msgid "Not found"
 msgstr "Njenamakany"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -584,7 +584,7 @@ msgid "Preview"
 msgstr "Přehlad"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Zničić"
 
@@ -597,13 +597,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -665,6 +665,7 @@ msgstr "Tutoho wužiwarja njeblokować"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Haj"
 
@@ -672,7 +673,7 @@ msgstr "Haj"
 msgid "Block this user"
 msgstr "Tutoho wužiwarja blokować"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -744,7 +745,7 @@ msgstr "Tuta adresa bu hižo wobkrućena."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr ""
@@ -804,7 +805,7 @@ msgstr "Chceš woprawdźe tutu zdźělenku wušmórnyć?"
 msgid "Do not delete this notice"
 msgstr "Tutu zdźělenku njewušmórnyć"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Tutu zdźělenku wušmórnyć"
 
@@ -939,8 +940,8 @@ msgstr "Na standard wróćo stajić"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1108,7 +1109,7 @@ msgstr "Žana e-mejlowa adresa."
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Njeje płaćiwa e-mejlowa adresa"
 
@@ -1233,7 +1234,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1423,7 +1424,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr "Lisćina wužiwarjow w tutej skupinje."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Administrator"
 
@@ -1510,7 +1511,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr ""
 
@@ -1681,7 +1682,7 @@ msgstr "Wosobinska powěsć"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Wosobinsku powěsć po dobrozdaću přeprošenju přidać."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Pósłać"
 
@@ -1777,7 +1778,7 @@ msgstr "Wopačne wužiwarske mjeno abo hesło."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Zmylk při nastajenju wužiwarja. Snano njejsy awtorizowany."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Přizjewić"
@@ -1884,7 +1885,7 @@ msgstr "Powěsć pósłana"
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Zmylk Ajax"
 
@@ -1892,7 +1893,7 @@ msgstr "Zmylk Ajax"
 msgid "New notice"
 msgstr "Nowa zdźělenka"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Zdźělenka wotpósłana"
 
@@ -2114,76 +2115,112 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Sydło"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Šćežka"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Sydłowa šćežka"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Šćežka k lokalam"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Zapisowa šćežka k lokalam"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Šat"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Šatowy serwer"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Šatowa šćežka"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Šatowy zapis"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Awatary"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Awatarowy serwer"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Awatarowa šćežka"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Awatarowy zapis"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Pozadki"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Pozadkowy serwer"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Pozadkowa šćežka"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Pozadkowy zapis"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Ženje"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Druhdy"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Přeco"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "SSL wužiwać"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-serwer"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Šćežki składować"
 
@@ -2273,69 +2310,77 @@ msgstr "Městno"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Rěč"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Preferowana rěč"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Časowe pasmo"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Biografija je předołha (maks. %d znamješkow)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Časowe pasmo njeje wubrane."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Mjeno rěče je předołhe (maks. 50 znamješkow)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr ""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Nastajenja městna njedachu so składować."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr ""
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr ""
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Nastajenja składowane."
 
@@ -2428,7 +2473,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2565,7 +2610,7 @@ msgstr "Wodaj, njepłaćiwy přeprošenski kod."
 msgid "Registration successful"
 msgstr "Registrowanje wuspěšne"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registrować"
@@ -2609,7 +2654,7 @@ msgid "Same as password above. Required."
 msgstr "Jenake kaž hesło horjeka. Trěbne."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-mejl"
 
@@ -2729,7 +2774,7 @@ msgstr "Njemóžeš swójsku zdźělenku wospjetować."
 msgid "You already repeated that notice."
 msgstr "Sy tutu zdźělenku hižo wospjetował."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Wospjetowany"
 
@@ -3052,232 +3097,192 @@ msgstr ""
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr ""
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Njeznata rěč \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Powšitkowny"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Sydłowe mjeno"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr ""
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Lokalny"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Standardne časowe pasmo"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Standardna sydłowa rěč"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Serwer"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Přistup"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Priwatny"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Jenož přeprosyć"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Začinjeny"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Nowe registrowanja znjemóžnić."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Ženje"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Frekwenca"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Druhdy"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Přeco"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "SSL wužiwać"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "SSL-serwer"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Limity"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Tekstowy limit"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Maksimalna ličba znamješkow za zdźělenki."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Sydłowe nastajenja składować"
 
@@ -3839,16 +3844,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr ""
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -3903,140 +3908,140 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Strona bjez titula"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Konto"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Zwjazać"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr ""
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Přeprosyć"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Konto załožić"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Pomoc"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Pomhaj!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Pytać"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Za ludźimi abo tekstom pytać"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr ""
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr ""
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Wo"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Huste prašenja"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Priwatnosć"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Žórło"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4044,31 +4049,31 @@ msgid ""
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr ""
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr ""
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr ""
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4120,6 +4125,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Hesło změnjene"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Hesło změnjene"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4758,12 +4773,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4788,7 +4803,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "wot"
 
@@ -4852,72 +4867,75 @@ msgstr "Direktnu zdźělenku pósłać"
 msgid "To"
 msgstr "Komu"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "K dispoziciji stejace znamješka"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Zdźělenku pósłać"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr ""
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Připowěsnyć"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Dataju připowěsnyć"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "S"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "J"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "W"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "Z"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr ""
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Wospjetowany wot"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Na tutu zdźělenku wotmołwić"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Wotmołwić"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Zdźělenka zničena."
+msgstr "Zdźělenka wospjetowana"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5044,13 +5062,13 @@ msgstr ""
 msgid "Popular"
 msgstr "Woblubowany"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
-msgstr "Tutu zdźělenku wospjetować"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Tutu zdźělenku wospjetować?"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr "Wospjetować"
+msgid "Repeat this notice"
+msgstr "Tutu zdźělenku wospjetować"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5221,47 +5239,47 @@ msgstr "Powěsć"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "před něšto sekundami"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "před něhdźe jednej mjeńšinu"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "před %d mjeńšinami"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "před něhdźe jednej hodźinu"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "před něhdźe %d hodźinami"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "před něhdźe jednym dnjom"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "před něhdźe %d dnjemi"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "před něhdźe jednym měsacom"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "před něhdźe %d měsacami"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "před něhdźe jednym lětom"
 
index d7a974c93fbcbdb5beab76d86fc1d3f3d36c2101..adb2fb764dda554eef16517634dc0ae3f68d462b 100644 (file)
@@ -8,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:25+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:39+0000\n"
 "Language-Team: Interlingua\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: out-statusnet\n"
@@ -198,11 +198,11 @@ msgstr "Non poteva actualisar le apparentia."
 msgid "You cannot block yourself!"
 msgstr "Tu non pote blocar te mesme!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Le blocada del usator ha fallite."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Le disblocada del usator ha fallite."
 
@@ -314,31 +314,31 @@ msgid "Could not find target user."
 msgstr "Non poteva trovar le usator de destination."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Pseudonymo ja in uso. Proba un altere."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Non un pseudonymo valide."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Le pagina personal non es un URL valide."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Le nomine complete es troppo longe (max. 255 characteres)."
@@ -349,7 +349,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Description es troppo longe (max %d charachteres)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Loco es troppo longe (max. 255 characteres)."
@@ -465,7 +465,7 @@ msgstr ""
 msgid "Not found"
 msgstr "Non trovate"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -597,7 +597,7 @@ msgid "Preview"
 msgstr "Previsualisation"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Deler"
 
@@ -610,13 +610,13 @@ msgid "Crop"
 msgstr "Taliar"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -681,6 +681,7 @@ msgstr "Non blocar iste usator"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Si"
 
@@ -688,7 +689,7 @@ msgstr "Si"
 msgid "Block this user"
 msgstr "Blocar iste usator"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Falleva de salveguardar le information del blocada."
 
@@ -760,7 +761,7 @@ msgstr "Iste adresse ha ja essite confirmate."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Non poteva actualisar usator."
@@ -822,7 +823,7 @@ msgstr "Es tu secur de voler deler iste nota?"
 msgid "Do not delete this notice"
 msgstr "Non deler iste nota"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Deler iste nota"
 
@@ -960,8 +961,8 @@ msgstr "Revenir al predefinitiones"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1132,7 +1133,7 @@ msgstr "Nulle adresse de e-mail."
 msgid "Cannot normalize that email address"
 msgstr "Non pote normalisar iste adresse de e-mail"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Adresse de e-mail invalide"
 
@@ -1265,7 +1266,7 @@ msgstr "Usatores in evidentia, pagina %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr "Un selection de usatores eminente in %s"
 
 #: actions/file.php:34
@@ -1460,7 +1461,7 @@ msgstr "Membros del gruppo %s, pagina %d"
 msgid "A list of the users in this group."
 msgstr "Un lista de usatores in iste gruppo."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Administrator"
 
@@ -1558,7 +1559,7 @@ msgstr "Solmente un administrator pote disblocar membros de un gruppo."
 msgid "User is not blocked from group."
 msgstr "Le usator non es blocate del gruppo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Error de remover le blocada."
 
@@ -1745,7 +1746,7 @@ msgstr "Message personal"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Si tu vole, adde un message personal al invitation."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Inviar"
 
@@ -1868,7 +1869,7 @@ msgid "Error setting user. You are probably not authorized."
 msgstr ""
 "Error de acceder al conto de usator. Tu probabilemente non es autorisate."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Aperir session"
@@ -1983,7 +1984,7 @@ msgstr "Message inviate"
 msgid "Direct message to %s sent"
 msgstr "Message directe a %s inviate"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Error de Ajax"
 
@@ -1991,7 +1992,7 @@ msgstr "Error de Ajax"
 msgid "New notice"
 msgstr "Nove nota"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Nota publicate"
 
@@ -2223,76 +2224,112 @@ msgstr "Directorio de fundo non scriptibile: %s"
 msgid "Locales directory not readable: %s"
 msgstr "Directorio de localitates non scriptibile: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Servitor SSL invalide. Le longitude maxime es 255 characteres."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Sito"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Cammino"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Cammino del sito"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Cammino al localitates"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Cammino al directorio de localitates"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Thema"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Servitor de themas"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Cammino al themas"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Directorio del themas"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Avatares"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Servitor de avatares"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Cammino al avatares"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Directorio del avatares"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Fundos"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Servitor de fundos"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Cammino al fundos"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Directorio al fundos"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Nunquam"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Alcun vices"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Sempre"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Usar SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Quando usar SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Servitor SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Servitor verso le qual diriger le requestas SSL"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Salveguardar camminos"
 
@@ -2387,72 +2424,80 @@ msgstr "Loco"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Ubi tu es, como \"Citate, Stato (o Region), Pais\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Divulgar mi loco actual quando io publica notas"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Etiquettas"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Etiquettas pro te (litteras, numeros, -, ., e _), separate per commas o "
 "spatios"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Lingua"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Lingua preferite"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Fuso horari"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "In que fuso horari es tu normalmente?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Subscriber me automaticamente a qui se subscribe a me (utile pro non-humanos)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Bio es troppo longe (max %d chars)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Fuso horari non seligite."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Lingua es troppo longe (max 50 chars)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Etiquetta invalide: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Non poteva actualisar usator pro autosubscription."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Non poteva salveguardar le preferentias de loco."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Non poteva salveguardar profilo."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Non poteva salveguardar etiquettas."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Preferentias confirmate."
 
@@ -2558,7 +2603,7 @@ msgstr ""
 "Proque non [registrar un conto](%%action.register%%) e devenir le prime a "
 "publicar un?"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Etiquettario"
 
@@ -2698,7 +2743,7 @@ msgstr "Pardono, le codice de invitation es invalide."
 msgid "Registration successful"
 msgstr "Registration succedite"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Crear un conto"
@@ -2745,7 +2790,7 @@ msgid "Same as password above. Required."
 msgstr "Identic al contrasigno hic supra. Requisite."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-mail"
 
@@ -2890,7 +2935,7 @@ msgstr "Tu non pote repeter tu proprie nota."
 msgid "You already repeated that notice."
 msgstr "Tu ha ja repetite iste nota."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Repetite"
 
@@ -3227,333 +3272,302 @@ msgid ""
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
+"**%s** ha un conto in %%%%site.name%%%%, un servicio de [micro-blogging]"
+"(http://en.wikipedia.org/wiki/Microblog) a base del software libere "
+"[StatusNet](http://status.net/). "
 
 #: actions/showstream.php:313
 #, php-format
 msgid "Repeat of %s"
-msgstr ""
+msgstr "Repetition de %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
-msgstr ""
+msgstr "Tu non pote silentiar usatores in iste sito."
 
 #: actions/silence.php:72
 msgid "User is already silenced."
-msgstr ""
+msgstr "Usator es ja silentiate."
 
 #: actions/siteadminpanel.php:69
 msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "Configurationes de base pro iste sito de StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "Le longitude del nomine del sito debe esser plus que zero."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
-msgstr ""
+msgstr "Tu debe haber un valide adresse de e-mail pro contacto."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "Lingua \"%s\" incognite"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
-msgstr ""
+msgstr "Le URL pro reportar instantaneos es invalide."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
-msgstr ""
+msgstr "Valor de execution de instantaneo invalide."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
+msgstr "Le frequentia de instantaneos debe esser un numero."
 
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
-msgstr ""
+msgstr "Le limite minime del texto es 140 characteres."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
-msgstr ""
+msgstr "Le limite de duplicatos debe esser 1 o plus secundas."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
-msgstr ""
+msgstr "General"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
-msgstr ""
+msgstr "Nomine del sito"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
-msgstr ""
+msgstr "Le nomine de tu sito, como \"Le microblog de TuCompania\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
-msgstr ""
+msgstr "Realisate per"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
-msgstr ""
+msgstr "Le texto usate pro le ligamine al creditos in le pede de cata pagina"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
-msgstr ""
+msgstr "URL pro \"Realisate per\""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
-msgstr ""
+msgstr "URL usate pro le ligamine al creditos in le pede de cata pagina"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
-msgstr ""
+msgstr "Le adresse de e-mail de contacto pro tu sito"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
-msgstr ""
+msgstr "Local"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
-msgstr ""
+msgstr "Fuso horari predefinite"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "Fuso horari predefinite pro le sito; normalmente UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
-msgstr ""
+msgstr "Lingua predefinite del sito"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
-msgstr ""
+msgstr "URLs"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
-msgstr ""
+msgstr "Servitor"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
-msgstr ""
+msgstr "Nomine de host del servitor del sito."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
-msgstr ""
+msgstr "URLs de luxo"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
-msgstr ""
+msgstr "Usar URLs de luxo (plus legibile e memorabile)?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
-msgstr ""
+msgstr "Accesso"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
-msgstr ""
+msgstr "Private"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr ""
+msgstr "Prohiber al usatores anonyme (sin session aperte) de vider le sito?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
-msgstr ""
+msgstr "Solmente per invitation"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
-msgstr ""
+msgstr "Permitter le registration solmente al invitatos."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
-msgstr ""
+msgstr "Claudite"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
-msgstr ""
+msgstr "Disactivar le creation de nove contos."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
-msgstr ""
+msgstr "Instantaneos"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
-msgstr ""
+msgstr "Aleatorimente durante un accesso web"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
-msgstr ""
+msgstr "In un processo planificate"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr ""
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
-msgstr ""
+msgstr "Instantaneos de datos"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
-msgstr ""
+msgstr "Quando inviar datos statistic al servitores de status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
-msgstr ""
+msgstr "Frequentia"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+msgstr "Un instantaneo essera inviate a cata N accessos web"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
-msgstr ""
+msgstr "URL pro reporto"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
-msgstr ""
-
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr ""
+msgstr "Le instantaneos essera inviate a iste URL"
 
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
-msgstr ""
+msgstr "Limites"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
-msgstr ""
+msgstr "Limite de texto"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
-msgstr ""
+msgstr "Numero maxime de characteres pro notas."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
-msgstr ""
+msgstr "Limite de duplicatos"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
+"Quante tempore (in secundas) le usatores debe attender ante de poter "
+"publicar le mesme cosa de novo."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
-msgstr ""
+msgstr "Salveguardar configurationes del sito"
 
 #: actions/smssettings.php:58
 msgid "SMS Settings"
-msgstr ""
+msgstr "Configuration SMS"
 
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr ""
+msgstr "Tu pote reciper messages SMS per e-mail ab %%site.name%%."
 
 #: actions/smssettings.php:91
 msgid "SMS is not available."
-msgstr ""
+msgstr "SMS non es disponibile."
 
 #: actions/smssettings.php:112
 msgid "Current confirmed SMS-enabled phone number."
-msgstr ""
+msgstr "Numero de telephono actual e confirmate con servicio SMS."
 
 #: actions/smssettings.php:123
 msgid "Awaiting confirmation on this phone number."
-msgstr ""
+msgstr "Iste numero de telephono attende confirmation."
 
 #: actions/smssettings.php:130
 msgid "Confirmation code"
-msgstr ""
+msgstr "Codice de confirmation"
 
 #: actions/smssettings.php:131
 msgid "Enter the code you received on your phone."
-msgstr ""
+msgstr "Entra le codice que tu ha recipite in tu telephono."
 
 #: actions/smssettings.php:138
 msgid "SMS Phone number"
-msgstr ""
+msgstr "Numero de telephono pro SMS"
 
 #: actions/smssettings.php:140
 msgid "Phone number, no punctuation or spaces, with area code"
-msgstr ""
+msgstr "Numero de telephono, sin punctuation o spatios, con indicativo"
 
 #: actions/smssettings.php:174
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
 msgstr ""
+"Invia me notas per SMS; io comprende que io pote incurrer exorbitante costos "
+"de mi operator."
 
 #: actions/smssettings.php:306
 msgid "No phone number."
-msgstr ""
+msgstr "Nulle numero de telephono."
 
 #: actions/smssettings.php:311
 msgid "No carrier selected."
-msgstr ""
+msgstr "Nulle operator seligite."
 
 #: actions/smssettings.php:318
 msgid "That is already your phone number."
-msgstr ""
+msgstr "Isto es ja tu numero de telephono."
 
 #: actions/smssettings.php:321
 msgid "That phone number already belongs to another user."
-msgstr ""
+msgstr "Iste numero de telephono pertine ja a un altere usator."
 
 #: actions/smssettings.php:347
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your phone "
 "for the code and instructions on how to use it."
 msgstr ""
+"Un codice de confirmation ha essite inviate al numero de telephono que tu ha "
+"addite. Vide in tu telephono le codice e le instructiones super como usar lo."
 
 #: actions/smssettings.php:374
 msgid "That is the wrong confirmation number."
-msgstr ""
+msgstr "Iste codice de confirmation es incorrecte."
 
 #: actions/smssettings.php:405
 msgid "That is not your phone number."
-msgstr ""
+msgstr "Isto non es tu numero de telephono."
 
 #: actions/smssettings.php:465
 msgid "Mobile carrier"
-msgstr ""
+msgstr "Operator de telephonia mobile"
 
 #: actions/smssettings.php:469
 msgid "Select a carrier"
-msgstr ""
+msgstr "Selige un operator"
 
 #: actions/smssettings.php:476
 #, php-format
@@ -3561,51 +3575,56 @@ msgid ""
 "Mobile carrier for your phone. If you know a carrier that accepts SMS over "
 "email but isn't listed here, send email to let us know at %s."
 msgstr ""
+"Le operator de telephonia mobile de tu telephono. Si tu cognosce un operator "
+"que accepta SMS via e-mail ma non es listate hic, invia e-mail pro informar "
+"nos a %s."
 
 #: actions/smssettings.php:498
 msgid "No code entered"
-msgstr ""
+msgstr "Nulle codice entrate"
 
 #: actions/subedit.php:70
 msgid "You are not subscribed to that profile."
-msgstr ""
+msgstr "Tu non es subscribite a iste profilo."
 
 #: actions/subedit.php:83
 msgid "Could not save subscription."
-msgstr ""
+msgstr "Non poteva salveguardar le subscription."
 
 #: actions/subscribe.php:55
 msgid "Not a local user."
-msgstr ""
+msgstr "Le usator non es local."
 
 #: actions/subscribe.php:69
 msgid "Subscribed"
-msgstr ""
+msgstr "Subscribite"
 
 #: actions/subscribers.php:50
 #, php-format
 msgid "%s subscribers"
-msgstr ""
+msgstr "Subscriptores a %s"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "Subscriptores a %s, pagina %d"
 
 #: actions/subscribers.php:63
 msgid "These are the people who listen to your notices."
-msgstr ""
+msgstr "Iste personas seque tu notas."
 
 #: actions/subscribers.php:67
 #, php-format
 msgid "These are the people who listen to %s's notices."
-msgstr ""
+msgstr "Iste personas seque le notas de %s."
 
 #: actions/subscribers.php:108
 msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
 "return the favor"
 msgstr ""
+"Tu non ha subscriptores. Tenta subscriber te a personas que tu cognosce e "
+"illes poterea retornar te le favor."
 
 #: actions/subscribers.php:110
 #, php-format
@@ -4032,16 +4051,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr ""
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4096,140 +4115,140 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr ""
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr ""
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr ""
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr ""
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr ""
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr ""
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr ""
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr ""
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr ""
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr ""
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr ""
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr ""
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4237,31 +4256,31 @@ msgid ""
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr ""
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr ""
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr ""
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4313,6 +4332,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Cambio del contrasigno"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Cambio del contrasigno"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4943,12 +4972,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4973,7 +5002,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr ""
 
@@ -5037,69 +5066,73 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr ""
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr ""
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr ""
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr ""
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Repetite per"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr ""
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Nota delite."
@@ -5229,13 +5262,14 @@ msgstr ""
 msgid "Popular"
 msgstr ""
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
+#: lib/repeatform.php:107
+#, fuzzy
+msgid "Repeat this notice?"
 msgstr "Repeter iste nota"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr ""
+msgid "Repeat this notice"
+msgstr "Repeter iste nota"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5406,47 +5440,47 @@ msgstr ""
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr ""
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr ""
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr ""
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr ""
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr ""
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr ""
 
index e8339826d21f556c0a6b6d6676d11ecfaa0edd75..3092d2e99f4d0a7f69663a4ed94036cf85814d20 100644 (file)
@@ -8,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:28+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:42+0000\n"
 "Language-Team: Icelandic\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: is\n"
 "X-Message-Group: out-statusnet\n"
@@ -194,11 +194,11 @@ msgstr "Gat ekki uppfært hóp."
 msgid "You cannot block yourself!"
 msgstr "Gat ekki uppfært notanda."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Mistókst að loka á notanda."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Mistókst að opna fyrir notanda."
 
@@ -312,31 +312,31 @@ msgid "Could not find target user."
 msgstr ""
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 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."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Stuttnefni nú þegar í notkun. Prófaðu eitthvað annað."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Ekki tækt stuttnefni."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Heimasíða er ekki gild vefslóð."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
@@ -347,7 +347,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Lýsing er of löng (í mesta lagi 140 tákn)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
@@ -467,7 +467,7 @@ msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
 msgid "Not found"
 msgstr "Fannst ekki"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -597,7 +597,7 @@ msgid "Preview"
 msgstr "Forsýn"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Eyða"
 
@@ -610,13 +610,13 @@ msgid "Crop"
 msgstr "Skera af"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -681,6 +681,7 @@ msgstr "Opna á þennan notanda"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Já"
 
@@ -688,7 +689,7 @@ msgstr "Já"
 msgid "Block this user"
 msgstr "Loka á þennan notanda"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Mistókst að vista upplýsingar um notendalokun"
 
@@ -761,7 +762,7 @@ msgstr "Þetta tölvupóstfang hefur nú þegar verið staðfest."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Gat ekki uppfært notanda."
@@ -822,7 +823,7 @@ msgstr "Ertu viss um að þú viljir eyða þessu babli?"
 msgid "Do not delete this notice"
 msgstr ""
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Eyða þessu babli"
 
@@ -966,8 +967,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1137,7 +1138,7 @@ msgstr "Ekkert tölvupóstfang."
 msgid "Cannot normalize that email address"
 msgstr "Get ekki staðlað þetta tölvupóstfang"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Ekki tækt tölvupóstfang"
 
@@ -1264,8 +1265,8 @@ msgid "Featured users, page %d"
 msgstr "Notendur í sviðsljósinu, síða %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Úrval nokkurra frábærra notenda á %s"
 
 #: actions/file.php:34
@@ -1462,7 +1463,7 @@ msgstr "Hópmeðlimir %s, síða %d"
 msgid "A list of the users in this group."
 msgstr "Listi yfir notendur í þessum hóp."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Stjórnandi"
 
@@ -1549,7 +1550,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Vill kom upp við að aflétta notendalokun."
 
@@ -1737,7 +1738,7 @@ msgstr "Persónuleg skilaboð"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Bættu persónulegum skilaboðum við boðskortið ef þú vilt."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Senda"
 
@@ -1861,7 +1862,7 @@ msgstr "Rangt notendanafn eða lykilorð."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Engin heimild."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Innskráning"
@@ -1977,7 +1978,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr "Bein skilaboð send til %s"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax villa"
 
@@ -1985,7 +1986,7 @@ msgstr "Ajax villa"
 msgid "New notice"
 msgstr "Nýtt babl"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Babl sent inn"
 
@@ -2213,82 +2214,121 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Bjóða"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Babl vefsíðunnar"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Mynd"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Stillingar fyrir mynd"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Mynd hefur verið uppfærð."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Endurheimta"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Babl"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Babl vefsíðunnar"
 
@@ -2385,73 +2425,82 @@ msgstr "Staðsetning"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Staðsetning þín, eins og \"borg, sýsla, land\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Merki"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Merki fyrir þig (bókstafir, tölustafir, -, ., og _), aðskilin með kommu eða "
 "bili"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Tungumál"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Tungumál (ákjósanlegt)"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Tímabelti"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Í hvaða tímabelti eru í rauninni?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Gerast sjálfkrafa áskrifandi að hverjum þeim sem gerist áskrifandi að þér "
 "(best fyrir ómannlega notendur)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Lýsingin er of löng (í mesta lagi 140 tákn)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Tímabelti ekki valið."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Tungumál er of langt (í mesta lagi 50 stafir)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Ógilt merki: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Gat ekki uppfært notanda í sjálfvirka áskrift."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Gat ekki vistað merki."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Gat ekki vistað persónulega síðu."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Gat ekki vistað merki."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Stillingar vistaðar."
 
@@ -2544,7 +2593,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Merkjaský"
 
@@ -2684,7 +2733,7 @@ msgstr ""
 msgid "Registration successful"
 msgstr "Nýskráning tókst"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Nýskrá"
@@ -2729,7 +2778,7 @@ msgid "Same as password above. Required."
 msgstr "Sama og lykilorðið hér fyrir ofan. Nauðsynlegt."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Tölvupóstur"
 
@@ -2879,7 +2928,7 @@ msgstr "Þú getur ekki nýskráð þig nema þú samþykkir leyfið."
 msgid "You already repeated that notice."
 msgstr "Þú hefur nú þegar lokað á þennan notanda."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Í sviðsljósinu"
@@ -3206,245 +3255,202 @@ msgstr ""
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Ekki tækt tölvupóstfang"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Babl vefsíðunnar"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Nýtt tölvupóstfang til að senda á %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Staðbundin sýn"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Tungumál (ákjósanlegt)"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "Vefslóð"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Endurheimta"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Samþykkja"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Friðhelgi"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Bjóða"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr ""
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Endurheimta"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Babl"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Stillingar fyrir mynd"
@@ -4045,16 +4051,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Vandamál komu upp við að vista babl."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Gagnagrunnsvilla við innsetningu svars: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4109,132 +4115,132 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Ónafngreind síða"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Stikl aðalsíðu"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Heim"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Persónuleg síða og vinarás"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Aðgangur"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 "Breyttu tölvupóstinum þínum, einkennismyndinni þinni, lykilorðinu þínu, "
 "persónulegu síðunni þinni"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Tengjast"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Gat ekki framsent til vefþjóns: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Stikl aðalsíðu"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Bjóða"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Bjóða vinum og vandamönnum að slást í hópinn á %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Útskráning"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Skrá þig út af síðunni"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Búa til aðgang"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Skrá þig inn á síðuna"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Hjálp"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Hjálp!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Leita"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Leita að fólki eða texta"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Babl vefsíðunnar"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Staðbundin sýn"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Babl síðunnar"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Stikl undirsíðu"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Um"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Spurt og svarað"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Friðhelgi"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Frumþula"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Tengiliður"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Hugbúnaðarleyfi StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4243,12 +4249,12 @@ msgstr ""
 "**%%site.name%%** er örbloggsþjónusta í boði [%%site.broughtby%%](%%site."
 "broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** er örbloggsþjónusta."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4259,32 +4265,32 @@ msgstr ""
 "sem er gefinn út undir [GNU Affero almenningsleyfinu](http://www.fsf.org/"
 "licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Hugbúnaðarleyfi StatusNet"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Allt "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "leyfi."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Uppröðun"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Eftir"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Áður"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Það komu upp vandamál varðandi setutókann þinn."
 
@@ -4342,6 +4348,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Lykilorðabreyting"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Lykilorðabreyting"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Niðurstöður skipunar"
@@ -4995,12 +5011,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5025,7 +5041,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr "frá"
@@ -5091,71 +5107,75 @@ msgstr "Senda bein skilaboð"
 msgid "To"
 msgstr "Til"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Leyfileg tákn"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Senda babl"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Hvað er að frétta %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "Nei"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr ""
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Í sviðsljósinu"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Svara þessu babli"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Svara"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Babl sent inn"
@@ -5288,15 +5308,15 @@ msgstr "Í sviðsljósinu"
 msgid "Popular"
 msgstr "Vinsælt"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Svara þessu babli"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Endurstilla"
+msgid "Repeat this notice"
+msgstr "Svara þessu babli"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5475,47 +5495,47 @@ msgstr "Skilaboð"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "fyrir nokkrum sekúndum"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "fyrir um einni mínútu síðan"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "fyrir um %d mínútum síðan"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "fyrir um einum klukkutíma síðan"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "fyrir um %d klukkutímum síðan"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "fyrir um einum degi síðan"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "fyrir um %d dögum síðan"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "fyrir um einum mánuði síðan"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "fyrir um %d mánuðum síðan"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "fyrir um einu ári síðan"
 
index c9dc4aa8ce0ba1c398d6c0419768fbf9045f99c6..5c025c4c0be2bc96fc72667f955b2a006ed52bd5 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:31+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:47+0000\n"
 "Language-Team: Italian\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: it\n"
 "X-Message-Group: out-statusnet\n"
@@ -199,11 +199,11 @@ msgstr "Impossibile aggiornare l'aspetto."
 msgid "You cannot block yourself!"
 msgstr "Non puoi bloccarti!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Blocco dell'utente non riuscito."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Sblocco dell'utente non riuscito."
 
@@ -315,7 +315,7 @@ msgid "Could not find target user."
 msgstr "Impossibile trovare l'utente destinazione."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -323,25 +323,25 @@ msgstr ""
 "spazi."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Soprannome già in uso. Prova con un altro."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Non è un soprannome valido."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "L'indirizzo della pagina web non è valido."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Nome troppo lungo (max 255 caratteri)."
@@ -352,7 +352,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "La descrizione è troppo lunga (max %d caratteri)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Ubicazione troppo lunga (max 255 caratteri)."
@@ -467,7 +467,7 @@ msgstr "Troppo lungo. Lunghezza massima %d caratteri."
 msgid "Not found"
 msgstr "Non trovato"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -598,7 +598,7 @@ msgid "Preview"
 msgstr "Anteprima"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Elimina"
 
@@ -611,13 +611,13 @@ msgid "Crop"
 msgstr "Ritaglia"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -683,6 +683,7 @@ msgstr "Non bloccare questo utente"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Sì"
 
@@ -690,7 +691,7 @@ msgstr "Sì"
 msgid "Block this user"
 msgstr "Blocca questo utente"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Salvataggio delle informazioni per il blocco non riuscito."
 
@@ -762,7 +763,7 @@ msgstr "Quell'indirizzo è già stato confermato."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Impossibile aggiornare l'utente."
@@ -824,7 +825,7 @@ msgstr "Vuoi eliminare questo messaggio?"
 msgid "Do not delete this notice"
 msgstr "Non eliminare il messaggio"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Elimina questo messaggio"
 
@@ -963,8 +964,8 @@ msgstr "Reimposta i valori predefiniti"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1138,7 +1139,7 @@ msgstr "Nessun indirizzo email."
 msgid "Cannot normalize that email address"
 msgstr "Impossibile normalizzare quell'indirizzo email"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Non è un indirizzo email valido"
 
@@ -1272,8 +1273,8 @@ msgstr "Utenti in evidenza, pagina %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "Una selezione dei migliori utenti su %s"
+msgid "A selection of some great users on %s"
+msgstr "Una selezione di alcuni dei migliori utenti su %s"
 
 #: actions/file.php:34
 msgid "No notice ID."
@@ -1466,7 +1467,7 @@ msgstr "Membri del gruppo %s, pagina %d"
 msgid "A list of the users in this group."
 msgstr "Un elenco degli utenti in questo gruppo."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Amministra"
 
@@ -1564,7 +1565,7 @@ msgstr "Solo gli amministratori possono sbloccare i membri del gruppo."
 msgid "User is not blocked from group."
 msgstr "L'utente non è bloccato dal gruppo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Errore nel rimuovere il blocco."
 
@@ -1750,7 +1751,7 @@ msgstr "Messaggio personale"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Puoi aggiungere un messaggio personale agli inviti."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Invia"
 
@@ -1872,7 +1873,7 @@ msgstr "Nome utente o password non corretto."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Errore nell'impostare l'utente. Forse non hai l'autorizzazione."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Accedi"
@@ -1984,7 +1985,7 @@ msgstr "Messaggio inviato"
 msgid "Direct message to %s sent"
 msgstr "Messaggio diretto a %s inviato"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Errore di Ajax"
 
@@ -1992,7 +1993,7 @@ msgstr "Errore di Ajax"
 msgid "New notice"
 msgstr "Nuovo messaggio"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Messaggio inviato"
 
@@ -2224,76 +2225,112 @@ msgstr "Directory degli sfondi non scrivibile: %s"
 msgid "Locales directory not readable: %s"
 msgstr "Directory delle localizzazioni non leggibile: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Server SSL non valido. La lunghezza massima è di 255 caratteri."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Sito"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Percorso"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Percorso del sito"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Percorso alle localizzazioni"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Percorso della directory alle localizzazioni"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Tema"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Server del tema"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Percorso del tema"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Directory del tema"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Immagini"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Server dell'immagine"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Percorso dell'immagine"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Directory dell'immagine"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Sfondi"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Server dello sfondo"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Percorso dello sfondo"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Directory dello sfondo"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Mai"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Qualche volta"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Sempre"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Usa SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Quando usare SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Server SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Server a cui dirigere le richieste SSL"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Salva percorsi"
 
@@ -2390,72 +2427,81 @@ msgstr "Ubicazione"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Dove ti trovi, tipo \"città, regione, stato\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Etichette"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Le tue etichette (lettere, numeri, -, . e _), separate da virgole o spazi"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Lingua"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Lingua preferita"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Fuso orario"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "In che fuso orario risiedi solitamente?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Abbonami automaticamente a chi si abbona ai miei messaggi (utile per i non-"
 "umani)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "La biografia è troppo lunga (max %d caratteri)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Fuso orario non selezionato"
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "La lingua è troppo lunga (max 50 caratteri)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Etichetta non valida: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Impossibile aggiornare l'utente per auto-abbonarsi."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Impossibile salvare le etichette."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Impossibile salvare il profilo."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Impossibile salvare le etichette."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Impostazioni salvate."
 
@@ -2558,7 +2604,7 @@ msgid ""
 "one!"
 msgstr "Perché non [crei un accout](%%action.register%%) e ne scrivi uno tu!"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Insieme delle etichette"
 
@@ -2699,7 +2745,7 @@ msgstr "Codice di invito non valido."
 msgid "Registration successful"
 msgstr "Registrazione riuscita"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registra"
@@ -2747,7 +2793,7 @@ msgid "Same as password above. Required."
 msgstr "Stessa password di sopra; richiesta"
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Email"
 
@@ -2891,7 +2937,7 @@ msgstr "Non puoi ripetere i tuoi stessi messaggi."
 msgid "You already repeated that notice."
 msgstr "Hai già ripetuto quel messaggio."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Ripetuti"
 
@@ -3248,236 +3294,196 @@ msgstr "L'utente è già stato zittito."
 msgid "Basic settings for this StatusNet site."
 msgstr "Impostazioni di base per questo sito StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Il nome del sito non deve avere lunghezza parti a zero."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Devi avere un'email di contatto valida."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Lingua \"%s\" sconosciuta"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "URL di segnalazione snapshot non valido."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Valore di esecuzione dello snapshot non valido."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "La frequenza degli snapshot deve essere un numero."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Devi impostare un server SSL quando viene attivato SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Server SSL non valido. La lunghezza massima è di 255 caratteri."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "Il limite minimo del testo è di 140 caratteri."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "Il limite per i duplicati deve essere di 1 o più secondi."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Generale"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Nome del sito"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "Il nome del tuo sito, topo \"Acme Microblog\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Offerto da"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr "Testo usato per i crediti nel piè di pagina di ogni pagina"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "URL per offerto da"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr "URL usato per i crediti nel piè di pagina di ogni pagina"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Indirizzo email di contatto per il sito"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Locale"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Fuso orario predefinito"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Fuso orario predefinito; tipicamente UTC"
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Lingua predefinita"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Server"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Nome host del server"
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "URL semplici"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Usare gli URL semplici (più leggibili e facili da ricordare)?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Accesso"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Privato"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 "Proibire agli utenti anonimi (che non hanno effettuato l'accesso) di vedere "
 "il sito?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Solo invito"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Rende la registrazione solo su invito"
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Chiuso"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Disabilita la creazione di nuovi account"
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Snapshot"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "A caso quando avviene un web hit"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "In un job pianificato"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Mai"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Snapshot dei dati"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "Quando inviare dati statistici a status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Frequenza"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Gli snapshot verranno inviati ogni N web hit"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "URL per la segnalazione"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Gli snapshot verranno inviati a questo URL"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Qualche volta"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Sempre"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Usa SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Quando usare SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "Server SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Server a cui dirigere le richieste SSL"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Limiti"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Limiti del testo"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Numero massimo di caratteri per messaggo"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Limite duplicati"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Quanto tempo gli utenti devono attendere (in secondi) prima di inviare "
 "nuovamente lo stesso messaggio"
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Salva impostazioni"
 
@@ -4082,16 +4088,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Ti è proibito inviare messaggi su questo sito."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problema nel salvare il messaggio."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Errore del DB nell'inserire la risposta: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
@@ -4146,128 +4152,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Pagina senza nome"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Esplorazione sito primaria"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Home"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Profilo personale e attività degli amici"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Account"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Modifica la tua email, immagine, password o il tuo profilo"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Connetti"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Connettiti con altri servizi"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Modifica la configurazione del sito"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Invita"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invita amici e colleghi a seguirti su %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Esci"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Termina la tua sessione sul sito"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Crea un account"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Accedi al sito"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Aiuto"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Aiutami!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Cerca"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Cerca persone o del testo"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Messaggio del sito"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Viste locali"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Pagina messaggio"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Esplorazione secondaria del sito"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Informazioni"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "TOS"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacy"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Sorgenti"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contatti"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Badge"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Licenza del software StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4276,12 +4282,12 @@ msgstr ""
 "**%%site.name%%** è un servizio di microblog offerto da [%%site.broughtby%%]"
 "(%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** è un servizio di microblog. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4292,31 +4298,31 @@ msgstr ""
 "s, disponibile nei termini della licenza [GNU Affero General Public License]"
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Licenza del contenuto del sito"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Tutti "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licenza."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginazione"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Successivi"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Precedenti"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Si è verificato un problema con il tuo token di sessione."
 
@@ -4368,6 +4374,16 @@ msgstr "Messaggi in cui appare questo allegato"
 msgid "Tags for this attachment"
 msgstr "Etichette per questo allegato"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Modifica password"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Modifica password"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Risultati comando"
@@ -5122,12 +5138,12 @@ msgstr ""
 "Cordiali saluti,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s) ti ha inviato un messaggio"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5165,7 +5181,7 @@ msgstr ""
 "iniziare una conversazione con altri utenti. Altre persone possono mandare "
 "messaggi riservati solamente a te."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "via"
 
@@ -5232,72 +5248,75 @@ msgstr "Invia un messaggio diretto"
 msgid "To"
 msgstr "A"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Caratteri disponibili"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Invia un messaggio"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Cosa succede, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Allega"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Allega un file"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "S"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "E"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "O"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "presso"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "nel contesto"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Ripetuto da"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Rispondi a questo messaggio"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Rispondi"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Messaggio eliminato."
+msgstr "Messaggio ripetuto"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5424,13 +5443,14 @@ msgstr "In evidenza"
 msgid "Popular"
 msgstr "Famosi"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
+#: lib/repeatform.php:107
+#, fuzzy
+msgid "Repeat this notice?"
 msgstr "Ripeti questo messaggio"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr "Ripeti"
+msgid "Repeat this notice"
+msgstr "Ripeti questo messaggio"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5601,47 +5621,47 @@ msgstr "Messaggio"
 msgid "Moderate"
 msgstr "Modera"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "pochi secondi fa"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "circa un minuto fa"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "circa %d minuti fa"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "circa un'ora fa"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "circa %d ore fa"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "circa un giorno fa"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "circa %d giorni fa"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "circa un mese fa"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "circa %d mesi fa"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "circa un anno fa"
 
index bfa752cba06421151ca50e4ccb69e1d18732461f..9e4fe43c7470cfcacfcb4f532c1e7a5866c0f931 100644 (file)
@@ -2,6 +2,7 @@
 #
 # Author@translatewiki.net: Aotake
 # Author@translatewiki.net: Fryed-peach
+# Author@translatewiki.net: Sonoda
 # Author@translatewiki.net: Whym
 # --
 # This file is distributed under the same license as the StatusNet package.
@@ -10,12 +11,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:34+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:50+0000\n"
 "Language-Team: Japanese\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ja\n"
 "X-Message-Group: out-statusnet\n"
@@ -83,7 +84,7 @@ msgstr "%s の友人のフィード (Atom)"
 #, php-format
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
-msgstr "これは %s と友人の予定表です。まだ誰も投稿していません。"
+msgstr "これは %s と友人のタイムラインです。まだ誰も投稿していません。"
 
 #: actions/all.php:132
 #, php-format
@@ -91,8 +92,8 @@ msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
 "something yourself."
 msgstr ""
-"ã\82\82ã\81£ã\81¨å¤\9aã\81\8fã\81®äººã\81¨ã\81¤ã\81ªã\81\8cã\81£ã\81¦ã\81¿ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82\82°ã\83«ã\83¼ã\83\97ã\81«å\8f\82å\8a ](%%action.groups%%) ã\81\97"
-"てみたり、何か投稿してみましょう。"
+"ã\82\82ã\81£ã\81¨å¤\9aã\81\8fã\81®äººã\82\92ã\83\95ã\82©ã\83­ã\83¼ã\81\97ã\81¦ã\81¿ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82\82°ã\83«ã\83¼ã\83\97ã\81«å\8f\82å\8a ](%%action.groups%%) "
+"ã\81\97ã\81¦ã\81¿ã\81\9fã\82\8aã\80\81ä½\95ã\81\8bæ\8a\95稿ã\81\97ã\81¦ã\81¿ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82"
 
 #: actions/all.php:134
 #, php-format
@@ -198,33 +199,33 @@ msgstr "デザインを更新できませんでした。"
 msgid "You cannot block yourself!"
 msgstr "自分自身をブロックすることはできません!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "利用者のブロックに失敗しました。"
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "利用者のブロック解除に失敗しました。"
 
 #: actions/apidirectmessage.php:89
 #, php-format
 msgid "Direct messages from %s"
-msgstr ""
+msgstr "%s からのダイレクトメッセージ"
 
 #: actions/apidirectmessage.php:93
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "%s から送られた全てのダイレクトメッセージ"
 
 #: actions/apidirectmessage.php:101
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "%s へのダイレクトメッセージ"
 
 #: actions/apidirectmessage.php:105
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "%s へ送った全てのダイレクトメッセージ"
 
 #: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
 #: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
@@ -248,12 +249,12 @@ msgstr "API メソッドが見つかりません!"
 
 #: actions/apidirectmessagenew.php:126
 msgid "No message text!"
-msgstr "ã\81\8aç\9f¥ã\82\89ã\81\9bの本文がありません!"
+msgstr "ã\83¡ã\83\83ã\82»ã\83¼ã\82¸の本文がありません!"
 
 #: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
 #, php-format
 msgid "That's too long. Max message size is %d chars."
-msgstr "é\95·ã\81\99ã\81\8eã\81¾ã\81\99ã\80\82ã\81\8aç\9f¥ã\82\89ã\81\9bは最大 %d 字までです。"
+msgstr "é\95·ã\81\99ã\81\8eã\81¾ã\81\99ã\80\82ã\83¡ã\83\83ã\82»ã\83¼ã\82¸は最大 %d 字までです。"
 
 #: actions/apidirectmessagenew.php:146
 msgid "Recipient user not found."
@@ -261,28 +262,28 @@ msgstr "受け取り手の利用者が見つかりません。"
 
 #: actions/apidirectmessagenew.php:150
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "友人でない利用者にダイレクトメッセージを送ることはできません。"
 
 #: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
 #: actions/apistatusesdestroy.php:113
 msgid "No status found with that ID."
-msgstr ""
+msgstr "そのIDのステータスが見つかりません。"
 
 #: actions/apifavoritecreate.php:119
 msgid "This status is already a favorite!"
-msgstr ""
+msgstr "このステータスはすでにお気に入りです!"
 
 #: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
 msgid "Could not create favorite."
-msgstr ""
+msgstr "お気に入りを作成できません。"
 
 #: actions/apifavoritedestroy.php:122
 msgid "That status is not a favorite!"
-msgstr ""
+msgstr "そのステータスはお気に入りではありません!"
 
 #: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "お気に入りを取り消すことができません。"
 
 #: actions/apifriendshipscreate.php:109
 msgid "Could not follow user: User not found."
@@ -304,20 +305,18 @@ msgstr "自分自身をフォロー停止することはできません!"
 
 #: actions/apifriendshipsexists.php:94
 msgid "Two user ids or screen_names must be supplied."
-msgstr ""
+msgstr "ふたつのIDかスクリーンネームが必要です。"
 
 #: actions/apifriendshipsshow.php:135
-#, fuzzy
 msgid "Could not determine source user."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82½ã\83¼ã\82¹ã\83¦ã\83¼ã\82¶ã\83¼ã\82\92決å®\9aã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: actions/apifriendshipsshow.php:143
-#, fuzzy
 msgid "Could not find target user."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82¿ã\83¼ã\82²ã\83\83ã\83\88ã\83¦ã\83¼ã\82¶ã\83¼ã\82\92è¦\8bã\81¤ã\81\91ã\82\89ã\82\8cã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -325,36 +324,36 @@ msgstr ""
 "できません。"
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "そのニックネームは既に使用されています。他のものを試してみて下さい。"
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "有効なニックネームではありません。"
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "ホームページのURLが不適切です。"
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "フルネームが長すぎます。(255字まで)"
 
 #: actions/apigroupcreate.php:213
-#, fuzzy, php-format
+#, php-format
 msgid "Description is too long (max %d chars)."
-msgstr "バイオグラフィが長すぎます。(最長140字)"
+msgstr "記述が長すぎます。(最長140字)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "場所が長すぎます。(255字まで)"
@@ -363,65 +362,62 @@ msgstr "場所が長すぎます。(255字まで)"
 #: actions/newgroup.php:159
 #, php-format
 msgid "Too many aliases! Maximum %d."
-msgstr ""
+msgstr "別名が多すぎます! 最大 %d。"
 
 #: actions/apigroupcreate.php:264 actions/editgroup.php:224
 #: actions/newgroup.php:168
-#, fuzzy, php-format
+#, php-format
 msgid "Invalid alias: \"%s\""
-msgstr "不正なホームページ '%s'"
+msgstr "不正な別名: \"%s\""
 
 #: actions/apigroupcreate.php:273 actions/editgroup.php:228
 #: actions/newgroup.php:172
-#, fuzzy, php-format
+#, php-format
 msgid "Alias \"%s\" already in use. Try another one."
-msgstr "そのニックネームは既に使用されています。他のものを試してみて下さい。"
+msgstr "別名 \"%s\" は既に使用されています。他のものを試してみて下さい。"
 
 #: actions/apigroupcreate.php:286 actions/editgroup.php:234
 #: actions/newgroup.php:178
 msgid "Alias can't be the same as nickname."
-msgstr ""
+msgstr "別名はニックネームと同じではいけません。"
 
 #: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
 #: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
 #: actions/apigroupshow.php:90 actions/apitimelinegroup.php:91
-#, fuzzy
 msgid "Group not found!"
-msgstr "API メソッドが見つかりません!"
+msgstr "グループが見つかりません!"
 
 #: actions/apigroupjoin.php:110
-#, fuzzy
 msgid "You are already a member of that group."
-msgstr "既にログイン済みです。"
+msgstr "すでにこのグループのメンバーです。"
 
 #: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
 msgid "You have been blocked from that group by the admin."
-msgstr ""
+msgstr "管理者によってこのグループからブロックされています。"
 
 #: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s."
-msgstr "サーバへリダイレクトできません : %s"
+msgstr "利用者 %s はグループ %s に参加できません。"
 
 #: actions/apigroupleave.php:114
-#, fuzzy
 msgid "You are not a member of this group."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81¯ã\81\82ã\82\8aません。"
 
 #: actions/apigroupleave.php:124
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s."
-msgstr "OpenIDを作成できません : %s"
+msgstr "利用者 %s をグループ %s から削除できません。"
 
 #: actions/apigrouplist.php:95
-#, fuzzy, php-format
+#, php-format
 msgid "%s's groups"
-msgstr "%s グループ"
+msgstr "%s ã\81®ã\82°ã\83«ã\83¼ã\83\97"
 
 #: actions/apigrouplist.php:103
 #, php-format
 msgid "Groups %s is a member of on %s."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\9bã\82\93。"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97 %s ã\81¯ %s ä¸\8aã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81\99。"
 
 #: actions/apigrouplistall.php:90 actions/usergroups.php:62
 #, php-format
@@ -429,71 +425,67 @@ msgid "%s groups"
 msgstr "%s グループ"
 
 #: actions/apigrouplistall.php:94
-#, fuzzy, php-format
+#, php-format
 msgid "groups on %s"
-msgstr "このサイト上のグループを検索する"
+msgstr "%s 上のグループ"
 
 #: actions/apistatusesdestroy.php:107
 msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "このメソッドには POST か DELETE が必要です。"
 
 #: actions/apistatusesdestroy.php:130
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "他の利用者のステータスを消すことはできません。"
 
 #: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72
 #: actions/deletenotice.php:52 actions/shownotice.php:92
 msgid "No such notice."
-msgstr "そのような通知はありません。"
+msgstr "そのようなつぶやきはありません。"
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "ã\83©ã\82¤ã\82»ã\83³ã\82¹ã\81«å\90\8cæ\84\8fé \82ã\81\91ã\81ªã\81\84å ´å\90\88ã\81¯ç\99»é\8c²ã\81§ã\81\8dません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\81¤ã\81¶ã\82\84ã\81\8dã\82\92ç¹°ã\82\8aè¿\94ã\81\9bません。"
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "ã\81\93ã\81®é\80\9aç\9f¥ã\82\92å\89\8aé\99¤"
+msgstr "ã\81\99ã\81§ã\81«ã\81¤ã\81¶ã\82\84ã\81\8dã\82\92ç¹°ã\82\8aè¿\94ã\81\97ã\81¦ã\81\84ã\81¾ã\81\99ã\80\82"
 
 #: actions/apistatusesshow.php:138
-#, fuzzy
 msgid "Status deleted."
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\81\8cæ\9b´æ\96°ã\81\95ã\82\8cました。"
+msgstr "ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ã\82\92å\89\8aé\99¤ã\81\97ました。"
 
 #: actions/apistatusesshow.php:144
 msgid "No status with that ID found."
-msgstr ""
+msgstr "そのIDでのステータスはありません。"
 
 #: actions/apistatusesupdate.php:157 actions/newnotice.php:155
 #: scripts/maildaemon.php:71
-#, fuzzy, php-format
+#, php-format
 msgid "That's too long. Max notice size is %d chars."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr "長すぎます。つぶやきは最大 140 字までです。"
 
 #: actions/apistatusesupdate.php:198
 msgid "Not found"
-msgstr ""
+msgstr "みつかりません"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
+msgstr "つぶやきは URL を含めて最大 %d 字までです。"
 
 #: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
-#, fuzzy
 msgid "Unsupported format."
-msgstr "サポート外の画像形式です。"
+msgstr "サポート外の形式です。"
 
 #: actions/apitimelinefavorites.php:108
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / %s からのお気に入り"
 
 #: actions/apitimelinefavorites.php:120
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s は %s でお気に入りを更新しました / %s。"
 
 #: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
 #: actions/grouprss.php:131 actions/userrss.php:90
@@ -505,47 +497,47 @@ msgstr "%s のタイムライン"
 #: actions/userrss.php:92
 #, php-format
 msgid "Updates from %1$s on %2$s!"
-msgstr ""
+msgstr "%1$s から %2$s  上の更新をしました!"
 
 #: actions/apitimelinementions.php:117
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s / Updates mentioning %2$s"
-msgstr "%1$ のステータス %2$s"
+msgstr "%1$s / %2$s について更新"
 
 #: actions/apitimelinementions.php:127
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr ""
+msgstr "%2$s からアップデートに答える %1$s アップデート"
 
 #: actions/apitimelinepublic.php:107 actions/publicrss.php:103
 #, php-format
 msgid "%s public timeline"
-msgstr "%s の公開タイムライン"
+msgstr "%s のパブリックタイムライン"
 
 #: actions/apitimelinepublic.php:111 actions/publicrss.php:105
 #, php-format
 msgid "%s updates from everyone!"
-msgstr ""
+msgstr "皆からの %s アップデート!"
 
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "%s による繰り返し"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
 msgstr "%s への返信"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "%s ã\81¸ã\81®è¿\94ä¿¡"
+msgstr "%s の返信"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
 msgid "Notices tagged with %s"
-msgstr ""
+msgstr "%s とタグ付けされたつぶやき"
 
 #: actions/apitimelinetag.php:108 actions/tagrss.php:64
 #, php-format
@@ -557,9 +549,8 @@ msgid "Not found."
 msgstr "見つかりません。"
 
 #: actions/attachment.php:73
-#, fuzzy
 msgid "No such attachment."
-msgstr "そのようなドキュメントはありません。"
+msgstr "そのような添付はありません。"
 
 #: actions/avatarbynickname.php:59 actions/grouprss.php:91
 #: actions/leavegroup.php:76
@@ -588,7 +579,7 @@ msgstr "自分のアバターをアップロードできます。最大サイズ
 #: actions/grouplogo.php:178 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:103
 msgid "User without matching profile"
-msgstr ""
+msgstr "合っているプロフィールのない利用者"
 
 #: actions/avatarsettings.php:119 actions/avatarsettings.php:197
 #: actions/grouplogo.php:251
@@ -598,15 +589,15 @@ msgstr "アバター設定"
 #: actions/avatarsettings.php:127 actions/avatarsettings.php:205
 #: actions/grouplogo.php:199 actions/grouplogo.php:259
 msgid "Original"
-msgstr ""
+msgstr "オリジナル"
 
 #: actions/avatarsettings.php:142 actions/avatarsettings.php:217
 #: actions/grouplogo.php:210 actions/grouplogo.php:271
 msgid "Preview"
-msgstr ""
+msgstr "プレビュー"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "削除"
 
@@ -616,23 +607,23 @@ msgstr "アップロード"
 
 #: actions/avatarsettings.php:231 actions/grouplogo.php:286
 msgid "Crop"
-msgstr ""
+msgstr "切り取り"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
 #: lib/designsettings.php:294
 msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "あなたのセッショントークンに問題がありました。再度お試しください。"
 
 #: actions/avatarsettings.php:281 actions/designadminpanel.php:103
 #: actions/emailsettings.php:256 actions/grouplogo.php:319
@@ -643,11 +634,11 @@ msgstr "予期せぬフォーム送信です。"
 
 #: actions/avatarsettings.php:328
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "あなたのアバターとなるイメージを正方形で指定"
 
 #: actions/avatarsettings.php:343 actions/grouplogo.php:377
 msgid "Lost our file data."
-msgstr ""
+msgstr "ファイルデータを紛失しました。"
 
 #: actions/avatarsettings.php:366
 msgid "Avatar updated."
@@ -658,55 +649,55 @@ msgid "Failed updating avatar."
 msgstr "アバターの更新に失敗しました。"
 
 #: actions/avatarsettings.php:393
-#, fuzzy
 msgid "Avatar deleted."
-msgstr "アバターが更新されました。"
+msgstr "アバターが削除されました。"
 
 #: actions/block.php:69
-#, fuzzy
 msgid "You already blocked that user."
-msgstr "既にログイン済みです。"
+msgstr "その利用者はすでにブロック済みです。"
 
 #: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
-#, fuzzy
 msgid "Block user"
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¦ã\83¼ã\82¶ã\81¯ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\83\96ã\83­ã\83\83ã\82¯å\88©ç\94¨è\80\85"
 
 #: actions/block.php:130
+#, fuzzy
 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 "
 "will not be notified of any @-replies from them."
 msgstr ""
+"あなたはこのユーザをブロックしたいのを確信していますか? その後、それらはあな"
+"たからフォローを外されるでしょう、将来、あなたにフォローできないで、あなたは"
+"どんな @-返信 についてもそれらから通知されないでしょう。"
 
 #: actions/block.php:143 actions/deletenotice.php:145
 #: actions/deleteuser.php:147 actions/groupblock.php:178
 msgid "No"
-msgstr ""
+msgstr "No"
 
 #: actions/block.php:143 actions/deleteuser.php:147
-#, fuzzy
 msgid "Do not block this user"
 msgstr "このユーザをアンブロックする"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
-msgstr ""
+msgstr "Yes"
 
 #: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
 msgid "Block this user"
 msgstr "このユーザをブロックする"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "ブロック情報の保存に失敗しました。"
 
 #: actions/blockedfromgroup.php:73 actions/editgroup.php:84
 #: actions/groupdesignsettings.php:84 actions/grouplogo.php:86
 #: actions/groupmembers.php:76 actions/joingroup.php:76
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
 msgstr "ニックネームがありません。"
 
@@ -714,28 +705,26 @@ msgstr "ニックネームがありません。"
 #: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
 #: actions/grouplogo.php:99 actions/groupmembers.php:83
 #: actions/joingroup.php:83 actions/showgroup.php:137
-#, fuzzy
 msgid "No such group"
-msgstr "そのような通知はありません。"
+msgstr "そのようなグループはありません。"
 
 #: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles"
-msgstr "プロファイルがありません。"
+msgstr "%s ブロックされたプロファイル"
 
 #: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles, page %d"
-msgstr "%s & ともだち"
+msgstr "%s ブロックされたプロファイル、ページ %d"
 
 #: actions/blockedfromgroup.php:108
 msgid "A list of the users blocked from joining this group."
-msgstr ""
+msgstr "このグループへの参加をブロックされた利用者のリスト。"
 
 #: actions/blockedfromgroup.php:281
-#, fuzzy
 msgid "Unblock user from group"
-msgstr "ã\83¦ã\83¼ã\82¶ã\81®ã\82¢ã\83³ã\83\96ã\83­ã\83\83ã\82¯ã\81«å¤±æ\95\97ã\81\97ã\81¾ã\81\97ã\81\9fã\80\82"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\81®ã\82¢ã\83³ã\83\96ã\83­ã\83\83ã\82¯å\88©ç\94¨è\80\85"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:69
 msgid "Unblock"
@@ -747,7 +736,7 @@ msgstr "このユーザをアンブロックする"
 
 #: actions/bookmarklet.php:50
 msgid "Post to "
-msgstr ""
+msgstr "投稿"
 
 #: actions/confirmaddress.php:75
 msgid "No confirmation code."
@@ -773,7 +762,7 @@ msgstr "そのアドレスは既に承認されています。"
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "ユーザを更新できません"
@@ -793,14 +782,13 @@ msgid "The address \"%s\" has been confirmed for your account."
 msgstr "アドレス \"%s\" はあなたのアカウントとして承認されています。"
 
 #: actions/conversation.php:99
-#, fuzzy
 msgid "Conversation"
-msgstr "確認コード"
+msgstr "会話"
 
 #: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:216 lib/searchgroupnav.php:82
 msgid "Notices"
-msgstr "通知"
+msgstr "つぶやき"
 
 #: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
 #: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
@@ -814,55 +802,55 @@ msgstr "ログインしていません。"
 
 #: actions/deletenotice.php:71
 msgid "Can't delete this notice."
-msgstr "この通知を削除できません。"
+msgstr "このつぶやきを削除できません。"
 
 #: actions/deletenotice.php:103
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
+"あなたは永久につぶやきを削除しようとしています。 これが完了するとそれを元に戻"
+"すことはできません。"
 
 #: actions/deletenotice.php:109 actions/deletenotice.php:141
 msgid "Delete notice"
-msgstr ""
+msgstr "つぶやき削除"
 
 #: actions/deletenotice.php:144
 msgid "Are you sure you want to delete this notice?"
-msgstr "本当にこの通知を削除しますか?"
+msgstr "本当にこのつぶやきを削除しますか?"
 
 #: actions/deletenotice.php:145
-#, fuzzy
 msgid "Do not delete this notice"
-msgstr "この通知を削除できません。"
+msgstr "このつぶやきを削除できません。"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
-msgstr "この通知を削除"
+msgstr "このつぶやきを削除"
 
 #: actions/deletenotice.php:157
 msgid "There was a problem with your session token.  Try again, please."
-msgstr ""
+msgstr "あなたのセッショントークンに問題がありました。再度お試しください。"
 
 #: actions/deleteuser.php:67
-#, fuzzy
 msgid "You cannot delete users."
-msgstr "ユーザを更新できません"
+msgstr "利用者を削除できません"
 
 #: actions/deleteuser.php:74
-#, fuzzy
 msgid "You can only delete local users."
-msgstr "ローカルサブスクリプションを使用可能です!"
+msgstr "ローカル利用者のみ削除できます。"
 
 #: actions/deleteuser.php:110 actions/deleteuser.php:133
-#, fuzzy
 msgid "Delete user"
-msgstr "削除"
+msgstr "å\88©ç\94¨è\80\85å\89\8aé\99¤"
 
 #: actions/deleteuser.php:135
 msgid ""
 "Are you sure you want to delete this user? This will clear all data about "
 "the user from the database, without a backup."
 msgstr ""
+"あなたは本当にこの利用者を削除したいですか? これはバックアップなしでデータ"
+"ベースから利用者に関するすべてのデータをクリアします。"
 
 #: actions/deleteuser.php:148 lib/deleteuserform.php:77
 msgid "Delete this user"
@@ -871,117 +859,111 @@ msgstr "このユーザーを削除"
 #: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
 #: lib/adminpanelaction.php:302 lib/groupnav.php:119
 msgid "Design"
-msgstr ""
+msgstr "デザイン"
 
 #: actions/designadminpanel.php:73
 msgid "Design settings for this StatusNet site."
-msgstr ""
+msgstr "この StatusNet サイトのデザイン設定。"
 
 #: actions/designadminpanel.php:275
-#, fuzzy
 msgid "Invalid logo URL."
-msgstr "ä¸\8dæ­£ã\81ªã\82µã\82¤ã\82ºã\80\82"
+msgstr "ä¸\8dæ­£ã\81ªã\83­ã\82´ URL"
 
 #: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
 msgid "Theme not available: %s"
-msgstr "ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81¯ã\81\82ã\81ªã\81\9fã\81\8cæ\89¿èª\8dã\81\97ã\81\9fã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82¤ã\83\97ã\81§ã\81¯å\88©ç\94¨ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\83\86ã\83¼ã\83\9eã\81\8cå\88©ç\94¨ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ï¼\9a %s"
 
 #: actions/designadminpanel.php:375
 msgid "Change logo"
 msgstr "ロゴの変更"
 
 #: actions/designadminpanel.php:380
-#, fuzzy
 msgid "Site logo"
-msgstr "新しい通知"
+msgstr "サイトロゴ"
 
 #: actions/designadminpanel.php:387
-#, fuzzy
 msgid "Change theme"
-msgstr "変更"
+msgstr "テーマ変更"
 
 #: actions/designadminpanel.php:404
-#, fuzzy
 msgid "Site theme"
-msgstr "新しい通知"
+msgstr "サイトテーマ"
 
 #: actions/designadminpanel.php:405
-#, fuzzy
 msgid "Theme for the site."
-msgstr "ã\82µã\82¤ã\83\88ã\81\8bã\82\89ã\83­ã\82°ã\82¢ã\82¦ã\83\88"
+msgstr "ã\82µã\82¤ã\83\88ã\81®ã\83\86ã\83¼ã\83\9e"
 
 #: actions/designadminpanel.php:417 lib/designsettings.php:101
 msgid "Change background image"
-msgstr ""
+msgstr "バックグラウンドイメージの変更"
 
 #: actions/designadminpanel.php:422 actions/designadminpanel.php:497
 #: lib/designsettings.php:178
 msgid "Background"
-msgstr ""
+msgstr "バックグラウンド"
 
 #: actions/designadminpanel.php:427
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "You can upload a background image for the site. The maximum file size is %1"
 "$s."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr ""
+"このサイト用にバックグラウンドイメージをアップロードできます。最大ファイルサ"
+"イズは %1$s。"
 
 #: actions/designadminpanel.php:457 lib/designsettings.php:139
 msgid "On"
-msgstr ""
+msgstr "オン"
 
 #: actions/designadminpanel.php:473 lib/designsettings.php:155
 msgid "Off"
-msgstr ""
+msgstr "オフ"
 
 #: actions/designadminpanel.php:474 lib/designsettings.php:156
 msgid "Turn background image on or off."
-msgstr ""
+msgstr "バックグラウンドイメージのオンまたはオフ。"
 
 #: actions/designadminpanel.php:479 lib/designsettings.php:161
 msgid "Tile background image"
-msgstr ""
+msgstr "タイルバックグラウンドイメージ"
 
 #: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
 msgid "Change colours"
-msgstr "パスワードの変更"
+msgstr "の変更"
 
 #: actions/designadminpanel.php:510 lib/designsettings.php:191
 msgid "Content"
 msgstr "内容"
 
 #: actions/designadminpanel.php:523 lib/designsettings.php:204
-#, fuzzy
 msgid "Sidebar"
-msgstr "検索"
+msgstr "サイドバー"
 
 #: actions/designadminpanel.php:536 lib/designsettings.php:217
 msgid "Text"
-msgstr ""
+msgstr "テキスト"
 
 #: actions/designadminpanel.php:549 lib/designsettings.php:230
-#, fuzzy
 msgid "Links"
-msgstr "ã\83­ã\82°ã\82¤ã\83³"
+msgstr "ã\83ªã\83³ã\82¯"
 
 #: actions/designadminpanel.php:577 lib/designsettings.php:247
 msgid "Use defaults"
-msgstr ""
+msgstr "デフォルトを使用"
 
 #: actions/designadminpanel.php:578 lib/designsettings.php:248
 msgid "Restore default designs"
-msgstr ""
+msgstr "デフォルトデザインに戻す。"
 
 #: actions/designadminpanel.php:584 lib/designsettings.php:254
 msgid "Reset back to default"
-msgstr ""
+msgstr "デフォルトへリセットする"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -990,15 +972,15 @@ msgstr "保存"
 
 #: actions/designadminpanel.php:587 lib/designsettings.php:257
 msgid "Save design"
-msgstr ""
+msgstr "デザインの保存"
 
 #: actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "このつぶやきはお気に入りではありません!"
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "お気に入りに加える"
 
 #: actions/doc.php:69
 msgid "No such document."
@@ -1007,40 +989,37 @@ msgstr "そのようなドキュメントはありません。"
 #: actions/editgroup.php:56
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "%s グループを編集"
 
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "グループを作るにはログインしていなければなりません。"
 
 #: actions/editgroup.php:103 actions/editgroup.php:168
 #: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "グループを編集するには管理者である必要があります。"
 
 #: actions/editgroup.php:154
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "このフォームを使ってグループを編集します。"
 
 #: actions/editgroup.php:201 actions/newgroup.php:145
-#, fuzzy, php-format
+#, php-format
 msgid "description is too long (max %d chars)."
-msgstr "バイオグラフィが長すぎます。(最長140字)"
+msgstr "記述が長すぎます。(最長 %d 字)"
 
 #: actions/editgroup.php:253
-#, fuzzy
 msgid "Could not update group."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: actions/editgroup.php:259 classes/User_group.php:390
-#, fuzzy
 msgid "Could not create aliases."
-msgstr "アバターを保存できません"
+msgstr "別名を作成できません。"
 
 #: actions/editgroup.php:269
-#, fuzzy
 msgid "Options saved."
-msgstr "設定が保存されました。"
+msgstr "オプションが保存されました。"
 
 #: actions/emailsettings.php:60
 msgid "Email Settings"
@@ -1049,7 +1028,7 @@ msgstr "メール設定"
 #: actions/emailsettings.php:71
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
-msgstr ""
+msgstr "%%site.name%% からのメールを管理。"
 
 #: actions/emailsettings.php:100 actions/imsettings.php:100
 #: actions/smssettings.php:104
@@ -1058,7 +1037,7 @@ msgstr "住所"
 
 #: actions/emailsettings.php:105
 msgid "Current confirmed email address."
-msgstr ""
+msgstr "現在確認されているメールアドレス。"
 
 #: actions/emailsettings.php:107 actions/emailsettings.php:140
 #: actions/imsettings.php:108 actions/smssettings.php:115
@@ -1081,11 +1060,11 @@ msgstr "中止"
 
 #: actions/emailsettings.php:121
 msgid "Email Address"
-msgstr ""
+msgstr "メールアドレス"
 
 #: actions/emailsettings.php:123
 msgid "Email address, like \"UserName@example.org\""
-msgstr ""
+msgstr "メールアドレス、\"UserName@example.org\" のような"
 
 #: actions/emailsettings.php:126 actions/imsettings.php:133
 #: actions/smssettings.php:145
@@ -1094,19 +1073,19 @@ msgstr "追加"
 
 #: actions/emailsettings.php:133 actions/smssettings.php:152
 msgid "Incoming email"
-msgstr ""
+msgstr "入ってくるメール"
 
 #: actions/emailsettings.php:138 actions/smssettings.php:157
 msgid "Send email to this address to post new notices."
-msgstr ""
+msgstr "新しいつぶやき投稿にこのアドレスへメールする"
 
 #: actions/emailsettings.php:145 actions/smssettings.php:162
 msgid "Make a new email address for posting to; cancels the old one."
-msgstr ""
+msgstr "投稿のための新しいEメールアドレスを作ります; 古い方を取り消します。"
 
 #: actions/emailsettings.php:148 actions/smssettings.php:164
 msgid "New"
-msgstr ""
+msgstr "New"
 
 #: actions/emailsettings.php:153 actions/imsettings.php:139
 #: actions/smssettings.php:169
@@ -1115,31 +1094,34 @@ msgstr "設定"
 
 #: actions/emailsettings.php:158
 msgid "Send me notices of new subscriptions through email."
-msgstr ""
+msgstr "メールで新規フォローの通知を私に送ってください。"
 
 #: actions/emailsettings.php:163
 msgid "Send me email when someone adds my notice as a favorite."
 msgstr ""
+"だれかがお気に入りとして私のつぶやきを加えたらメールを私に送ってください。"
 
 #: actions/emailsettings.php:169
 msgid "Send me email when someone sends me a private message."
 msgstr ""
+"だれかがプライベート・メッセージを私に送るときにはメールを私に送ってくださ"
+"い。"
 
 #: actions/emailsettings.php:174
 msgid "Send me email when someone sends me an \"@-reply\"."
-msgstr ""
+msgstr "だれかが\"@-返信\"を私を送るときにはメールを私に送ってください、"
 
 #: actions/emailsettings.php:179
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "友達が私に合図とメールを送ることを許可する。"
 
 #: actions/emailsettings.php:185
 msgid "I want to post notices by email."
-msgstr ""
+msgstr "メールでつぶやきを投稿したい。"
 
 #: actions/emailsettings.php:191
 msgid "Publish a MicroID for my email address."
-msgstr ""
+msgstr "私のメールアドレスのためにMicroIDを発行してください。"
 
 #: actions/emailsettings.php:302 actions/imsettings.php:264
 #: actions/othersettings.php:180 actions/smssettings.php:284
@@ -1148,23 +1130,23 @@ msgstr "設定が保存されました。"
 
 #: actions/emailsettings.php:320
 msgid "No email address."
-msgstr ""
+msgstr "メールアドレスがありません。"
 
 #: actions/emailsettings.php:327
 msgid "Cannot normalize that email address"
 msgstr "そのメールアドレスを正規化できません"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
-msgstr ""
+msgstr "正しいメールアドレスではありません"
 
 #: actions/emailsettings.php:334
 msgid "That is already your email address."
-msgstr ""
+msgstr "これはすでにあなたのメールアドレスです。"
 
 #: actions/emailsettings.php:337
 msgid "That email address already belongs to another user."
-msgstr ""
+msgstr "このメールアドレスは既に他の人が使っています。"
 
 #: actions/emailsettings.php:353 actions/imsettings.php:317
 #: actions/smssettings.php:337
@@ -1196,7 +1178,7 @@ msgstr "確認作業が中止されました。"
 
 #: actions/emailsettings.php:413
 msgid "That is not your email address."
-msgstr ""
+msgstr "これはあなたのメールアドレスではありません。"
 
 #: actions/emailsettings.php:432 actions/imsettings.php:408
 #: actions/smssettings.php:425
@@ -1205,53 +1187,56 @@ msgstr "アドレスは削除されました。"
 
 #: actions/emailsettings.php:446 actions/smssettings.php:518
 msgid "No incoming email address."
-msgstr ""
+msgstr "入ってくるメールアドレスではありません。"
 
 #: actions/emailsettings.php:456 actions/emailsettings.php:478
 #: actions/smssettings.php:528 actions/smssettings.php:552
 msgid "Couldn't update user record."
-msgstr ""
+msgstr "利用者レコードを更新できません。"
 
 #: actions/emailsettings.php:459 actions/smssettings.php:531
 msgid "Incoming email address removed."
-msgstr ""
+msgstr "入ってくるメールアドレスは削除されました。"
 
 #: actions/emailsettings.php:481 actions/smssettings.php:555
 msgid "New incoming email address added."
-msgstr ""
+msgstr "新しい入ってくるメールアドレスが追加されました。"
 
 #: actions/favor.php:79
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "このつぶやきはすでにお気に入りです!"
 
 #: actions/favor.php:92 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "お気に入りをやめる"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:88
 #: lib/publicgroupnav.php:93
-#, fuzzy
 msgid "Popular notices"
-msgstr "そのような通知はありません。"
+msgstr "人気のつぶやき"
 
 #: actions/favorited.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "Popular notices, page %d"
-msgstr "そのような通知はありません。"
+msgstr "人気のつぶやき、ページ %d"
 
 #: actions/favorited.php:79
 msgid "The most popular notices on the site right now."
-msgstr ""
+msgstr "現在サイトで最も人気のつぶやき。"
 
 #: actions/favorited.php:150
 msgid "Favorite notices appear on this page but no one has favorited one yet."
 msgstr ""
+"お気に入りのつぶやきがページに表示されます、しかしまだお気に入りがありませ"
+"ん。"
 
 #: actions/favorited.php:153
 msgid ""
 "Be the first to add a notice to your favorites by clicking the fave button "
 "next to any notice you like."
 msgstr ""
+"あなたの好きなつぶやきを、お気に入りボタンをクリックしてあなたのお気に入りに"
+"加える最初になってください。"
 
 #: actions/favorited.php:156
 #, php-format
@@ -1259,61 +1244,58 @@ msgid ""
 "Why not [register an account](%%action.register%%) and be the first to add a "
 "notice to your favorites!"
 msgstr ""
+"なぜ [アカウント登録](%%action.register%%) しないのですか、そして、あなたのお"
+"気に入りにつぶやきを加える最初になりましょう!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
 #: lib/personalgroupnav.php:115
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "%s のお気に入りのつぶやき"
 
 #: actions/favoritesrss.php:115
-#, fuzzy, php-format
+#, php-format
 msgid "Updates favored by %1$s on %2$s!"
-msgstr "マイクロブログ by %s"
+msgstr "%1$s による %2$s 上のお気に入りを更新!"
 
 #: actions/featured.php:69 lib/featureduserssection.php:87
 #: lib/publicgroupnav.php:89
 msgid "Featured users"
-msgstr ""
+msgstr "フィーチャーされた利用者"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "フィーチャーされた利用者、ページ %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr ""
+msgid "A selection of some great users on %s"
+msgstr "%s 上の優れた利用者の集まり"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "新しい通知"
+msgstr "つぶやきIDがありません。"
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "新しい通知"
+msgstr "つぶやきがありません。"
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "そのようなドキュメントはありません。"
+msgstr "そのような添付はありません。"
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88はありません。"
+msgstr "ã\82¢ã\83\83ã\83\97ã\83­ã\83¼ã\83\89ã\81\95ã\82\8cã\81\9fæ·»ä»\98はありません。"
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
 msgstr "想定外のレスポンスです!"
 
 #: actions/finishremotesubscribe.php:80
-#, fuzzy
 msgid "User being listened to does not exist."
-msgstr "リストされているユーザは存在しません。"
+msgstr "存在しないように聴かれているユーザ。"
 
 #: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
 msgid "You can use the local subscription!"
@@ -1321,22 +1303,20 @@ msgstr "ローカルサブスクリプションを使用可能です!"
 
 #: actions/finishremotesubscribe.php:99
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "この利用者はフォローをブロックされています。"
 
 #: actions/finishremotesubscribe.php:110
-#, fuzzy
 msgid "You are not authorized."
 msgstr "認証されていません。"
 
 #: actions/finishremotesubscribe.php:113
-#, fuzzy
 msgid "Could not convert request token to access token."
 msgstr "リクエストトークンをアクセストークンに変換できません"
 
 #: actions/finishremotesubscribe.php:118
-#, fuzzy
 msgid "Remote service uses unknown version of OMB protocol."
-msgstr "予期せぬ OMB プロトコルのバージョンです。"
+msgstr ""
+"リモートサービスは、不明なバージョンの OMB プロトコルを使用しています。"
 
 #: actions/finishremotesubscribe.php:138 lib/oauthstore.php:306
 msgid "Error updating remote profile"
@@ -1361,37 +1341,34 @@ msgstr "ファイルを読み込めません。"
 #: actions/makeadmin.php:71 actions/subedit.php:46
 #: lib/profileformaction.php:70
 msgid "No profile specified."
-msgstr ""
+msgstr "プロファイル記述がありません。"
 
 #: actions/groupblock.php:76 actions/groupunblock.php:76
 #: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
 #: lib/profileformaction.php:77
 msgid "No profile with that ID."
-msgstr ""
+msgstr "そのIDのプロファイルがありません。"
 
 #: actions/groupblock.php:81 actions/groupunblock.php:81
 #: actions/makeadmin.php:81
 msgid "No group specified."
-msgstr ""
+msgstr "グループ記述がありません。"
 
 #: actions/groupblock.php:91
 msgid "Only an admin can block group members."
-msgstr ""
+msgstr "管理者だけがグループメンバーをブロックできます。"
 
 #: actions/groupblock.php:95
-#, fuzzy
 msgid "User is already blocked from group."
-msgstr "プロファイルがありません。"
+msgstr "利用者はすでにグループからブロックされています。"
 
 #: actions/groupblock.php:100
-#, fuzzy
 msgid "User is not a member of group."
-msgstr "そのプロファイルは送信されていません。"
+msgstr "利用者はグループのメンバーではありません。"
 
 #: actions/groupblock.php:136 actions/groupmembers.php:314
-#, fuzzy
 msgid "Block user from group"
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¦ã\83¼ã\82¶ã\81¯ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\83\96ã\83­ã\83\83ã\82¯ã\81\95ã\82\8cã\81\9få\88©ç\94¨è\80\85"
 
 #: actions/groupblock.php:162
 #, php-format
@@ -1400,69 +1377,71 @@ msgid ""
 "be removed from the group, unable to post, and unable to subscribe to the "
 "group in the future."
 msgstr ""
+"本当に利用者 %s をグループ %s からブロックしますか? 彼らはグループから削除さ"
+"れる、投稿できない、グループをフォローできなくなります。"
 
 #: actions/groupblock.php:178
-#, fuzzy
 msgid "Do not block this user from this group"
-msgstr "ã\82µã\83¼ã\83\90ã\81¸ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81§ã\81\8dã\81¾ã\81\9bã\82\93 : %s"
+msgstr "ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\81\93ã\81®å\88©ç\94¨è\80\85ã\82\92ã\83\96ã\83­ã\83\83ã\82¯ã\81\97ã\81ªã\81\84"
 
 #: actions/groupblock.php:179
-#, fuzzy
 msgid "Block this user from this group"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\83\96ã\83­ã\83\83ã\82¯ã\81\99ã\82\8b"
+msgstr "ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\83\96ã\83­ã\83\83ã\82¯"
 
 #: actions/groupblock.php:196
 msgid "Database error blocking user from group."
-msgstr ""
+msgstr "グループから利用者ブロックのデータベースエラー"
 
 #: actions/groupbyid.php:74
 msgid "No ID"
-msgstr ""
+msgstr "IDがありません"
 
 #: actions/groupdesignsettings.php:68
 msgid "You must be logged in to edit a group."
-msgstr ""
+msgstr "グループを編集するにはログインしていなければなりません。"
 
 #: actions/groupdesignsettings.php:141
 msgid "Group design"
-msgstr ""
+msgstr "グループデザイン"
 
 #: actions/groupdesignsettings.php:152
 msgid ""
 "Customize the way your group looks with a background image and a colour "
 "palette of your choice."
 msgstr ""
+"あなたが選んだパレットの色とバックグラウンドイメージであなたのグループをカス"
+"タマイズしてください。"
 
 #: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
 #: lib/designsettings.php:391 lib/designsettings.php:413
-#, fuzzy
 msgid "Couldn't update your design."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\83\87ã\82¶ã\82¤ã\83³ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
 #: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
 #: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
 msgid "Unable to save your design settings!"
-msgstr ""
+msgstr "あなたのデザイン設定を保存できません!"
 
 #: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
-#, fuzzy
 msgid "Design preferences saved."
-msgstr "設定が保存されました。"
+msgstr "デザイン設定が保存されました。"
 
 #: actions/grouplogo.php:139 actions/grouplogo.php:192
 msgid "Group logo"
-msgstr ""
+msgstr "グループロゴ"
 
 #: actions/grouplogo.php:150
 #, php-format
 msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr ""
+"あなたのグループ用にロゴイメージをアップロードできます。最大ファイルサイズは "
+"%s。"
 
 #: actions/grouplogo.php:362
 msgid "Pick a square area of the image to be the logo."
-msgstr ""
+msgstr "ロゴとなるイメージの正方形を選択。"
 
 #: actions/grouplogo.php:396
 msgid "Logo updated."
@@ -1475,18 +1454,18 @@ msgstr "ロゴの更新に失敗しました。"
 #: actions/groupmembers.php:93 lib/groupnav.php:92
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "%s グループメンバー"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "%s グループメンバー、ページ %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "このグループの利用者のリスト。"
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "管理者"
 
@@ -1496,31 +1475,30 @@ msgstr "ブロック"
 
 #: actions/groupmembers.php:441
 msgid "Make user an admin of the group"
-msgstr ""
+msgstr "利用者をグループの管理者にする"
 
 #: actions/groupmembers.php:473
-#, fuzzy
 msgid "Make Admin"
-msgstr "管理者"
+msgstr "管理者にする"
 
 #: actions/groupmembers.php:473
 msgid "Make this user an admin"
-msgstr ""
+msgstr "この利用者を管理者にする"
 
 #: actions/grouprss.php:133
-#, fuzzy, php-format
+#, php-format
 msgid "Updates from members of %1$s on %2$s!"
-msgstr "マイクロブログ by %s"
+msgstr "%2$s 上の %1$s のメンバーから更新する"
 
 #: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
 msgid "Groups"
-msgstr ""
+msgstr "グループ"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "グループ、ページ %d"
 
 #: actions/groups.php:90
 #, php-format
@@ -1531,19 +1509,24 @@ msgid ""
 "for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
 "%%%%)"
 msgstr ""
+"%%%%site.name%%%% グループは、あなたと同様の関心事をもつ人々を見つけて話をす"
+"ることができます。グループに入った後、あなたは他のメンバーに \"!groupname\" "
+"文法を使ってメッセージを送ることができます。あなたが好きなグループがあるかど"
+"うか[探してみる](%%%%action.groupsearch%%%%)か、あなた自身で[始めてください!]"
+"(%%%%action.newgroup%%%%)"
 
 #: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
-#, fuzzy
 msgid "Create a new group"
-msgstr "アカウントを作成"
+msgstr "新しいグループを作成"
 
 #: actions/groupsearch.php:52
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
 "Separate the terms by spaces; they must be 3 characters or more."
 msgstr ""
-"%%site.name%% の人を名前、場所、興味から検索。検索語はスペース区切る。3字以上"
+"%%site.name%% のグループを、名前、場所、記述から検索。検索語はスペース区切"
+"り。3字以上。"
 
 #: actions/groupsearch.php:58
 msgid "Group search"
@@ -1551,9 +1534,8 @@ msgstr "グループの検索"
 
 #: actions/groupsearch.php:79 actions/noticesearch.php:117
 #: actions/peoplesearch.php:83
-#, fuzzy
 msgid "No results."
-msgstr "結果なし"
+msgstr "結果なし"
 
 #: actions/groupsearch.php:82
 #, php-format
@@ -1561,6 +1543,8 @@ msgid ""
 "If you can't find the group you're looking for, you can [create it](%%action."
 "newgroup%%) yourself."
 msgstr ""
+"もし、あなたが探しているグループが見つからないとき、あなたは[それを作成](%%"
+"action.newgroup%%)できます。"
 
 #: actions/groupsearch.php:85
 #, php-format
@@ -1568,17 +1552,18 @@ msgid ""
 "Why not [register an account](%%action.register%%) and [create the group](%%"
 "action.newgroup%%) yourself!"
 msgstr ""
+"なぜ[アカウント登録](%%action.register%%) や [グループ作成](%%action.newgroup"
+"%%) しないのか!"
 
 #: actions/groupunblock.php:91
 msgid "Only an admin can unblock group members."
-msgstr ""
+msgstr "管理者だけがグループメンバーをアンブロックできます。"
 
 #: actions/groupunblock.php:95
-#, fuzzy
 msgid "User is not blocked from group."
-msgstr "プロファイルがありません。"
+msgstr "利用者はグループからブロックされていません。"
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "ブロックの削除エラー"
 
@@ -1596,9 +1581,8 @@ msgstr ""
 "す。下のアドレスを設定して下さい。"
 
 #: actions/imsettings.php:89
-#, fuzzy
 msgid "IM is not available."
-msgstr "このページはあなたが承認したメディアタイプでは利用できません。"
+msgstr "IM が利用不可。"
 
 #: actions/imsettings.php:106
 msgid "Current confirmed Jabber/GTalk address."
@@ -1637,10 +1621,12 @@ msgstr "Jabber/GTalkのステータスが変更された時に通知を送る。
 #: actions/imsettings.php:153
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr ""
+"Jabber/GTalkを通して回答を、私がフォローされていない人々から私に送ってくださ"
+"い。"
 
 #: actions/imsettings.php:159
 msgid "Publish a MicroID for my Jabber/GTalk address."
-msgstr ""
+msgstr "私のJabber/GTalkアドレスのためにMicroIDを発行してください。"
 
 #: actions/imsettings.php:285
 msgid "No Jabber ID."
@@ -1678,25 +1664,26 @@ msgstr "その Jabber ID はあなたのものではありません。"
 #: actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "%s の受信箱 -  ページ %d"
 
 #: actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "%s の受信箱"
 
 #: actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
 msgstr ""
+"これはあなたの受信箱です、やってきたプライベートメッセージをリストします。"
 
 #: actions/invite.php:39
 msgid "Invites have been disabled."
-msgstr ""
+msgstr "招待は無効にされました。"
 
 #: actions/invite.php:41
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "他のユーザが%sを使用するよう誘うためにはログインしなければなりません。"
 
 #: actions/invite.php:72
 #, php-format
@@ -1705,15 +1692,15 @@ msgstr "不正なメールアドレス:%s'"
 
 #: actions/invite.php:110
 msgid "Invitation(s) sent"
-msgstr ""
+msgstr "招待を送りました。"
 
 #: actions/invite.php:112
 msgid "Invite new users"
-msgstr ""
+msgstr "新しい利用者を招待"
 
 #: actions/invite.php:128
 msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "すでにこれらの利用者をフォローしています:"
 
 #: actions/invite.php:131 actions/invite.php:139
 #, php-format
@@ -1724,21 +1711,26 @@ msgstr "%s (%s)"
 msgid ""
 "These people are already users and you were automatically subscribed to them:"
 msgstr ""
+"これらの人々は既にユーザです、そして、あなたは自動的に彼らにフォローされまし"
+"た:"
 
 #: actions/invite.php:144
 msgid "Invitation(s) sent to the following people:"
-msgstr ""
+msgstr "招待を以下の人々に送信しました:"
 
 #: actions/invite.php:150
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
 msgstr ""
+"あなたの招待参加者が招待に応じて、サイトに登録すると、あなたに通知されるで"
+"しょう。 コミュニティを広げてくださってありがとうございます!"
 
 #: actions/invite.php:162
 msgid ""
 "Use this form to invite your friends and colleagues to use this service."
 msgstr ""
+"友人や同僚がこのサービスを利用するようこのフォームを使用して誘ってください。"
 
 #: actions/invite.php:187
 msgid "Email addresses"
@@ -1750,13 +1742,13 @@ msgstr "招待する友人のアドレス (一行に一つ)"
 
 #: actions/invite.php:192
 msgid "Personal message"
-msgstr ""
+msgstr "パーソナルメッセージ"
 
 #: actions/invite.php:194
 msgid "Optionally add a personal message to the invitation."
-msgstr ""
+msgstr "任意に招待にパーソナルメッセージを加えてください。"
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "送る"
 
@@ -1824,71 +1816,68 @@ msgstr ""
 
 #: actions/joingroup.php:60
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "グループに入るためにはログインしなければなりません。"
 
 #: actions/joingroup.php:90 lib/command.php:217
 msgid "You are already a member of that group"
 msgstr "あなたは既にそのグループに参加しています。"
 
 #: actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "サーバへリダイレクトできません : %s"
+msgstr "利用者 %s はグループ %s に参加できません"
 
 #: actions/joingroup.php:135 lib/command.php:239
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s はグループ %s に参加しました"
 
 #: actions/leavegroup.php:60
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "グループから離れるにはログインしていなければなりません。"
 
 #: actions/leavegroup.php:90 lib/command.php:268
-#, fuzzy
 msgid "You are not a member of that group."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81\9dã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81¯ã\81\82ã\82\8aません。"
 
 #: actions/leavegroup.php:119 lib/command.php:278
 msgid "Could not find membership record."
-msgstr ""
+msgstr "会員資格記録を見つけることができませんでした。"
 
 #: actions/leavegroup.php:127 lib/command.php:284
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "OpenIDを作成できません : %s"
+msgstr "利用者 %s をグループ %s から削除することができません"
 
 #: actions/leavegroup.php:134 lib/command.php:289
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s はグループ %s に残りました。"
 
 #: actions/login.php:83 actions/register.php:137
 msgid "Already logged in."
 msgstr "既にログインしています。"
 
 #: actions/login.php:114 actions/login.php:124
-#, fuzzy
 msgid "Invalid or expired token."
-msgstr "ä¸\8dæ­£ã\81ªé\80\9aç\9f¥å\86\85容"
+msgstr "ä¸\8dæ­£ã\81¾ã\81\9fã\81¯æ\9c\9fé\99\90å\88\87ã\82\8cã\81®ã\83\88ã\83¼ã\82¯ã\83³"
 
 #: actions/login.php:147
 msgid "Incorrect username or password."
 msgstr "ユーザ名またはパスワードが間違っています。"
 
 #: actions/login.php:153
-#, fuzzy
 msgid "Error setting user. You are probably not authorized."
-msgstr "認証されていません。"
+msgstr "ユーザ設定エラー。 あなたはたぶん承認されていません。"
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "ログイン"
 
 #: actions/login.php:247
 msgid "Login to site"
-msgstr ""
+msgstr "サイトへログイン"
 
 #: actions/login.php:250 actions/profilesettings.php:106
 #: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
@@ -1927,45 +1916,47 @@ msgid ""
 "Login with your username and password. Don't have a username yet? [Register]"
 "(%%action.register%%) a new account."
 msgstr ""
+"ユーザ名とパスワードで、ログインしてください。 まだユーザ名を持っていません"
+"か? 新しいアカウントを [登録](%%action.register%%)。"
 
 #: actions/makeadmin.php:91
 msgid "Only an admin can make another user an admin."
-msgstr ""
+msgstr "管理者だけが別のユーザを管理者にすることができます。"
 
 #: actions/makeadmin.php:95
 #, php-format
 msgid "%s is already an admin for group \"%s\"."
-msgstr ""
+msgstr "%s はすでにグループ \"%s\" の管理者です。"
 
 #: actions/makeadmin.php:132
 #, php-format
 msgid "Can't get membership record for %s in group %s"
-msgstr ""
+msgstr "%s の会員資格記録をグループ %s 中から取得できません。"
 
 #: actions/makeadmin.php:145
 #, php-format
 msgid "Can't make %s an admin for group %s"
-msgstr ""
+msgstr "%s をグループ %s の管理者にすることはできません"
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "現在のステータスはありません"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "新しいグループ"
 
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "このフォームを使って新しいグループを作成します。"
 
 #: actions/newmessage.php:71 actions/newmessage.php:231
 msgid "New message"
-msgstr ""
+msgstr "新しいメッセージ"
 
 #: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:367
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "この利用者にメッセージを送ることはできません。"
 
 #: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:351
 #: lib/command.php:484
@@ -1974,50 +1965,51 @@ msgstr "コンテンツがありません!"
 
 #: actions/newmessage.php:158
 msgid "No recipient specified."
-msgstr ""
+msgstr "受取人が書かれていません。"
 
 #: actions/newmessage.php:164 lib/command.php:370
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
+"自分自身にメッセージを送ることはできません; かわりに独り言を言いましょう。"
 
 #: actions/newmessage.php:181
 msgid "Message sent"
-msgstr ""
+msgstr "メッセージを送りました"
 
 #: actions/newmessage.php:185 lib/command.php:376
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "ダイレクトメッセージを %s  に送りました"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
-msgstr ""
+msgstr "Ajax エラー"
 
 #: actions/newnotice.php:69
 msgid "New notice"
-msgstr "新しい通知"
+msgstr "新しいつぶやき"
 
-#: actions/newnotice.php:208
-#, fuzzy
+#: actions/newnotice.php:211
 msgid "Notice posted"
-msgstr "通知"
+msgstr "つぶやきを投稿しました"
 
 #: actions/noticesearch.php:68
 #, php-format
 msgid ""
 "Search for notices on %%site.name%% by their contents. Separate search terms "
 "by spaces; they must be 3 characters or more."
-msgstr "%%site.name%% の通知を内容から検索。検索語はスペース区切る。3字以上"
+msgstr ""
+"%%site.name%% のつぶやきを内容から検索。検索語はスペース区切り。3字以上"
 
 #: actions/noticesearch.php:78
 msgid "Text search"
-msgstr "文字検索"
+msgstr "テキスト検索"
 
 #: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
 msgid "Search results for \"%s\" on %s"
-msgstr "\"%s\" のストリームを検索"
+msgstr "%s の %s 上の検索結果"
 
 #: actions/noticesearch.php:121
 #, php-format
@@ -2025,6 +2017,8 @@ msgid ""
 "Be the first to [post on this topic](%%%%action.newnotice%%%%?"
 "status_textarea=%s)!"
 msgstr ""
+"最初の [このトピック投稿](%%%%action.newnotice%%%%?status_textarea=%s) をして"
+"ください!"
 
 #: actions/noticesearch.php:124
 #, php-format
@@ -2032,38 +2026,42 @@ msgid ""
 "Why not [register an account](%%%%action.register%%%%) and be the first to "
 "[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
 msgstr ""
+"なぜ [アカウント登録](%%%%action.register%%%%) しないのですか、そして最初の"
+"[このトピック投稿](%%%%action.newnotice%%%%?status_textarea=%s)してください!"
 
 #: actions/noticesearchrss.php:96
-#, fuzzy, php-format
+#, php-format
 msgid "Updates with \"%s\""
-msgstr "マイクロブログ by %s"
+msgstr "%s で更新"
 
 #: actions/noticesearchrss.php:98
 #, php-format
 msgid "Updates matching search term \"%1$s\" on %2$s!"
-msgstr "検索語「%s」に一致するすべての更新"
+msgstr "\"%2$s\" 上の検索語 \"$1$s\" に一致するすべての更新"
 
 #: actions/nudge.php:85
 msgid ""
 "This user doesn't allow nudges or hasn't confirmed or set his email yet."
 msgstr ""
+"この利用者は、合図を許可していないか、確認されていた状態でないか、メール設定"
+"をしていません。"
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr ""
+msgstr "合図を送った"
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr ""
+msgstr "合図を送った!"
 
 #: actions/oembed.php:79 actions/shownotice.php:100
 msgid "Notice has no profile"
-msgstr "通知にはプロファイルはありません。"
+msgstr "つぶやきにはプロファイルはありません。"
 
 #: actions/oembed.php:86 actions/shownotice.php:180
 #, php-format
 msgid "%1$s's status on %2$s"
-msgstr "%2$s における %1$ の状態"
+msgstr "%2$s における %1$ のステータス"
 
 #: actions/oembed.php:157
 msgid "content type "
@@ -2071,69 +2069,68 @@ msgstr "内容種別 "
 
 #: actions/oembed.php:160
 msgid "Only "
-msgstr ""
+msgstr "だけ "
 
 #: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
 #: lib/api.php:1059 lib/api.php:1169
 msgid "Not a supported data format."
-msgstr ""
+msgstr "サポートされていないデータ形式。"
 
 #: actions/opensearch.php:64
 msgid "People Search"
-msgstr ""
+msgstr "ピープル検索"
 
 #: actions/opensearch.php:67
 msgid "Notice Search"
-msgstr ""
+msgstr "つぶやき検索"
 
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "設定"
+msgstr "その他の設定"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "他のオプションを管理。"
 
 #: actions/othersettings.php:108
 msgid " (free service)"
-msgstr ""
+msgstr "(フリーサービス)"
 
 #: actions/othersettings.php:116
 msgid "Shorten URLs with"
-msgstr ""
+msgstr "URLを短くします"
 
 #: actions/othersettings.php:117
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "使用する自動短縮サービス。"
 
 #: actions/othersettings.php:122
-#, fuzzy
 msgid "View profile designs"
-msgstr "プロファイル設定"
+msgstr "プロファイルデザインを表示"
 
 #: actions/othersettings.php:123
 msgid "Show or hide profile designs."
-msgstr ""
+msgstr "プロファイルデザインの表示または非表示"
 
 #: actions/othersettings.php:153
-#, fuzzy
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr "場所が長すぎます。(255字まで)"
+msgstr "URL 短縮サービスが長すぎます。(最大50字)"
 
 #: actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "%s の送信箱 - ページ %d"
 
 #: actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "%s の送信箱"
 
 #: actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
 msgstr ""
+"これはあなたの送信箱です、あなたが送ったプライベート・メッセージをリストしま"
+"す。"
 
 #: actions/passwordsettings.php:58
 msgid "Change password"
@@ -2145,7 +2142,7 @@ msgstr "パスワードを変更します。"
 
 #: actions/passwordsettings.php:96 actions/recoverpassword.php:231
 msgid "Password change"
-msgstr "パスワード変更"
+msgstr "パスワード変更"
 
 #: actions/passwordsettings.php:104
 msgid "Old password"
@@ -2162,7 +2159,7 @@ msgstr "6文字以上"
 #: actions/passwordsettings.php:112 actions/recoverpassword.php:239
 #: actions/register.php:432 actions/smssettings.php:134
 msgid "Confirm"
-msgstr "確認"
+msgstr "パスワード確認"
 
 #: actions/passwordsettings.php:113 actions/recoverpassword.php:240
 msgid "Same as password above"
@@ -2198,110 +2195,140 @@ msgstr "パスワードが保存されました。"
 
 #: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:308
 msgid "Paths"
-msgstr ""
+msgstr "パス"
 
 #: actions/pathsadminpanel.php:70
 msgid "Path and server settings for this StatusNet site."
-msgstr ""
+msgstr "パスと StatusNet サイトのサーバー設定"
 
 #: actions/pathsadminpanel.php:140
-#, fuzzy, php-format
+#, php-format
 msgid "Theme directory not readable: %s"
-msgstr "ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81¯ã\81\82ã\81ªã\81\9fã\81\8cæ\89¿èª\8dã\81\97ã\81\9fã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82¤ã\83\97ã\81§ã\81¯å\88©ç\94¨ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\83\86ã\83¼ã\83\9eã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\8c読ã\81¿è¾¼ã\82\81ã\81¾ã\81\9bã\82\93: %s"
 
 #: actions/pathsadminpanel.php:146
 #, php-format
 msgid "Avatar directory not writable: %s"
-msgstr ""
+msgstr "アバターディレクトリに書き込みできません: %s"
 
 #: actions/pathsadminpanel.php:152
 #, php-format
 msgid "Background directory not writable: %s"
-msgstr ""
+msgstr "バックグラウンドディレクトリに書き込みできません : %s"
 
 #: actions/pathsadminpanel.php:160
 #, php-format
 msgid "Locales directory not readable: %s"
-msgstr ""
+msgstr "場所ディレクトリが読み込めません: %s"
+
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "不正な SSL サーバー。最大 255 文字まで。"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
-msgstr ""
+msgstr "サイト"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
-msgstr ""
+msgstr "パス"
 
-#: actions/pathsadminpanel.php:216
-#, fuzzy
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
-msgstr "新しい通知"
+msgstr "サイトパス"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
-msgstr ""
+msgstr "ロケールのパス"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
-msgstr ""
+msgstr "ロケールへのディレクトリパス"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
-msgstr ""
+msgstr "テーマ"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
-msgstr ""
+msgstr "テーマサーバー"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
-msgstr ""
+msgstr "テーマパス"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
-msgstr ""
+msgstr "テーマディレクトリ"
 
-#: actions/pathsadminpanel.php:247
-#, fuzzy
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "アバター"
 
-#: actions/pathsadminpanel.php:252
-#, fuzzy
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
-msgstr "設定"
+msgstr "アバターサーバー"
 
-#: actions/pathsadminpanel.php:256
-#, fuzzy
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\81\8cæ\9b´æ\96°ã\81\95ã\82\8cã\81¾ã\81\97ã\81\9fã\80\82"
+msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\83\91ã\82¹"
 
-#: actions/pathsadminpanel.php:260
-#, fuzzy
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\81\8cæ\9b´æ\96°ã\81\95ã\82\8cã\81¾ã\81\97ã\81\9fã\80\82"
+msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
-msgstr ""
+msgstr "バックグラウンド"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
-msgstr ""
+msgstr "バックグラウンドサーバー"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
-msgstr ""
+msgstr "バックグラウンドパス"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
+msgstr "バックグラウンドディレクトリ"
+
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
 msgstr ""
 
 #: actions/pathsadminpanel.php:297
-#, fuzzy
+msgid "Sometimes"
+msgstr "ときどき"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "いつも"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "SSL 使用"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "SSL 使用時"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSLサーバ"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "ダイレクト SSL リクエストを向けるサーバ"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
-msgstr "新しい通知"
+msgstr "保存パス"
 
 #: actions/peoplesearch.php:52
 #, php-format
@@ -2309,30 +2336,31 @@ msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
 "Separate the terms by spaces; they must be 3 characters or more."
 msgstr ""
-"%%site.name%% の人を名前、場所、興味から検索。検索語はスペース区切る。3字以上"
+"%%site.name%% の人を名前、場所、興味から検索。検索語はスペース区切り。3字以"
+"上。"
 
 #: actions/peoplesearch.php:58
 msgid "People search"
 msgstr "ピープルサーチ"
 
 #: actions/peopletag.php:70
-#, fuzzy, php-format
+#, php-format
 msgid "Not a valid people tag: %s"
-msgstr "æ\9c\89å\8a¹ã\81ªã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ã\81§ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "æ­£ã\81\97ã\81\84ã\82¿ã\82°ã\81§ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ï¼\9a %s"
 
 #: actions/peopletag.php:144
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "ユーザがつけたタグ %s  - ページ %d"
 
 #: actions/postnotice.php:84
 msgid "Invalid notice content"
-msgstr "不正な通知内容"
+msgstr "不正なつぶやき内容"
 
 #: actions/postnotice.php:90
 #, php-format
 msgid "Notice license ‘%s’ is not compatible with site license ‘%s’."
-msgstr ""
+msgstr "つぶやきライセンス ‘%s’ はサイトライセンス ‘%s’ と互換性がありません。"
 
 #: actions/profilesettings.php:60
 msgid "Profile settings"
@@ -2346,9 +2374,8 @@ msgstr ""
 "す。"
 
 #: actions/profilesettings.php:99
-#, fuzzy
 msgid "Profile information"
-msgstr "プロファイルが不明"
+msgstr "プロファイル情報"
 
 #: actions/profilesettings.php:108 lib/groupeditform.php:154
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
@@ -2391,109 +2418,114 @@ msgstr "場所"
 
 #: actions/profilesettings.php:134 actions/register.php:472
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr "自分のいる場所。例:「都市,  (または地域), 国」"
+msgstr "自分のいる場所。例:「都市, 都道府県 (または地域), 国」"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "つぶやきを投稿するときには私の現在の場所を共有してください"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "タグ"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
-"自分自身についてのタグ (アルファベット/数字/-/./_)、カンマまたは空白区切"
+"自分自身についてのタグ (アルファベット、数字、-、.、_)、カンマまたは空白区切"
 "りで"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "言語"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "ご希望の言語"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "タイムゾーン"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "普段のタイムゾーンはどれですか?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
-msgstr "自分を購読している者を自動的に購読する (非人間に最適)"
+msgstr "自分をフォローしている者を自動的にフォローする (BOTに最適)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "自己紹介が長すぎます (最長140文字)。"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
-msgstr ""
+msgstr "タイムゾーンが選ばれていません。"
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
-msgstr ""
+msgstr "言語が長すぎます。(最大50字)"
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
-#, fuzzy, php-format
+#: actions/profilesettings.php:253 actions/tagother.php:178
+#, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "ä¸\8dæ­£ã\81ªã\83\9bã\83¼ã\83 ã\83\9aã\83¼ã\82¸ '%s'"
+msgstr "ä¸\8dæ­£ã\81ªã\82¿ã\82°: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
-msgstr ""
+msgstr "自動フォローのための利用者を更新できませんでした。"
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "場所情報を保存できません。"
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "プロファイルを保存できません"
 
-#: actions/profilesettings.php:336
-#, fuzzy
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
-msgstr "ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ä¿\9då­\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82¿ã\82°ã\82\92ä¿\9då­\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "設定が保存されました。"
 
 #: actions/public.php:83
 #, php-format
 msgid "Beyond the page limit (%s)"
-msgstr ""
+msgstr "ページ制限を超えました (%s)"
 
 #: actions/public.php:92
 msgid "Could not retrieve public stream."
-msgstr ""
+msgstr "パブリックストリームを検索できません。"
 
 #: actions/public.php:129
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "パブリックタイムライン"
+msgstr "パブリックタイムライン、ページ %d"
 
 #: actions/public.php:131 lib/publicgroupnav.php:79
 msgid "Public timeline"
 msgstr "パブリックタイムライン"
 
 #: actions/public.php:151
-#, fuzzy
 msgid "Public Stream Feed (RSS 1.0)"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89 (RSS 1.0)"
 
 #: actions/public.php:155
-#, fuzzy
 msgid "Public Stream Feed (RSS 2.0)"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89 (RSS 2.0)"
 
 #: actions/public.php:159
-#, fuzzy
 msgid "Public Stream Feed (Atom)"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89 (Atom)"
 
 #: actions/public.php:179
 #, php-format
@@ -2501,16 +2533,20 @@ msgid ""
 "This is the public timeline for %%site.name%% but no one has posted anything "
 "yet."
 msgstr ""
+"これは %%site.name%% のパブリックタイムラインです、しかしまだ誰も投稿していま"
+"せん。"
 
 #: actions/public.php:182
 msgid "Be the first to post!"
-msgstr ""
+msgstr "投稿する1番目になってください!"
 
 #: actions/public.php:186
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post!"
 msgstr ""
+"なぜ [アカウント登録](%%action.register%%) しないのですか、そして最初の投稿を"
+"してください!"
 
 #: actions/public.php:233
 #, php-format
@@ -2520,6 +2556,11 @@ msgid ""
 "tool. [Join now](%%action.register%%) to share notices about yourself with "
 "friends, family, and colleagues! ([Read more](%%doc.help%%))"
 msgstr ""
+"これは %%site.name%% です。フリーソフトウェアツール[StatusNet](http://status."
+"net/)を基にした[マイクロブロギング](http://en.wikipedia.org/wiki/Micro-"
+"blogging) サービス。[今すぐ参加](%%action.register%%)してあなた自身や友達、家"
+"族そして同僚などについてのつぶやきを共有しましょう! ([もっと読む](%%doc.help%"
+"%))"
 
 #: actions/public.php:238
 #, php-format
@@ -2528,25 +2569,28 @@ msgid ""
 "blogging) service based on the Free Software [StatusNet](http://status.net/) "
 "tool."
 msgstr ""
+"これは %%site.name%% です。フリーソフトウェアツール[StatusNet](http://status."
+"net/)を基にした[マイクロブロギング](http://en.wikipedia.org/wiki/Micro-"
+"blogging) サービス。"
 
 #: actions/publictagcloud.php:57
-#, fuzzy
 msgid "Public tag cloud"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ド"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¿ã\82°ã\82¯ã\83©ã\82¦ド"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "これらは %s の人気がある最近のタグです "
 
 #: actions/publictagcloud.php:69
 #, php-format
 msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
 msgstr ""
+"まだだれも [ハッシュタグ](%%doc.tags%%) 付きのつぶやきを投稿していません。"
 
 #: actions/publictagcloud.php:72
 msgid "Be the first to post one!"
-msgstr ""
+msgstr "投稿する1番目になってください!"
 
 #: actions/publictagcloud.php:75
 #, php-format
@@ -2554,10 +2598,12 @@ msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post "
 "one!"
 msgstr ""
+"なぜ [アカウント登録](%%action.register%%) しないのですか。そして最初の投稿を"
+"してください!"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
-msgstr ""
+msgstr "タグクラウド"
 
 #: actions/recoverpassword.php:36
 msgid "You are already logged in!"
@@ -2585,25 +2631,27 @@ msgstr "確認コードが古すぎます。もう一度やり直してくださ
 
 #: actions/recoverpassword.php:111
 msgid "Could not update user with confirmed email address."
-msgstr ""
+msgstr "確認されたメールアドレスで利用者を更新できません。"
 
 #: actions/recoverpassword.php:152
 msgid ""
 "If you have forgotten or lost your password, you can get a new one sent to "
 "the email address you have stored in your account."
 msgstr ""
+"あなたのパスワードを忘れるか紛失したなら、あなたはアカウントに格納したメール"
+"アドレスに新しいものを送らせることができます。"
 
 #: actions/recoverpassword.php:158
 msgid "You have been identified. Enter a new password below. "
-msgstr ""
+msgstr "あなたは特定されました。 以下の新しいパスワードを入力してください。 "
 
 #: actions/recoverpassword.php:188
 msgid "Password recovery"
-msgstr ""
+msgstr "パスワード回復"
 
 #: actions/recoverpassword.php:191
 msgid "Nickname or email address"
-msgstr ""
+msgstr "ニックネームまたはメールアドレス"
 
 #: actions/recoverpassword.php:193
 msgid "Your nickname on this server, or your registered email address."
@@ -2623,11 +2671,11 @@ msgstr "パスワードを回復"
 
 #: actions/recoverpassword.php:210 actions/recoverpassword.php:322
 msgid "Password recovery requested"
-msgstr "ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89å\9b\9e復ã\81®リクエストされました"
+msgstr "ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89å\9b\9e復ã\81\8cリクエストされました"
 
 #: actions/recoverpassword.php:213
 msgid "Unknown action"
-msgstr ""
+msgstr "不明なアクション"
 
 #: actions/recoverpassword.php:236
 msgid "6 or more characters, and don't forget it!"
@@ -2643,11 +2691,11 @@ msgstr "ニックネームかメールアドレスを入力してください。
 
 #: actions/recoverpassword.php:272
 msgid "No user with that email address or username."
-msgstr ""
+msgstr "そのメールアドレスかユーザ名をもっている利用者がありません。"
 
 #: actions/recoverpassword.php:287
 msgid "No registered email address for that user."
-msgstr "そのユーザにはメールアドレスの登録がありません。"
+msgstr "その利用者にはメールアドレスの登録がありません。"
 
 #: actions/recoverpassword.php:301
 msgid "Error saving address confirmation."
@@ -2657,7 +2705,7 @@ msgstr "アドレス確認保存エラー"
 msgid ""
 "Instructions for recovering your password have been sent to the email "
 "address registered to your account."
-msgstr "登録されたメールアドレスにパスワードの回復方法をおおくりしました。"
+msgstr "登録されたメールアドレスにパスワードの回復方法をおりしました。"
 
 #: actions/recoverpassword.php:344
 msgid "Unexpected password reset."
@@ -2681,25 +2729,24 @@ msgstr "新しいパスワードの保存に成功しました。ログインし
 
 #: actions/register.php:85 actions/register.php:189 actions/register.php:404
 msgid "Sorry, only invited people can register."
-msgstr ""
+msgstr "すみません、招待された人々だけが登録できます。"
 
 #: actions/register.php:92
-#, fuzzy
 msgid "Sorry, invalid invitation code."
-msgstr "確認コードにエラーがあります。"
+msgstr "すみません、不正な招待コード。"
 
 #: actions/register.php:112
 msgid "Registration successful"
-msgstr ""
+msgstr "登録成功"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "登録"
 
 #: actions/register.php:135
 msgid "Registration not allowed."
-msgstr ""
+msgstr "登録は許可されていません。"
 
 #: actions/register.php:198
 msgid "You can't register if you don't agree to the license."
@@ -2722,6 +2769,8 @@ msgid ""
 "With this form you can create  a new account. You can then post notices and "
 "link up to friends and colleagues. "
 msgstr ""
+"このフォームで新しいアカウントを作成できます。 次につぶやきを投稿して、友人や"
+"同僚にリンクできます。 "
 
 #: actions/register.php:424
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
@@ -2734,10 +2783,10 @@ msgstr "6文字以上。必須です。"
 
 #: actions/register.php:433
 msgid "Same as password above. Required."
-msgstr ""
+msgstr "上のパスワードと同じです。 必須。"
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "メール"
 
@@ -2747,22 +2796,21 @@ msgstr "更新、アナウンス、パスワードリカバリーでのみ使用
 
 #: actions/register.php:449
 msgid "Longer name, preferably your \"real\" name"
-msgstr ""
+msgstr "長い名前"
 
 #: actions/register.php:493
 msgid "My text and files are available under "
-msgstr "の下でテキスト及びファイルを利用可能"
+msgstr "次の下でテキスト及びファイルを利用可能 "
 
 #: actions/register.php:495
 msgid "Creative Commons Attribution 3.0"
 msgstr ""
 
 #: actions/register.php:496
-#, fuzzy
 msgid ""
 " except this private data: password, email address, IM address, and phone "
 "number."
-msgstr "個人情報を除く:パスワード、メールアドレス、IMアドレス、電話番号"
+msgstr "個人情報を除く: パスワード、メールアドレス、IMアドレス、電話番号"
 
 #: actions/register.php:537
 #, php-format
@@ -2812,23 +2860,22 @@ msgid ""
 "register%%) a new  account. If you already have an account  on a [compatible "
 "microblogging site](%%doc.openmublog%%),  enter your profile URL below."
 msgstr ""
-"ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96するには、[ログイン](%%action.login%%) するか, [登録](%%action."
+"ã\83\95ã\82©ã\83­ã\83¼するには、[ログイン](%%action.login%%) するか, [登録](%%action."
 "register%%) を行って下さい。既に [compatible microblogging site](%%doc."
-"openmublog%%) にアカウントを持っおもちの場合は、下にプロファイルURLを入力して"
-"下さい."
+"openmublog%%) にアカウントをお持ちの場合は、下にプロファイルURLを入力して下さ"
+"い."
 
 #: actions/remotesubscribe.php:112
 msgid "Remote subscribe"
-msgstr "ã\83ªã\83¢ã\83¼ã\83\88ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96"
+msgstr "ã\83ªã\83¢ã\83¼ã\83\88ã\83\95ã\82©ã\83­ã\83¼"
 
 #: actions/remotesubscribe.php:124
-#, fuzzy
 msgid "Subscribe to a remote user"
-msgstr "購読が許可"
+msgstr "リモートユーザーをフォロー"
 
 #: actions/remotesubscribe.php:129
 msgid "User nickname"
-msgstr "ユーザのニックネーム"
+msgstr "利用者のニックネーム"
 
 #: actions/remotesubscribe.php:130
 msgid "Nickname of the user you want to follow"
@@ -2845,54 +2892,50 @@ msgstr "プロファイルサービスまたはマイクロブロギングサー
 #: actions/remotesubscribe.php:137 lib/subscribeform.php:139
 #: lib/userprofile.php:365
 msgid "Subscribe"
-msgstr "購読"
+msgstr "フォロー"
 
 #: actions/remotesubscribe.php:159
 msgid "Invalid profile URL (bad format)"
 msgstr "不正なプロファイルURL。(形式不備)"
 
 #: actions/remotesubscribe.php:168
-#, fuzzy
 msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
-msgstr "有効なプロファイルURLではありません。(XRDSドキュメントが無い)"
+msgstr ""
+"有効なプロファイルURLではありません。(YADIS ドキュメントがないかまたは 不正"
+"な XRDS 定義)"
 
 #: actions/remotesubscribe.php:176
 msgid "That’s a local profile! Login to subscribe."
 msgstr ""
+"それはローカルのプロファイルです! フォローするには、ログインしてください。"
 
 #: actions/remotesubscribe.php:183
-#, fuzzy
 msgid "Couldn’t get a request token."
 msgstr "リクエストトークンを取得できません"
 
 #: actions/repeat.php:57
 msgid "Only logged-in users can repeat notices."
-msgstr ""
+msgstr "ログインユーザだけがつぶやきを繰り返せます。"
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "新しい通知"
+msgstr "つぶやきがありません。"
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "ライセンスに同意頂けない場合は登録できません。"
+msgstr "自分のつぶやきは繰り返せません。"
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "既にログイン済みです。"
+msgstr "すでにそのつぶやきを繰り返しています。"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "作成"
+msgstr "繰り返された"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "作成"
+msgstr "繰り返されました!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -2901,24 +2944,24 @@ msgid "Replies to %s"
 msgstr "%s への返信"
 
 #: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %s, page %d"
-msgstr "%s への返信"
+msgstr "%s への返信、ページ %d"
 
 #: actions/replies.php:144
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%s の返信フィード (RSS 1.0)"
 
 #: actions/replies.php:151
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%s の返信フィード (RSS 2.0)"
 
 #: actions/replies.php:158
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%s の返信フィード (Atom)"
 
 #: actions/replies.php:198
 #, php-format
@@ -2926,6 +2969,8 @@ msgid ""
 "This is the timeline showing replies to %s but %s hasn't received a notice "
 "to his attention yet."
 msgstr ""
+"これは %s への返信を表示したタイムラインです、しかし %s はまだつぶやきを受け"
+"取っていません。"
 
 #: actions/replies.php:203
 #, php-format
@@ -2933,6 +2978,8 @@ msgid ""
 "You can engage other users in a conversation, subscribe to more people or "
 "[join groups](%%action.groups%%)."
 msgstr ""
+"あなたは、他のユーザを会話をするか、多くの人々をフォローするか、または [グ"
+"ループに加わる] (%%action.groups%%)ことができます。"
 
 #: actions/replies.php:205
 #, php-format
@@ -2940,51 +2987,54 @@ msgid ""
 "You can try to [nudge %s](../%s) or [post something to his or her attention]"
 "(%%%%action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"あなたは [合図 %s](../%s) するか、[その人宛てに何かを投稿](%%%%action."
+"newnotice%%%%?status_textarea=%s)してください。"
 
 #: actions/repliesrss.php:72
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %1$s on %2$s!"
-msgstr "%s への返信"
+msgstr "%2$s 上の %1$s への返信!"
 
 #: actions/sandbox.php:65 actions/unsandbox.php:65
-#, fuzzy
 msgid "You cannot sandbox users on this site."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81\93ã\81®ã\82µã\82¤ã\83\88ã\81®ã\82µã\83³ã\83\89ã\83\9cã\83\83ã\82¯ã\82¹ã\83¦ã\83¼ã\82¶ã\81\8cã\81§ã\81\8dません。"
 
 #: actions/sandbox.php:72
-#, fuzzy
 msgid "User is already sandboxed."
-msgstr "プロファイルがありません。"
+msgstr "利用者はすでにサンドボックスです。"
 
 #: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
 msgid "%s's favorite notices, page %d"
-msgstr "そのような通知はありません。"
+msgstr "%s のお気に入りのつぶやき、ページ %d"
 
 #: actions/showfavorites.php:132
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "お気に入りのつぶやきを検索できません。"
 
 #: actions/showfavorites.php:170
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for favorites of %s (RSS 1.0)"
-msgstr "%s ã\81®ã\81¨ã\82\82ã\81 ã\81¡ã\81®ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "%s ã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\83\95ã\82£ã\83¼ã\83\89 (RSS 1.0)"
 
 #: actions/showfavorites.php:177
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for favorites of %s (RSS 2.0)"
-msgstr "%s ã\81®ã\81¨ã\82\82ã\81 ã\81¡ã\81®ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "%s ã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\83\95ã\82£ã\83¼ã\83\89 (RSS 2.0)"
 
 #: actions/showfavorites.php:184
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for favorites of %s (Atom)"
-msgstr "%s ã\81®ã\81¨ã\82\82ã\81 ã\81¡ã\81®ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "%s ã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\83\95ã\82£ã\83¼ã\83\89 (Atom)"
 
 #: actions/showfavorites.php:205
 msgid ""
 "You haven't chosen any favorite notices yet. Click the fave button on "
 "notices you like to bookmark them for later or shed a spotlight on them."
 msgstr ""
+"あなたはまだ少しのお気に入りのつぶやきも選んでいません。 後でブックマークを追"
+"加するあなたがそれらがお気に入りのつぶやきのときにお気に入りボタンをクリック"
+"するか、またはそれらの上でスポットライトをはじいてください。"
 
 #: actions/showfavorites.php:207
 #, php-format
@@ -2992,6 +3042,8 @@ msgid ""
 "%s hasn't added any notices to his favorites yet. Post something interesting "
 "they would add to their favorites :)"
 msgstr ""
+"%s はまだ彼のお気に入りに少しのつぶやきも加えていません。 彼らがお気に入りに"
+"加えることおもしろいものを投稿してください:)"
 
 #: actions/showfavorites.php:211
 #, php-format
@@ -3000,88 +3052,87 @@ msgid ""
 "account](%%%%action.register%%%%) and then post something interesting they "
 "would add to their favorites :)"
 msgstr ""
+"%s はまだお気に入りに少しのつぶやきも加えていません。 なぜ [アカウント登録](%"
+"%%%action.register%%%%) しないのですか。そして、彼らがお気に入りに加えるおも"
+"しろい何かを投稿しませんか:)"
 
 #: actions/showfavorites.php:242
 msgid "This is a way to share what you like."
-msgstr ""
+msgstr "これは、あなたが好きなことを共有する方法です。"
 
 #: actions/showgroup.php:82 lib/groupnav.php:86
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "%s グループ"
 
 #: actions/showgroup.php:84
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "%s グループ、ページ %d"
 
 #: actions/showgroup.php:218
-#, fuzzy
 msgid "Group profile"
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªé\80\9aç\9f¥ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«"
 
 #: actions/showgroup.php:263 actions/tagother.php:118
 #: actions/userauthorization.php:167 lib/userprofile.php:177
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
 #: actions/showgroup.php:274 actions/tagother.php:128
 #: actions/userauthorization.php:179 lib/userprofile.php:194
-#, fuzzy
 msgid "Note"
-msgstr "通知"
+msgstr "ノート"
 
 #: actions/showgroup.php:284 lib/groupeditform.php:184
 msgid "Aliases"
-msgstr ""
+msgstr "別名"
 
 #: actions/showgroup.php:293
 msgid "Group actions"
-msgstr ""
+msgstr "グループアクション"
 
 #: actions/showgroup.php:328
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%s グループのつぶやきフィード (RSS 1.0)"
 
 #: actions/showgroup.php:334
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%s グループのつぶやきフィード (RSS 2.0)"
 
 #: actions/showgroup.php:340
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%s グループのつぶやきフィード (Atom)"
 
 #: actions/showgroup.php:345
-#, fuzzy, php-format
+#, php-format
 msgid "FOAF for %s group"
-msgstr "%sの通知フィード"
+msgstr "%s グループの FOAF"
 
 #: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
-#, fuzzy
 msgid "Members"
-msgstr "ã\81\8bã\82\89ã\81®ã\83¡ã\83³ã\83\90ã\83¼"
+msgstr "メンバー"
 
 #: actions/showgroup.php:386 lib/profileaction.php:117
 #: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(なし)"
 
 #: actions/showgroup.php:392
 msgid "All members"
-msgstr ""
+msgstr "全てのメンバー"
 
 #: actions/showgroup.php:429 lib/profileaction.php:174
 msgid "Statistics"
 msgstr "統計データ"
 
 #: actions/showgroup.php:432
-#, fuzzy
 msgid "Created"
-msgstr "作成"
+msgstr "作成されました"
 
 #: actions/showgroup.php:448
 #, php-format
@@ -3092,6 +3143,11 @@ msgid ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
+"**%s** は %%site.name%% 上のユーザグループです。フリーソフトウェアツール"
+"[StatusNet](http://status.net/)を基にした[マイクロブロギング] (http://en."
+"wikipedia.org/wiki/Micro-blogging) サービス。メンバーは彼らの暮らしと興味に関"
+"する短いメッセージを共有します。[今すぐ参加](%%%%action.register%%%%) してこ"
+"のグループの一員になりましょう! ([もっと読む](%%%%doc.help%%%%))"
 
 #: actions/showgroup.php:454
 #, php-format
@@ -3101,80 +3157,84 @@ msgid ""
 "[StatusNet](http://status.net/) tool. Its members share short messages about "
 "their life and interests. "
 msgstr ""
+"**%s** は %%site.name%% 上のユーザグループです。フリーソフトウェアツール"
+"[StatusNet](http://status.net/)を基にした[マイクロブロギング](http://en."
+"wikipedia.org/wiki/Micro-blogging) サービス。メンバーは彼らの暮らしと興味に関"
+"する短いメッセージを共有します。"
 
 #: actions/showgroup.php:482
-#, fuzzy
 msgid "Admins"
 msgstr "管理者"
 
 #: actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "そのようなメッセージはありません。"
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "送信者と受取人だけがこのメッセージを読めます。"
 
 #: actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "%2$s 上の %1$s へのメッセージ"
 
 #: actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "%2$s 上の %1$s からのメッセージ"
 
 #: actions/shownotice.php:90
-#, fuzzy
 msgid "Notice deleted."
-msgstr "通知"
+msgstr "つぶやきを削除しました。"
 
 #: actions/showstream.php:73
 #, php-format
 msgid " tagged %s"
-msgstr ""
+msgstr "タグ付けされた %s"
 
 #: actions/showstream.php:79
 #, php-format
 msgid "%s, page %d"
-msgstr ""
+msgstr "%s、ページ %d"
 
 #: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s tagged %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%sの%sとタグ付けされたつぶやきフィード (RSS 1.0)"
 
 #: actions/showstream.php:129
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%sのつぶやきフィード (RSS 1.0)"
 
 #: actions/showstream.php:136
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%sのつぶやきフィード (RSS 2.0)"
 
 #: actions/showstream.php:143
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%sのつぶやきフィード (Atom)"
 
 #: actions/showstream.php:148
 #, php-format
 msgid "FOAF for %s"
-msgstr ""
+msgstr "%s の FOAF"
 
 #: actions/showstream.php:191
 #, php-format
 msgid "This is the timeline for %s but %s hasn't posted anything yet."
-msgstr ""
+msgstr "これは %s のタイムラインですが、%s はまだなにも投稿していません。"
 
 #: actions/showstream.php:196
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
+"最近おもしろいものは何でしょう? あなたは少しのつぶやきも投稿していませんが、"
+"いまは始める良い時でしょう:)"
 
 #: actions/showstream.php:198
 #, php-format
@@ -3182,6 +3242,8 @@ msgid ""
 "You can try to nudge %s or [post something to his or her attention](%%%%"
 "action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"あなたは、%s に合図するか、[またはその人宛に何かを投稿](%%%%action.newnotice%"
+"%%%?status_textarea=%s) しようとすることができます。"
 
 #: actions/showstream.php:234
 #, php-format
@@ -3191,6 +3253,11 @@ msgid ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
+"**%s** は %%site.name%% 上のアカウントです。フリーソフトウェアツール"
+"[StatusNet](http://status.net/)を基にした[マイクロブロギング] (http://en."
+"wikipedia.org/wiki/Micro-blogging) サービス。[今すぐ参加](%%%%action.register"
+"%%%%)して、**%s** のつぶやきなどをフォローしましょう! ([もっと読む](%%%%doc."
+"help%%%%))"
 
 #: actions/showstream.php:239
 #, php-format
@@ -3199,282 +3266,238 @@ msgid ""
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
+"**%s** は %%site.name%% 上のアカウントです。フリーソフトウェアツール"
+"[StatusNet](http://status.net/)を基にした[マイクロブロギング] (http://en."
+"wikipedia.org/wiki/Micro-blogging) サービス。"
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "%s ã\81¸ã\81®è¿\94ä¿¡"
+msgstr "%s ã\81®ç¹°ã\82\8aè¿\94ã\81\97"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
-msgstr ""
+msgstr "あなたはこのサイトでユーザを黙らせることができません。"
 
 #: actions/silence.php:72
-#, fuzzy
 msgid "User is already silenced."
-msgstr "プロファイルがありません。"
+msgstr "利用者は既に黙っています。"
 
 #: actions/siteadminpanel.php:69
 msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "この StatusNet サイトの基本設定。"
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "サイト名は長さ0ではいけません。"
 
-#: actions/siteadminpanel.php:155
-#, fuzzy
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
-msgstr "有効なメールアドレスではありません。"
+msgstr "有効な連絡用メールアドレスがなければなりません。"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "不明な言語 \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
-msgstr ""
+msgstr "不正なスナップショットレポートURL。"
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
-msgstr ""
+msgstr "不正なスナップショットランバリュー"
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
+msgstr "スナップショット頻度は数でなければなりません。"
 
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
-msgstr ""
+msgstr "最小のテキスト制限は140字です。"
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
-msgstr ""
+msgstr "デュープ制限は1秒以上でなければなりません。"
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
-msgstr ""
+msgstr "一般"
 
-#: actions/siteadminpanel.php:269
-#, fuzzy
+#: actions/siteadminpanel.php:256
 msgid "Site name"
-msgstr "新しい通知"
+msgstr "サイト名"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
-msgstr ""
+msgstr "あなたのサイトの名前、\"Yourcompany Microblog\"のような。"
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
-msgstr ""
+msgstr "持って来られます"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
+"クレジットに使用されるテキストは、それぞれのページのフッターでリンクされま"
+"す。"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
-msgstr ""
+msgstr "URLで、持って来られます"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
+"クレジットに使用されるURLは、それぞれのページのフッターでリンクされます。"
 
-#: actions/siteadminpanel.php:284
-#, fuzzy
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
-msgstr "ã\81\9dã\81®ã\83¦ã\83¼ã\82¶ã\81«ã\81¯ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ã\81®ç\99»é\8c²ã\81\8cã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\82µã\82¤ã\83\88ã\81«ã\82³ã\83³ã\82¿ã\82¯ã\83\88ã\81\99ã\82\8bã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹"
 
-#: actions/siteadminpanel.php:290
-#, fuzzy
+#: actions/siteadminpanel.php:277
 msgid "Local"
-msgstr "場所"
+msgstr "ローカル"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
-msgstr ""
+msgstr "デフォルトタイムゾーン"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "サイトのデフォルトタイムゾーン; 通常UTC。"
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
-msgstr ""
+msgstr "デフォルトサイト言語"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
-#, fuzzy
+#: actions/siteadminpanel.php:306
 msgid "Server"
-msgstr "回復"
+msgstr "サーバー"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
-msgstr ""
+msgstr "サイトのサーバーホスト名"
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
-msgstr ""
+msgstr "Fancy URL (読みやすく忘れにくい) を使用しますか?"
 
-#: actions/siteadminpanel.php:331
-#, fuzzy
+#: actions/siteadminpanel.php:318
 msgid "Access"
-msgstr "承認"
+msgstr "アクセス"
 
-#: actions/siteadminpanel.php:334
-#, fuzzy
+#: actions/siteadminpanel.php:321
 msgid "Private"
-msgstr "ã\83\97ã\83©ã\82¤ã\83\90ã\82·ã\83¼"
+msgstr "ã\83\97ã\83©ã\82¤ã\83\99ã\83¼ã\83\88"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr ""
+msgstr "匿名ユーザー(ログインしていません)がサイトを見るのを禁止しますか?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
-msgstr ""
+msgstr "招待のみ"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
-msgstr ""
+msgstr "招待のみ登録する"
 
-#: actions/siteadminpanel.php:346
-#, fuzzy
+#: actions/siteadminpanel.php:333
 msgid "Closed"
-msgstr "ブロック"
+msgstr "閉じられた"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
-msgstr ""
+msgstr "新規登録を無効。"
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
-msgstr ""
+msgstr "スナップショット"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
-msgstr ""
+msgstr "予定されているジョブで"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "回復"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
-msgstr ""
+msgstr "データスナップショット"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
-msgstr ""
+msgstr "いつ status.net サーバに統計データを送りますか"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
-msgstr ""
+msgstr "頻度"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+msgstr "レポート URL"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
-msgstr ""
+msgstr "レポート URL"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
-msgstr ""
-
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "通知"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
+msgstr "このURLにスナップショットを送るでしょう"
 
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
-msgstr ""
+msgstr "制限"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
-msgstr ""
+msgstr "テキスト制限"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
-msgstr ""
+msgstr "つぶやきの文字の最大数"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
-msgstr ""
+msgstr "デュープ制限"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
+"どれくらい長い間(秒)、ユーザは、再び同じものを投稿するのを待たなければならな"
+"いか。"
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
-#, fuzzy
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
-msgstr "設定"
+msgstr "サイト設定の保存"
 
 #: actions/smssettings.php:58
 msgid "SMS Settings"
-msgstr ""
+msgstr "SMS 設定"
 
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
 msgstr ""
+"あなたは %%site.name%% からメールでSMSメッセージを受け取ることができます。"
 
 #: actions/smssettings.php:91
-#, fuzzy
 msgid "SMS is not available."
-msgstr "このページはあなたが承認したメディアタイプでは利用できません。"
+msgstr "SMS は利用できません。"
 
 #: actions/smssettings.php:112
 msgid "Current confirmed SMS-enabled phone number."
-msgstr ""
+msgstr "現在の確認された SMS 可能な電話番号。"
 
 #: actions/smssettings.php:123
 msgid "Awaiting confirmation on this phone number."
@@ -3486,60 +3509,63 @@ msgstr "確認コード"
 
 #: actions/smssettings.php:131
 msgid "Enter the code you received on your phone."
-msgstr ""
+msgstr "あなたがあなたの電話で受け取ったコードを入れてください。"
 
 #: actions/smssettings.php:138
 msgid "SMS Phone number"
-msgstr ""
+msgstr "SMS 電話番号"
 
 #: actions/smssettings.php:140
 msgid "Phone number, no punctuation or spaces, with area code"
-msgstr ""
+msgstr "電話番号、句読点またはスペースがない、市街番号付き"
 
 #: actions/smssettings.php:174
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
 msgstr ""
+"SMSを通してつぶやきを私に送ってください; 私は、私のキャリアから法外な料金を被"
+"るかもしれないのを理解しています。"
 
 #: actions/smssettings.php:306
 msgid "No phone number."
-msgstr ""
+msgstr "電話番号がありません。"
 
 #: actions/smssettings.php:311
 msgid "No carrier selected."
-msgstr ""
+msgstr "キャリアが選択されていません。"
 
 #: actions/smssettings.php:318
 msgid "That is already your phone number."
-msgstr ""
+msgstr "これはすでにあなたの電話番号です。"
 
 #: actions/smssettings.php:321
 msgid "That phone number already belongs to another user."
-msgstr ""
+msgstr "この電話番号はすでに他の利用者に使われています。"
 
 #: actions/smssettings.php:347
-#, fuzzy
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your phone "
 "for the code and instructions on how to use it."
-msgstr "その確認コードはあなたのものではありません!"
+msgstr ""
+"あなたが加えた電話番号に確認コードを送りました。 どうそれを使用するかに関する"
+"コードと指示のために電話をチェックしてください。"
 
 #: actions/smssettings.php:374
 msgid "That is the wrong confirmation number."
-msgstr ""
+msgstr "それは間違った確認番号です。"
 
 #: actions/smssettings.php:405
 msgid "That is not your phone number."
-msgstr ""
+msgstr "それはあなたの電話番号ではありません。"
 
 #: actions/smssettings.php:465
 msgid "Mobile carrier"
-msgstr ""
+msgstr "携帯電話会社"
 
 #: actions/smssettings.php:469
 msgid "Select a carrier"
-msgstr ""
+msgstr "キャリア選択"
 
 #: actions/smssettings.php:476
 #, php-format
@@ -3547,60 +3573,61 @@ msgid ""
 "Mobile carrier for your phone. If you know a carrier that accepts SMS over "
 "email but isn't listed here, send email to let us know at %s."
 msgstr ""
+"あなたの電話のための携帯電話会社。 メールの上にSMSを受け入れますが、ここに記"
+"載されていないキャリアを知っているなら、メールを送って、%sで私たちに知らせて"
+"ください。"
 
 #: actions/smssettings.php:498
 msgid "No code entered"
-msgstr ""
+msgstr "コードが入力されていません"
 
 #: actions/subedit.php:70
-#, fuzzy
 msgid "You are not subscribed to that profile."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡されていません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\83\95ã\82©ã\83­ã\83¼されていません。"
 
 #: actions/subedit.php:83
-#, fuzzy
 msgid "Could not save subscription."
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\83\95ã\82©ã\83­ã\83¼ã\82\92ä¿\9då­\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: actions/subscribe.php:55
-#, fuzzy
 msgid "Not a local user."
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¦ã\83¼ã\82¶ã\81¯ã\81\84ません。"
+msgstr "ã\83­ã\83¼ã\82«ã\83«ã\83¦ã\83¼ã\82¶ã\81§ã\81¯ã\81\82ã\82\8aません。"
 
 #: actions/subscribe.php:69
-#, fuzzy
 msgid "Subscribed"
-msgstr "購読"
+msgstr "フォローしている"
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "購読者"
+msgstr "フォローされている"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "%s フォローされている、ページ %d"
 
 #: actions/subscribers.php:63
 msgid "These are the people who listen to your notices."
-msgstr "あなたの通知を聞いている人"
+msgstr "あなたのつぶやきを聞いている人"
 
 #: actions/subscribers.php:67
 #, php-format
 msgid "These are the people who listen to %s's notices."
-msgstr "%s の通知を聞いている人"
+msgstr "%s のつぶやきを聞いている人"
 
 #: actions/subscribers.php:108
 msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
 "return the favor"
 msgstr ""
+"あなたには、フォローしている人が全くいません。 あなたが知っている人々をフォ"
+"ローしてみてください。そうすれば、彼らはお気に入りを返すかもしれません。"
 
 #: actions/subscribers.php:110
 #, php-format
 msgid "%s has no subscribers. Want to be the first?"
-msgstr ""
+msgstr "%s にはフォローしている人がいません。最初の人になりますか?"
 
 #: actions/subscribers.php:114
 #, php-format
@@ -3608,25 +3635,27 @@ msgid ""
 "%s has no subscribers. Why not [register an account](%%%%action.register%%%"
 "%) and be the first?"
 msgstr ""
+"%s にはフォローしている人がいません。なぜ[アカウント登録](%%%%action.register"
+"%%%%)して最初にならないのですか?"
 
 #: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions"
-msgstr "全てのサブスクリプション"
+msgstr "%s フォローしている"
 
 #: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions, page %d"
-msgstr "全てのサブスクリプション"
+msgstr "%s フォローしている、ページ %d"
 
 #: actions/subscriptions.php:65
 msgid "These are the people whose notices you listen to."
-msgstr "あなたが通知を聞いている人"
+msgstr "あなたがつぶやきを聞いている人"
 
 #: actions/subscriptions.php:69
 #, php-format
 msgid "These are the people whose notices %s listens to."
-msgstr "%s が通知を聞いている人"
+msgstr "%s がつぶやきを聞いている人"
 
 #: actions/subscriptions.php:121
 #, php-format
@@ -3637,107 +3666,108 @@ msgid ""
 "featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can "
 "automatically subscribe to people you already follow there."
 msgstr ""
+"今、だれのつぶやきも聞いていないなら、あなたが知っている人々をフォローしてみ"
+"てください。[ピープル検索](%%action.peoplesearch%%)を試してください。そして、"
+"あなたが興味を持っているグループと私たちの[フィーチャーされた利用者](%%"
+"action.featured%%)のメンバーを探してください。もし[Twitterユーザ](%%action."
+"twittersettings%%)であれば、あなたは自動的に既にフォローしている人々をフォ"
+"ローできます。"
 
 #: actions/subscriptions.php:123 actions/subscriptions.php:127
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not listening to anyone."
-msgstr "%1$s は %2$s であなたの通知を聞いています。"
+msgstr "%s はだれも言うことを聞いていません。"
 
 #: actions/subscriptions.php:194
-#, fuzzy
 msgid "Jabber"
-msgstr "Jabbar ID はありません。"
+msgstr "Jabber"
 
 #: actions/subscriptions.php:199 lib/connectsettingsaction.php:115
 msgid "SMS"
-msgstr ""
+msgstr "SMS"
 
 #: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "マイクロブログ by %s"
+msgstr "%s とタグ付けされたつぶやき、ページ %d"
 
 #: actions/tag.php:86
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%s とタグ付けされたつぶやきフィード (RSS 1.0)"
 
 #: actions/tag.php:92
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%s とタグ付けされたつぶやきフィード (RSS 2.0)"
 
 #: actions/tag.php:98
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for tag %s (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%s とタグ付けされたつぶやきフィード (Atom)"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
-msgstr "そのようなドキュメントはありません。"
+msgstr "ID引数がありません。"
 
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr ""
+msgstr "タグ %s"
 
 #: actions/tagother.php:77 lib/userprofile.php:75
-#, fuzzy
 msgid "User profile"
-msgstr "プロファイルがありません。"
+msgstr "利用者プロファイル"
 
 #: actions/tagother.php:81 lib/userprofile.php:102
 msgid "Photo"
-msgstr ""
+msgstr "写真"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "タグ利用者"
 
 #: actions/tagother.php:151
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
+"この利用者のタグ (アルファベット、数字、-、.、_)、カンマかスペース区切り"
 
 #: actions/tagother.php:193
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr ""
+"あなたはフォローされる人々にタグ付けをすることができるだけか、あなたをフォ"
+"ローされているか。"
 
 #: actions/tagother.php:200
-#, fuzzy
 msgid "Could not save tags."
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\82\92ä¿\9då­\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82¿ã\82°ã\82\92ã\82\92ä¿\9då­\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: actions/tagother.php:236
 msgid "Use this form to add tags to your subscribers or subscriptions."
-msgstr ""
+msgstr "このフォームを使用して、フォロー者かフォローにタグを加えてください。"
 
 #: actions/tagrss.php:35
-#, fuzzy
 msgid "No such tag."
-msgstr "そのような通知はありません。"
+msgstr "そのようなタグはありません。"
 
 #: actions/twitapitrends.php:87
 msgid "API method under construction."
 msgstr "API メソッドが工事中です。"
 
 #: actions/unblock.php:59
-#, fuzzy
 msgid "You haven't blocked that user."
-msgstr "既にログイン済みです。"
+msgstr "あなたはそのユーザをブロックしていません。"
 
 #: actions/unsandbox.php:72
-#, fuzzy
 msgid "User is not sandboxed."
-msgstr "プロファイルがありません。"
+msgstr "利用者はサンドボックスではありません。"
 
 #: actions/unsilence.php:72
-#, fuzzy
 msgid "User is not silenced."
-msgstr "プロファイルがありません。"
+msgstr "利用者はサイレンスではありません。"
 
 #: actions/unsubscribe.php:77
 msgid "No profile id in request."
@@ -3749,34 +3779,36 @@ msgstr "そのIDはプロファイルではありません。"
 
 #: actions/unsubscribe.php:98
 msgid "Unsubscribed"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96解除済み"
+msgstr "ã\83\95ã\82©ã\83­ã\83¼解除済み"
 
 #: actions/updateprofile.php:62 actions/userauthorization.php:330
 #, php-format
 msgid "Listenee stream license ‘%s’ is not compatible with site license ‘%s’."
 msgstr ""
+"リスニーストリームライセンス ‘%s’ は、サイトライセンス ‘%s’ と互換性がありま"
+"せん。"
 
 #: actions/useradminpanel.php:58 lib/adminpanelaction.php:305
 #: lib/personalgroupnav.php:115
 msgid "User"
-msgstr ""
+msgstr "利用者"
 
 #: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site."
-msgstr ""
+msgstr "この StatusNet サイトの利用者設定。"
 
 #: actions/useradminpanel.php:149
 msgid "Invalid bio limit. Must be numeric."
-msgstr ""
+msgstr "不正な自己紹介制限。数字である必要があります。"
 
 #: actions/useradminpanel.php:155
 msgid "Invalid welcome text. Max length is 255 characters."
-msgstr ""
+msgstr "不正なウェルカムテキスト。最大長は255字です。"
 
 #: actions/useradminpanel.php:165
 #, php-format
 msgid "Invalid default subscripton: '%1$s' is not user."
-msgstr ""
+msgstr "不正なデフォルトフォローです: '%1$s'  は利用者ではありません。"
 
 #: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
 #: lib/personalgroupnav.php:109
@@ -3785,86 +3817,80 @@ msgstr "プロファイル"
 
 #: actions/useradminpanel.php:222
 msgid "Bio Limit"
-msgstr ""
+msgstr "自己紹介制限"
 
 #: actions/useradminpanel.php:223
 msgid "Maximum length of a profile bio in characters."
-msgstr ""
+msgstr "プロファイル自己紹介の最大文字長。"
 
 #: actions/useradminpanel.php:231
-#, fuzzy
 msgid "New users"
-msgstr "削除"
+msgstr "新しい利用者"
 
 #: actions/useradminpanel.php:235
 msgid "New user welcome"
-msgstr ""
+msgstr "新しい利用者を歓迎"
 
 #: actions/useradminpanel.php:236
 msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+msgstr "新しい利用者へのウェルカムテキスト (最大255字)。"
 
 #: actions/useradminpanel.php:241
-#, fuzzy
 msgid "Default subscription"
-msgstr "ã\81\99ã\81¹ã\81¦ã\81®è³¼èª­"
+msgstr "ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\95ã\82©ã\83­ã\83¼"
 
 #: actions/useradminpanel.php:242
-#, fuzzy
 msgid "Automatically subscribe new users to this user."
-msgstr "è\87ªå\88\86ã\82\92購読ã\81\97ã\81¦ã\81\84ã\82\8bè\80\85ã\82\92è\87ªå\8b\95ç\9a\84ã\81«è³¼èª­ã\81\99ã\82\8b (é\9d\9e人é\96\93ã\81«æ\9c\80é\81©)"
+msgstr "è\87ªå\8b\95ç\9a\84ã\81«ã\81\93ã\81®å\88©ç\94¨è\80\85ã\81«æ\96°ã\81\97ã\81\84å\88©ç\94¨è\80\85ã\82\92ã\83\95ã\82©ã\83­ã\83¼ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82"
 
 #: actions/useradminpanel.php:251
-#, fuzzy
 msgid "Invitations"
-msgstr "確認コード"
+msgstr "招待"
 
 #: actions/useradminpanel.php:256
 msgid "Invitations enabled"
-msgstr ""
+msgstr "招待が可能"
 
 #: actions/useradminpanel.php:258
 msgid "Whether to allow users to invite new users."
-msgstr ""
+msgstr "利用者が新しい利用者を招待するのを許容するかどうか。"
 
 #: actions/useradminpanel.php:265
 msgid "Sessions"
-msgstr ""
+msgstr "セッション"
 
 #: actions/useradminpanel.php:270
 msgid "Handle sessions"
-msgstr ""
+msgstr "セッションの扱い"
 
 #: actions/useradminpanel.php:272
 msgid "Whether to handle sessions ourselves."
-msgstr ""
+msgstr "自分達でセッションを扱うのであるかどうか。"
 
 #: actions/useradminpanel.php:276
 msgid "Session debugging"
-msgstr ""
+msgstr "セッションデバッグ"
 
 #: actions/useradminpanel.php:278
 msgid "Turn on debugging output for sessions."
-msgstr ""
+msgstr "セッションのためのデバッグ出力をオン。"
 
 #: actions/userauthorization.php:105
 msgid "Authorize subscription"
-msgstr "購読を許可"
+msgstr "フォローを承認"
 
 #: actions/userauthorization.php:110
-#, fuzzy
 msgid ""
 "Please check these details to make sure that you want to subscribe to this "
 "user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
 "click “Reject”."
 msgstr ""
-"ユーザの通知を購読するには詳細を確認して下さい。購読しない場合は、\"Cancel\" "
-"ã\82­ã\83£ã\83³ã\82»ã\83«をクリックして下さい。"
+"ユーザのつぶやきをフォローするには詳細を確認して下さい。だれかのつぶやきを"
+"ã\83\95ã\82©ã\83­ã\83¼ã\81\99ã\82\8bã\81\9fã\82\81ã\81«å°\8bã\81­ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81\"Reject\" をクリックして下さい。"
 
 #: actions/userauthorization.php:188
-#, fuzzy
 msgid "License"
-msgstr "ライセンス"
+msgstr "ライセンス"
 
 #: actions/userauthorization.php:209
 msgid "Accept"
@@ -3873,16 +3899,15 @@ msgstr "承認"
 #: actions/userauthorization.php:210 lib/subscribeform.php:115
 #: lib/subscribeform.php:139
 msgid "Subscribe to this user"
-msgstr "このユーザーを購読"
+msgstr "このユーザーをフォロー"
 
 #: actions/userauthorization.php:211
 msgid "Reject"
 msgstr "拒否"
 
 #: actions/userauthorization.php:212
-#, fuzzy
 msgid "Reject this subscription"
-msgstr "全てのサブスクリプション"
+msgstr "このフォローを拒否"
 
 #: actions/userauthorization.php:225
 msgid "No authorization request!"
@@ -3890,7 +3915,7 @@ msgstr "認証のリクエストがありません。"
 
 #: actions/userauthorization.php:247
 msgid "Subscription authorized"
-msgstr "購読が許可"
+msgstr "フォローが承認されました"
 
 #: actions/userauthorization.php:249
 msgid ""
@@ -3898,10 +3923,13 @@ msgid ""
 "with the site’s instructions for details on how to authorize the "
 "subscription. Your subscription token is:"
 msgstr ""
+"フォローは承認されましたが、コールバックURLが通過できませんでした。どう"
+"フォローを承認するかに関する詳細のためのサイトの指示をチェックしてください。"
+"あなたのフォロートークンは:"
 
 #: actions/userauthorization.php:259
 msgid "Subscription rejected"
-msgstr "購読が拒否"
+msgstr "フォローが拒否"
 
 #: actions/userauthorization.php:261
 msgid ""
@@ -3909,61 +3937,65 @@ msgid ""
 "with the site’s instructions for details on how to fully reject the "
 "subscription."
 msgstr ""
+"フォローは拒絶されましたが、コールバックURLは全く通過されませんでした。 どう"
+"フォローを完全に拒絶するかに関する詳細のためのサイトの指示をチェックしてくだ"
+"さい。"
 
 #: actions/userauthorization.php:296
 #, php-format
 msgid "Listener URI ‘%s’ not found here"
-msgstr ""
+msgstr "リスナー URI  ‘%s’ はここでは見つかりません"
 
 #: actions/userauthorization.php:301
 #, php-format
 msgid "Listenee URI ‘%s’ is too long."
-msgstr ""
+msgstr "リスニー URI  ‘%s’ が長すぎます。"
 
 #: actions/userauthorization.php:307
 #, php-format
 msgid "Listenee URI ‘%s’ is a local user."
-msgstr ""
+msgstr "リスニー URI  ‘%s’ はローカルユーザーではありません。"
 
 #: actions/userauthorization.php:322
 #, php-format
 msgid "Profile URL ‘%s’ is for a local user."
-msgstr ""
+msgstr "プロファイル URL  ‘%s’ はローカルユーザーではありません。"
 
 #: actions/userauthorization.php:338
 #, php-format
 msgid "Avatar URL ‘%s’ is not valid."
-msgstr ""
+msgstr "アバター URL  ‘%s’ が正しくありません。"
 
 #: actions/userauthorization.php:343
-#, fuzzy, php-format
+#, php-format
 msgid "Can’t read avatar URL ‘%s’."
 msgstr "アバターURL を読み取れません '%s'"
 
 #: actions/userauthorization.php:348
-#, fuzzy, php-format
+#, php-format
 msgid "Wrong image type for avatar URL ‘%s’."
-msgstr "不正な画像形式。'%s'"
+msgstr "アバター URL '%s' は不正な画像形式。"
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "id がありません。"
+msgstr "ID がありません。"
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
-#, fuzzy
 msgid "Profile design"
-msgstr "プロファイル設定"
+msgstr "プロファイルデザイン"
 
 #: actions/userdesignsettings.php:87 lib/designsettings.php:76
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
 msgstr ""
+"あなたのプロフィールがバックグラウンド画像とあなたの選択の色のパレットで見る"
+"方法をカスタマイズしてください。"
 
 #: actions/userdesignsettings.php:282
+#, fuzzy
 msgid "Enjoy your hotdog!"
-msgstr ""
+msgstr "あなたのhotdogを楽しんでください!"
 
 #: actions/usergroups.php:64
 #, php-format
@@ -3971,19 +4003,18 @@ msgid "%s groups, page %d"
 msgstr "%s グループ, %d ページ"
 
 #: actions/usergroups.php:130
-#, fuzzy
 msgid "Search for more groups"
-msgstr "人々かテキストを検索"
+msgstr "もっとグループを検索"
 
 #: actions/usergroups.php:153
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not a member of any group."
-msgstr "そのプロファイルは送信されていません。"
+msgstr "%s はどのグループのメンバーでもありません。"
 
 #: actions/usergroups.php:158
 #, php-format
 msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
-msgstr ""
+msgstr "[グループを探して](%%action.groupsearch%%)それに加入してください。"
 
 #: classes/File.php:137
 #, php-format
@@ -3991,69 +4022,75 @@ msgid ""
 "No file may be larger than %d bytes and the file you sent was %d bytes. Try "
 "to upload a smaller version."
 msgstr ""
+"どんなファイルも %d バイトより大きくてはいけません、そして、あなたが送った"
+"ファイルは %d バイトでした。より小さいバージョンをアップロードするようにして"
+"ください。"
 
 #: classes/File.php:147
 #, php-format
 msgid "A file this large would exceed your user quota of %d bytes."
 msgstr ""
+"これほど大きいファイルはあなたの%dバイトのユーザ割当てを超えているでしょう。"
 
 #: classes/File.php:154
 #, php-format
 msgid "A file this large would exceed your monthly quota of %d bytes."
 msgstr ""
+"これほど大きいファイルはあなたの%dバイトの毎月の割当てを超えているでしょう。"
 
 #: classes/Message.php:45
 msgid "You are banned from sending direct messages."
-msgstr ""
+msgstr "あなたはダイレクトメッセージを送るのが禁止されています。"
 
 #: classes/Message.php:61
 msgid "Could not insert message."
-msgstr ""
+msgstr "メッセージを追加できません。"
 
 #: classes/Message.php:71
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "新しいURIでメッセージをアップデートできませんでした。"
 
 #: classes/Notice.php:172
 #, php-format
 msgid "DB error inserting hashtag: %s"
-msgstr ""
+msgstr "ハッシュタグ追加 DB エラー: %s"
 
 #: classes/Notice.php:226
-#, fuzzy
 msgid "Problem saving notice. Too long."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやきを保存する際に問題が発生しました。長すぎです。"
 
 #: classes/Notice.php:230
-#, fuzzy
 msgid "Problem saving notice. Unknown user."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやきを保存する際に問題が発生しました。不明な利用者です。"
 
 #: classes/Notice.php:235
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
+"多すぎるつぶやきが速すぎます; 数分間の休みを取ってから再投稿してください。"
 
 #: classes/Notice.php:241
 msgid ""
 "Too many duplicate messages too quickly; take a breather and post again in a "
 "few minutes."
 msgstr ""
+"多すぎる重複メッセージが速すぎます; 数分間休みを取ってから再度投稿してくださ"
+"い。"
 
 #: classes/Notice.php:247
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "あなたはこのサイトでつぶやきを投稿するのが禁止されています。"
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやきを保存する際に問題が発生しました。"
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "返信を追加する際にデータベースエラー : %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4061,17 +4098,15 @@ msgstr ""
 #: classes/User.php:368
 #, php-format
 msgid "Welcome to %1$s, @%2$s!"
-msgstr ""
+msgstr "ようこそ %1$s、@%2$s!"
 
 #: classes/User_group.php:380
-#, fuzzy
 msgid "Could not create group."
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\82\92ä¿\9då­\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: classes/User_group.php:409
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\83¡ã\83³ã\83\90ã\83¼ã\82·ã\83\83ã\83\97ã\82\92ã\82»ã\83\83ã\83\88ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
 
 #: lib/accountsettingsaction.php:108
 msgid "Change your profile settings"
@@ -4090,9 +4125,8 @@ msgid "Change email handling"
 msgstr "メールの扱いを変更"
 
 #: lib/accountsettingsaction.php:124
-#, fuzzy
 msgid "Design your profile"
-msgstr "ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\87ã\82¶ã\82¤ã\83³"
 
 #: lib/accountsettingsaction.php:128
 msgid "Other"
@@ -4111,134 +4145,128 @@ msgstr ""
 msgid "Untitled page"
 msgstr "名称未設定ページ"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
-msgstr ""
+msgstr "プライマリサイトナビゲーション"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "ホーム"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "パーソナルプロファイルと友人のタイムライン"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "アカウント"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "メールアドレス、アバター、パスワード、プロパティの変更"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "接続"
 
-#: lib/action.php:436
-#, fuzzy
+#: lib/action.php:437
 msgid "Connect to services"
-msgstr "ã\82µã\83¼ã\83\90ã\81¸ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81§ã\81\8dã\81¾ã\81\9bã\82\93 : %s"
+msgstr "ã\82µã\83¼ã\83\93ã\82¹ã\81¸æ\8e¥ç¶\9a"
 
-#: lib/action.php:440
-#, fuzzy
+#: lib/action.php:441
 msgid "Change site configuration"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³"
+msgstr "ã\82µã\82¤ã\83\88設å®\9aã\81®å¤\89æ\9b´"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
-msgstr ""
+msgstr "招待"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "友人や同僚が %s で加わるよう誘ってください。"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "ログアウト"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "サイトからログアウト"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "アカウントを作成"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "サイトへログイン"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "ヘルプ"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "助けて!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "検索"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "人々かテキストを検索"
 
-#: lib/action.php:485
-#, fuzzy
+#: lib/action.php:486
 msgid "Site notice"
-msgstr "新しい通知"
+msgstr "サイトつぶやき"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
-msgstr ""
+msgstr "ローカルビュー"
 
-#: lib/action.php:617
-#, fuzzy
+#: lib/action.php:618
 msgid "Page notice"
-msgstr "新しい通知"
+msgstr "ページつぶやき"
 
-#: lib/action.php:719
-#, fuzzy
+#: lib/action.php:720
 msgid "Secondary site navigation"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ション"
+msgstr "ã\82»ã\82«ã\83³ã\83\80ã\83ªã\82µã\82¤ã\83\88ã\83\8aã\83\93ã\82²ã\83¼ション"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
-msgstr "解説"
+msgstr "About"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "よくある質問"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "プライバシー"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "ソース"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "連絡先"
 
-#: lib/action.php:741
-#, fuzzy
+#: lib/action.php:742
 msgid "Badge"
-msgstr "突く"
+msgstr "バッジ"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
-msgstr ""
+msgstr "StatusNet ソフトウェアライセンス"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4247,12 +4275,12 @@ msgstr ""
 "**%%site.name%%** は [%%site.broughtby%%](%%site.broughtbyurl%%) が提供するマ"
 "イクロブログサービスです。 "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** はマイクロブログサービスです。 "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4263,104 +4291,107 @@ msgstr ""
 "いています。 ライセンス [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)。"
 
-#: lib/action.php:790
-#, fuzzy
+#: lib/action.php:791
 msgid "Site content license"
-msgstr "新しい通知"
+msgstr "サイト内容ライセンス"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
-msgstr ""
+msgstr "全て "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "ライセンス。"
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
-msgstr ""
+msgstr "ページ化"
 
-#: lib/action.php:1107
-#, fuzzy
+#: lib/action.php:1108
 msgid "After"
-msgstr "<< 前"
+msgstr "<<"
 
-#: lib/action.php:1115
-#, fuzzy
+#: lib/action.php:1116
 msgid "Before"
-msgstr "前 >>"
+msgstr "前>>"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "あなたのセッショントークンに関する問題がありました。"
 
 #: lib/adminpanelaction.php:96
 msgid "You cannot make changes to this site."
-msgstr ""
+msgstr "あなたはこのサイトへの変更を行うことができません。"
 
 #: lib/adminpanelaction.php:195
 msgid "showForm() not implemented."
-msgstr ""
+msgstr "showForm() は実装されていません。"
 
 #: lib/adminpanelaction.php:224
 msgid "saveSettings() not implemented."
-msgstr ""
+msgstr "saveSettings() は実装されていません。"
 
 #: lib/adminpanelaction.php:247
 msgid "Unable to delete design setting."
-msgstr ""
+msgstr "デザイン設定を削除できません。"
 
 #: lib/adminpanelaction.php:300
-#, fuzzy
 msgid "Basic site configuration"
-msgstr "メールアドレス確認"
+msgstr "基本サイト設定"
 
 #: lib/adminpanelaction.php:303
-#, fuzzy
 msgid "Design configuration"
-msgstr "ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ç¢ºèª\8d"
+msgstr "ã\83\87ã\82¶ã\82¤ã\83³è¨­å®\9a"
 
 #: lib/adminpanelaction.php:306 lib/adminpanelaction.php:309
-#, fuzzy
 msgid "Paths configuration"
-msgstr "ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ç¢ºèª\8d"
+msgstr "ã\83\91ã\82¹è¨­å®\9a"
 
 #: lib/attachmentlist.php:87
 msgid "Attachments"
-msgstr ""
+msgstr "添付"
 
 #: lib/attachmentlist.php:265
 msgid "Author"
-msgstr ""
+msgstr "作者"
 
 #: lib/attachmentlist.php:278
-#, fuzzy
 msgid "Provider"
-msgstr "ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«"
+msgstr "ã\83\97ã\83­ã\83\90ã\82¤ã\83\80"
 
 #: lib/attachmentnoticesection.php:67
 msgid "Notices where this attachment appears"
-msgstr ""
+msgstr "この添付が現れるつぶやき"
 
 #: lib/attachmenttagcloudsection.php:48
 msgid "Tags for this attachment"
-msgstr ""
+msgstr "この添付のタグ"
+
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "パスワード変更"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "パスワード変更"
 
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
-msgstr ""
+msgstr "コマンド結果"
 
 #: lib/channel.php:210
 msgid "Command complete"
-msgstr ""
+msgstr "コマンド完了"
 
 #: lib/channel.php:221
 msgid "Command failed"
-msgstr ""
+msgstr "コマンド失敗"
 
 #: lib/command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "すみません、このコマンドはまだ実装されていません。"
 
 #: lib/command.php:88
 #, php-format
@@ -4369,12 +4400,12 @@ msgstr "ユーザを更新できません"
 
 #: lib/command.php:92
 msgid "It does not make a lot of sense to nudge yourself!"
-msgstr ""
+msgstr "それは自分自身への合図で多くは意味がありません!"
 
 #: lib/command.php:99
 #, php-format
 msgid "Nudge sent to %s"
-msgstr ""
+msgstr "%s へ合図を送りました"
 
 #: lib/command.php:126
 #, php-format
@@ -4383,19 +4414,22 @@ msgid ""
 "Subscribers: %2$s\n"
 "Notices: %3$s"
 msgstr ""
+"フォローしている: %1$s\n"
+"フォローされている: %2$s\n"
+"つぶやき: %3$s"
 
 #: lib/command.php:152 lib/command.php:399 lib/command.php:460
 msgid "Notice with that id does not exist"
-msgstr ""
+msgstr "その ID によるつぶやきは存在していません"
 
 #: lib/command.php:168 lib/command.php:415 lib/command.php:476
 #: lib/command.php:532
 msgid "User has no last notice"
-msgstr ""
+msgstr "利用者はまだつぶやいていません"
 
 #: lib/command.php:190
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "お気に入りにされているつぶやき。"
 
 #: lib/command.php:315
 #, php-format
@@ -4405,107 +4439,104 @@ msgstr ""
 #: lib/command.php:318
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "フルネーム: %s"
 
 #: lib/command.php:321
 #, php-format
 msgid "Location: %s"
-msgstr ""
+msgstr "場所: %s"
 
 #: lib/command.php:324
 #, php-format
 msgid "Homepage: %s"
-msgstr ""
+msgstr "ホームページ: %s"
 
 #: lib/command.php:327
 #, php-format
 msgid "About: %s"
-msgstr ""
+msgstr "About: %s"
 
 #: lib/command.php:358 scripts/xmppdaemon.php:301
 #, php-format
 msgid "Message too long - maximum is %d characters, you sent %d"
-msgstr ""
+msgstr "メッセージが長すぎます - 最大 %d 字、あなたが送ったのは %d"
 
 #: lib/command.php:378
 msgid "Error sending direct message."
-msgstr ""
+msgstr "ダイレクトメッセージ送信エラー。"
 
 #: lib/command.php:422
 msgid "Cannot repeat your own notice"
-msgstr ""
+msgstr "自分のつぶやきを繰り返すことはできません"
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "ã\81\93ã\81®é\80\9aç\9f¥ã\82\92å\89\8aé\99¤"
+msgstr "ã\81\99ã\81§ã\81«ã\81\93ã\81®ã\81¤ã\81¶ã\82\84ã\81\8dã\81¯ç¹°ã\82\8aè¿\94ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "通知"
+msgstr "%s からつぶやきが繰り返されています"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやき繰り返しエラー"
 
 #: lib/command.php:491
 #, php-format
 msgid "Notice too long - maximum is %d characters, you sent %d"
-msgstr ""
+msgstr "つぶやきが長すぎます - 最大 %d 字、あなたが送ったのは %d"
 
 #: lib/command.php:500
-#, fuzzy, php-format
+#, php-format
 msgid "Reply to %s sent"
-msgstr "この通知へ返信"
+msgstr "%s へ返信を送りました"
 
 #: lib/command.php:502
-#, fuzzy
 msgid "Error saving notice."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやき保存エラー。"
 
 #: lib/command.php:556
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "フォローする利用者の名前を指定してください"
 
 #: lib/command.php:563
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "%s をフォローしました"
 
 #: lib/command.php:584
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "フォローをやめるユーザの名前を指定してください"
 
 #: lib/command.php:591
 #, php-format
 msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "%s のフォローをやめる"
 
 #: lib/command.php:609 lib/command.php:632
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "コマンドはまだ実装されていません。"
 
 #: lib/command.php:612
 msgid "Notification off."
-msgstr ""
+msgstr "通知オフ。"
 
 #: lib/command.php:614
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "通知をオフできません。"
 
 #: lib/command.php:635
 msgid "Notification on."
-msgstr ""
+msgstr "通知オン。"
 
 #: lib/command.php:637
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "通知をオンできません。"
 
 #: lib/command.php:650
 msgid "Login command is disabled"
-msgstr ""
+msgstr "ログインコマンドが無効になっています。"
 
 #: lib/command.php:664
 #, php-format
@@ -4515,37 +4546,34 @@ msgstr "%s 用のログイン・トークンを作成できませんでした"
 #: lib/command.php:669
 #, php-format
 msgid "This link is useable only once, and is good for only 2 minutes: %s"
-msgstr ""
+msgstr "このリンクは、かつてだけ使用可能であり、2分間だけ良いです: %s"
 
 #: lib/command.php:685
-#, fuzzy
 msgid "You are not subscribed to anyone."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡されていません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81 ã\82\8cã\81«ã\82\82ã\83\95ã\82©ã\83­ã\83¼されていません。"
 
 #: lib/command.php:687
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
-msgstr[0] "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr[0] "ã\81\82ã\81ªã\81\9fã\81¯ã\81\93ã\81®äººã\81«ã\83\95ã\82©ã\83­ã\83¼ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99:"
 
 #: lib/command.php:707
-#, fuzzy
 msgid "No one is subscribed to you."
-msgstr "リモートサブスクライブ"
+msgstr "誰もフォローしていません。"
 
 #: lib/command.php:709
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
-msgstr[0] "ã\83ªã\83¢ã\83¼ã\83\88ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96"
+msgstr[0] "ã\81\93ã\81®äººã\81¯ã\81\82ã\81ªã\81\9fã\81«ã\83\95ã\82©ã\83­ã\83¼ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b:"
 
 #: lib/command.php:729
-#, fuzzy
 msgid "You are not a member of any groups."
-msgstr "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81©ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\82\82ã\81\82ã\82\8aません。"
 
 #: lib/command.php:731
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
-msgstr[0] "ã\81\9dã\81®ã\83\97ã\83­ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr[0] "ã\81\82ã\81ªã\81\9fã\81¯ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93:"
 
 #: lib/command.php:745
 msgid ""
@@ -4589,81 +4617,81 @@ msgid ""
 msgstr ""
 
 #: lib/common.php:199
-#, fuzzy
 msgid "No configuration file found. "
-msgstr "確認コードがありません。"
+msgstr "コンフィギュレーションファイルがありません。 "
 
 #: lib/common.php:200
 msgid "I looked for configuration files in the following places: "
-msgstr ""
+msgstr "私は以下の場所でコンフィギュレーションファイルを探しました: "
 
 #: lib/common.php:201
 msgid "You may wish to run the installer to fix this."
 msgstr ""
+"あなたは、これを修理するためにインストーラを動かしたがっているかもしれませ"
+"ん。"
 
 #: lib/common.php:202
-#, fuzzy
 msgid "Go to the installer."
-msgstr "ã\82µã\82¤ã\83\88ã\81¸ã\83­ã\82°ã\82¤ã\83³"
+msgstr "ã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83©ã\81¸ã\80\82"
 
 #: lib/connectsettingsaction.php:110
 msgid "IM"
-msgstr ""
+msgstr "IM"
 
 #: lib/connectsettingsaction.php:111
 msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "インスタントメッセンジャー(IM)での更新"
 
 #: lib/connectsettingsaction.php:116
 msgid "Updates by SMS"
-msgstr ""
+msgstr "SMSでの更新"
 
 #: lib/dberroraction.php:60
 msgid "Database error"
-msgstr ""
+msgstr "データベースエラー"
 
 #: lib/designsettings.php:105
-#, fuzzy
 msgid "Upload file"
-msgstr "アップロード"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\83\83ã\83\97ã\83­ã\83¼ã\83\89"
 
 #: lib/designsettings.php:109
-#, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr ""
+"自分のバックグラウンド画像をアップロードできます。最大ファイルサイズは 2MB で"
+"す。"
 
 #: lib/designsettings.php:418
 msgid "Design defaults restored."
-msgstr ""
+msgstr "デフォルトのデザインを回復。"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "このつぶやきのお気に入りをやめる"
 
 #: lib/favorform.php:114 lib/favorform.php:140
 msgid "Favor this notice"
-msgstr "この通知をお気に入りにする"
+msgstr "このつぶやきをお気に入りにする"
 
 #: lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "お気に入り"
 
 #: lib/feed.php:85
 msgid "RSS 1.0"
-msgstr ""
+msgstr "RSS 1.0"
 
 #: lib/feed.php:87
 msgid "RSS 2.0"
-msgstr ""
+msgstr "RSS 2.0"
 
 #: lib/feed.php:89
 msgid "Atom"
-msgstr ""
+msgstr "Atom"
 
 #: lib/feed.php:91
 msgid "FOAF"
-msgstr ""
+msgstr "FOAF"
 
 #: lib/feedlist.php:64
 msgid "Export data"
@@ -4675,11 +4703,11 @@ msgstr "タグのフィルター"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "全て"
 
 #: lib/galleryaction.php:139
 msgid "Select tag to filter"
-msgstr ""
+msgstr "フィルターにかけるタグを選択"
 
 #: lib/galleryaction.php:140
 msgid "Tag"
@@ -4687,7 +4715,7 @@ msgstr "タグ"
 
 #: lib/galleryaction.php:141
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "タグを選んで、リストを狭くしてください"
 
 #: lib/galleryaction.php:143
 msgid "Go"
@@ -4698,43 +4726,40 @@ msgid "URL of the homepage or blog of the group or topic"
 msgstr "グループやトピックのホームページやブログの URL"
 
 #: lib/groupeditform.php:168
-#, fuzzy
 msgid "Describe the group or topic"
-msgstr "グループやトピックを140字以内記述"
+msgstr "グループやトピックを記述"
 
 #: lib/groupeditform.php:170
-#, fuzzy, php-format
+#, php-format
 msgid "Describe the group or topic in %d characters"
-msgstr "グループやトピックを140字以内記述"
+msgstr "グループやトピックを %d 字以内記述"
 
 #: lib/groupeditform.php:172
 msgid "Description"
 msgstr "概要"
 
 #: lib/groupeditform.php:179
-#, fuzzy
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "ã\81\84ã\82\8bå ´æ\89\80, ä¾\8bã\81\88ã\81° \"City, State (or Region), Country\""
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\81®å ´æ\89\80, ä¾\8bã\81\88ã\81° \"é\83½å¸\82, é\83½é\81\93åº\9cç\9c\8c (ã\81¾ã\81\9fã\81¯ å\9c°å\9f\9f), å\9b½\""
 
 #: lib/groupeditform.php:187
 #, php-format
 msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgstr "グループのエクストラニックネーム、カンマまたはスペース区切り、最大 %d"
 
 #: lib/groupnav.php:85
 msgid "Group"
 msgstr "グループ"
 
 #: lib/groupnav.php:101
-#, fuzzy
 msgid "Blocked"
 msgstr "ブロック"
 
 #: lib/groupnav.php:102
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked users"
-msgstr "そのようなユーザはいません。"
+msgstr "%s ブロック利用者"
 
 #: lib/groupnav.php:108
 #, php-format
@@ -4751,9 +4776,9 @@ msgid "Add or edit %s logo"
 msgstr "%s ロゴの追加や編集"
 
 #: lib/groupnav.php:120
-#, fuzzy, php-format
+#, php-format
 msgid "Add or edit %s design"
-msgstr "%s ã\83­ã\82´の追加や編集"
+msgstr "%s ã\83\87ã\82¶ã\82¤ã\83³の追加や編集"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
@@ -4773,9 +4798,9 @@ msgid "This page is not available in a media type you accept"
 msgstr "このページはあなたが承認したメディアタイプでは利用できません。"
 
 #: lib/imagefile.php:75
-#, fuzzy, php-format
+#, php-format
 msgid "That file is too big. The maximum file size is %s."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr "ファイルが大きすぎます。最大ファイルサイズは %s 。"
 
 #: lib/imagefile.php:80
 msgid "Partial upload."
@@ -4794,21 +4819,20 @@ msgid "Unsupported image file format."
 msgstr "サポート外の画像形式です。"
 
 #: lib/imagefile.php:118
-#, fuzzy
 msgid "Lost our file."
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªé\80\9aç\9f¥ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93。"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ç´\9b失。"
 
 #: lib/imagefile.php:150 lib/imagefile.php:197
 msgid "Unknown file type"
-msgstr ""
+msgstr "不明なファイルタイプ"
 
 #: lib/imagefile.php:217
 msgid "MB"
-msgstr ""
+msgstr "MB"
 
 #: lib/imagefile.php:219
 msgid "kB"
-msgstr ""
+msgstr "kB"
 
 #: lib/jabber.php:191
 #, php-format
@@ -4851,11 +4875,23 @@ msgid ""
 "Thanks for your time, \n"
 "%s\n"
 msgstr ""
+"こんにちは、%s\n"
+"\n"
+"だれかがこのメールアドレスを %s に入力しました。\n"
+"\n"
+"もしエントリーを確認したいなら、以下のURLを使用してください:\n"
+"\n"
+"%s\n"
+"\n"
+"もしそうでなければ、このメッセージを無視してください。\n"
+"\n"
+"ありがとうございます。\n"
+"%s\n"
 
 #: lib/mail.php:236
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s は %2$s であなたの通知を購読しています。"
+msgstr "%1$s は %2$s であなたのつぶやきを聞いています。"
 
 #: lib/mail.php:241
 #, fuzzy, php-format
@@ -4871,12 +4907,16 @@ msgid ""
 "----\n"
 "Change your email address or notification options at %8$s\n"
 msgstr ""
-"%1$s は %2$s であなたの通知を聞いています。\n"
+"%1$s は %2$s であなたのつぶやきを聞いています。\n"
 "\n"
-"\t%3$s\n"
+"%3$s\n"
 "\n"
-"確かにあなたの,\n"
-"%4$s.\n"
+"%4$s%5$s%6$s\n"
+"忠実である、あなたのもの、\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"%8$s でメールアドレスか通知オプションを変えてください。\n"
 
 #: lib/mail.php:254
 #, php-format
@@ -4894,14 +4934,16 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"自己紹介: %s\n"
+"\n"
 
 #: lib/mail.php:286
 #, php-format
 msgid "New email address for posting to %s"
-msgstr ""
+msgstr "%s へ投稿のための新しいメールアドレス"
 
 #: lib/mail.php:289
-#, php-format
+#, fuzzy, php-format
 msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
@@ -4912,6 +4954,14 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s"
 msgstr ""
+"あなたは %1$s に関する新しい投稿アドレスを持っています。\n"
+"\n"
+"%2$s にメールを送って、新しいメッセージを投稿してください。\n"
+"\n"
+"%3$s でより多くのメール指示。\n"
+"\n"
+"忠実である、あなたのもの、\n"
+"%4$s"
 
 #: lib/mail.php:413
 #, php-format
@@ -4920,15 +4970,15 @@ msgstr "%s の状態"
 
 #: lib/mail.php:439
 msgid "SMS confirmation"
-msgstr ""
+msgstr "SMS確認"
 
 #: lib/mail.php:463
 #, php-format
 msgid "You've been nudged by %s"
-msgstr "あなたは %s に突かれています"
+msgstr "あなたは %s に合図されています"
 
 #: lib/mail.php:467
-#, php-format
+#, fuzzy, php-format
 msgid ""
 "%1$s (%2$s) is wondering what you are up to these days and is inviting you "
 "to post some news.\n"
@@ -4942,14 +4992,25 @@ msgid ""
 "With kind regards,\n"
 "%4$s\n"
 msgstr ""
+"%1$s ($2$s) は、最近まであなたが何であるかと思っていて、あなたが何らかの"
+"ニュースを投稿するよう誘っています。\n"
+"\n"
+"それで、あなたから、連絡をいただきましょう :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"このメールに答えないでください。 それはそれらを始めないでしょう。\n"
+"\n"
+"敬具\n"
+"%4$s\n"
 
 #: lib/mail.php:510
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "%s からの新しいプライベートメッセージ"
 
 #: lib/mail.php:514
-#, php-format
+#, fuzzy, php-format
 msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
@@ -4966,14 +5027,28 @@ msgid ""
 "With kind regards,\n"
 "%5$s\n"
 msgstr ""
+"%1$s (%2$s) はあなたにプライベートメッセージを送りました:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"あなたはここでそれらのメッセージに答えることができます:\n"
+"\n"
+"%4$s\n"
+"\n"
+"このメールに答えないでください。 それはそれらを始めないでしょう。\n"
+"\n"
+"敬具\n"
+"%5$s\n"
 
 #: lib/mail.php:559
-#, fuzzy, php-format
+#, php-format
 msgid "%s (@%s) added your notice as a favorite"
-msgstr "%1$s は %2$s であなたの通知を聞いています。"
+msgstr "%s (@%s) はお気に入りとしてあなたのつぶやきを加えました"
 
 #: lib/mail.php:561
-#, php-format
+#, fuzzy, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
 "\n"
@@ -4992,13 +5067,30 @@ msgid ""
 "Faithfully yours,\n"
 "%6$s\n"
 msgstr ""
+"%1$s (@%7$s) は彼らのお気に入りのひとりとして %2$s からあなたのつぶやきを加え"
+"ました。\n"
+"\n"
+"あなたのつぶやきのURL:\n"
+"\n"
+"%3$s\n"
+"\n"
+"あなたのつぶやきのテキスト:\n"
+"\n"
+"%4$s\n"
+"\n"
+"あなたはここで %1$s のお気に入りのリストを見ることができます:\n"
+"\n"
+"%5$s\n"
+"\n"
+"忠実である、あなたのもの、\n"
+"%6%s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) はあなた宛てにつぶやきを送りました"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5012,162 +5104,185 @@ msgid ""
 "\t%4$s\n"
 "\n"
 msgstr ""
+"%1$s (@%9$s) はあなた宛てに(@-返信) %2$s でつぶやきを送りました。\n"
+"\n"
+"つぶやきはここ:\n"
+"\n"
+"%3$s\n"
+"\n"
+"これを読む:\n"
+"\n"
+"%4$s\n"
+"\n"
 
 #: lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "利用者だけがそれら自身のメールボックスを読むことができます。"
 
 #: lib/mailbox.php:139
 msgid ""
 "You have no private messages. You can send private message to engage other "
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
+"あなたには、プライベートメッセージが全くありません。あなたは他の利用者を会話"
+"に引き込むプライベートメッセージを送ることができます。人々はあなただけへの"
+"メッセージを送ることができます。"
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
-msgstr "から "
+msgstr "from"
 
 #: lib/mediafile.php:98 lib/mediafile.php:123
 msgid "There was a database error while saving your file. Please try again."
 msgstr ""
+"データベースエラーがあなたのファイルを保存しているときにありました。 再試行し"
+"てください。"
 
 #: lib/mediafile.php:142
 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
 msgstr ""
+"アップロードされたファイルは php.ini の upload_max_filesize ディレクティブを"
+"超えています。"
 
 #: lib/mediafile.php:147
 msgid ""
 "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
 "the HTML form."
 msgstr ""
+"アップロードされたファイルはHTMLフォームで指定された MAX_FILE_SIZE ディレク"
+"ティブを超えています。"
 
 #: lib/mediafile.php:152
 msgid "The uploaded file was only partially uploaded."
-msgstr ""
+msgstr "アップロードされたファイルは部分的にアップロードされていただけです。"
 
 #: lib/mediafile.php:159
 msgid "Missing a temporary folder."
-msgstr ""
+msgstr "一時フォルダを失いました。"
 
 #: lib/mediafile.php:162
 msgid "Failed to write file to disk."
-msgstr ""
+msgstr "ディスクへのファイル書き込みに失敗しました。"
 
 #: lib/mediafile.php:165
 msgid "File upload stopped by extension."
-msgstr ""
+msgstr "エクステンションによってファイルアップロードを中止しました。"
 
 #: lib/mediafile.php:179 lib/mediafile.php:216
 msgid "File exceeds user's quota!"
-msgstr ""
+msgstr "ファイルはユーザの割当てを超えています!"
 
 #: lib/mediafile.php:196 lib/mediafile.php:233
 msgid "File could not be moved to destination directory."
-msgstr ""
+msgstr "ファイルを目的ディレクトリに動かすことができませんでした。"
 
 #: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
 msgid "Could not determine file's mime-type!"
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°できません"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\81®MIMEã\82¿ã\82¤ã\83\97ã\82\92決å®\9aできません"
 
 #: lib/mediafile.php:270
 #, php-format
 msgid " Try using another %s format."
-msgstr ""
+msgstr "別の %s フォーマットを試してください。"
 
 #: lib/mediafile.php:275
 #, php-format
 msgid "%s is not a supported filetype on this server."
-msgstr ""
+msgstr "%s はこのサーバのサポートしているファイルタイプではありません。"
 
 #: lib/messageform.php:120
 msgid "Send a direct notice"
-msgstr "直接通知を送る"
+msgstr "直接つぶやきを送る"
 
 #: lib/messageform.php:146
 msgid "To"
-msgstr ""
+msgstr "To"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "利用可能な文字"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
-msgstr "通知を送る"
+msgstr "つぶやきを送る"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "最近どう %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
-msgstr ""
+msgstr "添付"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
-msgstr ""
+msgstr "ファイル添付"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "あなたの場所を共有"
 
-#: lib/noticelist.php:420
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
+#, fuzzy
 msgid "N"
-msgstr ""
+msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
+#, fuzzy
 msgid "S"
-msgstr ""
+msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
+#, fuzzy
 msgid "E"
-msgstr ""
+msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
+#, fuzzy
 msgid "W"
-msgstr ""
+msgstr "西"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
-msgstr ""
+msgstr "at"
 
-#: lib/noticelist.php:523
-#, fuzzy
+#: lib/noticelist.php:531
 msgid "in context"
-msgstr "コンテンツがありません!"
+msgstr ""
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "作成"
+msgstr ""
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
-msgstr "この通知へ返信"
+msgstr "このつぶやきへ返信"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "返信"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "通知"
+msgstr "つぶやきを繰り返しました"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92çª\81ã\81\8f"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\81¸å\90\88å\9b³"
 
 #: lib/nudgeform.php:128
 msgid "Nudge"
-msgstr "突く"
+msgstr "合図"
 
 #: lib/nudgeform.php:128
 msgid "Send a nudge to this user"
-msgstr "このユーザへ突きを送る"
+msgstr "このユーザへ合図を送る"
 
 #: lib/oauthstore.php:283
 msgid "Error inserting new profile"
@@ -5182,13 +5297,12 @@ msgid "Error inserting remote profile"
 msgstr "リモートプロファイル追加エラー"
 
 #: lib/oauthstore.php:345
-#, fuzzy
 msgid "Duplicate notice"
-msgstr "新しい通知"
+msgstr "重複したつぶやき"
 
 #: lib/oauthstore.php:466 lib/subs.php:48
 msgid "You have been banned from subscribing."
-msgstr ""
+msgstr "あなたはフォローが禁止されました。"
 
 #: lib/oauthstore.php:491
 msgid "Couldn't insert new subscription."
@@ -5204,49 +5318,48 @@ msgstr "返信"
 
 #: lib/personalgroupnav.php:114
 msgid "Favorites"
-msgstr ""
+msgstr "お気に入り"
 
 #: lib/personalgroupnav.php:124
 msgid "Inbox"
-msgstr ""
+msgstr "受信箱"
 
 #: lib/personalgroupnav.php:125
 msgid "Your incoming messages"
-msgstr ""
+msgstr "あなたの入ってくるメッセージ"
 
 #: lib/personalgroupnav.php:129
 msgid "Outbox"
-msgstr ""
+msgstr "送信箱"
 
 #: lib/personalgroupnav.php:130
 msgid "Your sent messages"
-msgstr ""
+msgstr "あなたが送ったメッセージ"
 
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "%s のつぶやきのタグ"
 
 #: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
 msgid "Subscriptions"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³"
+msgstr "ã\83\95ã\82©ã\83­ã\83¼"
 
 #: lib/profileaction.php:126
 msgid "All subscriptions"
-msgstr "すべての購読"
+msgstr "すべてのフォロー"
 
 #: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
 msgid "Subscribers"
-msgstr "購読者"
+msgstr "フォローされている"
 
 #: lib/profileaction.php:157
-#, fuzzy
 msgid "All subscribers"
-msgstr "購読者"
+msgstr "すべてのフォローされている"
 
 #: lib/profileaction.php:178
 msgid "User ID"
-msgstr ""
+msgstr "利用者ID"
 
 #: lib/profileaction.php:183
 msgid "Member since"
@@ -5254,16 +5367,15 @@ msgstr "からのメンバー"
 
 #: lib/profileaction.php:245
 msgid "All groups"
-msgstr ""
+msgstr "全てのグループ"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "そのようなドキュメントはありません。"
+msgstr "return-to 引数がありません。"
 
 #: lib/profileformaction.php:137
 msgid "Unimplemented method."
-msgstr ""
+msgstr "未実装のメソッド。"
 
 #: lib/publicgroupnav.php:78
 msgid "Public"
@@ -5279,56 +5391,51 @@ msgstr "最近のタグ"
 
 #: lib/publicgroupnav.php:88
 msgid "Featured"
-msgstr ""
+msgstr "フィーチャーされた"
 
 #: lib/publicgroupnav.php:92
 msgid "Popular"
 msgstr "人気"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat this notice"
-msgstr "この通知へ返信"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "このつぶやきを繰り返しますか?"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "リセット"
+msgid "Repeat this notice"
+msgstr "このつぶやきを繰り返す"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
-msgstr ""
+msgstr "サンドボックス"
 
 #: lib/sandboxform.php:78
-#, fuzzy
 msgid "Sandbox this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\82¢ã\83³ã\83\96ã\83­ã\83\83ã\82¯ã\81\99ã\82\8b"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\82µã\83³ã\83\89ã\83\9cã\83\83ã\82¯ã\82¹"
 
 #: lib/searchaction.php:120
-#, fuzzy
 msgid "Search site"
-msgstr "検索"
+msgstr "サイト検索"
 
 #: lib/searchaction.php:126
 msgid "Keyword(s)"
-msgstr ""
+msgstr "キーワード"
 
 #: lib/searchaction.php:162
-#, fuzzy
 msgid "Search help"
-msgstr "検索"
+msgstr "ヘルプ検索"
 
 #: lib/searchgroupnav.php:80
 msgid "People"
-msgstr ""
+msgstr "人々"
 
 #: lib/searchgroupnav.php:81
 msgid "Find people on this site"
-msgstr ""
+msgstr "このサイトの人々を探す"
 
 #: lib/searchgroupnav.php:83
 msgid "Find content of notices"
-msgstr ""
+msgstr "つぶやきの内容を探す"
 
 #: lib/searchgroupnav.php:85
 msgid "Find groups on this site"
@@ -5340,73 +5447,68 @@ msgstr "名称未設定のセクション"
 
 #: lib/section.php:106
 msgid "More..."
-msgstr ""
+msgstr "さらに..."
 
 #: lib/silenceform.php:67
-#, fuzzy
 msgid "Silence"
-msgstr "新しい通知"
+msgstr "サイレンス"
 
 #: lib/silenceform.php:78
-#, fuzzy
 msgid "Silence this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\83\96ã\83­ã\83\83ã\82¯ã\81\99ã\82\8b"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\82µã\82¤ã\83¬ã\83³ã\82¹ã\81«"
 
 #: lib/subgroupnav.php:83
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "リモートサブスクライブ"
+msgstr "人々 %s はフォロー"
 
 #: lib/subgroupnav.php:91
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "リモートサブスクライブ"
+msgstr "人々は %s をフォローしました。"
 
 #: lib/subgroupnav.php:99
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "グループ %s はメンバー"
 
 #: lib/subs.php:52
 msgid "Already subscribed!"
-msgstr ""
+msgstr "すでにフォローしています!"
 
 #: lib/subs.php:56
-#, fuzzy
 msgid "User has blocked you."
-msgstr "プロファイルがありません。"
+msgstr "利用者はあなたをブロックしました。"
 
 #: lib/subs.php:60
 msgid "Could not subscribe."
-msgstr ""
+msgstr "フォローできません。"
 
 #: lib/subs.php:79
 msgid "Could not subscribe other to you."
-msgstr ""
+msgstr "他の人があなたをフォローできません。"
 
 #: lib/subs.php:128
-#, fuzzy
 msgid "Not subscribed!"
-msgstr "購読していません!"
+msgstr "フォローしていません!"
 
 #: lib/subs.php:133
-#, fuzzy
 msgid "Couldn't delete self-subscription."
-msgstr "サブスクリプションを削除できません"
+msgstr "自己フォローを削除できません。"
 
 #: lib/subs.php:146
 msgid "Couldn't delete subscription."
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³を削除できません"
+msgstr "ã\83\95ã\82©ã\83­ã\83¼を削除できません"
 
 #: lib/subscriberspeopleselftagcloudsection.php:48
 #: lib/subscriptionspeopleselftagcloudsection.php:48
 msgid "People Tagcloud as self-tagged"
-msgstr ""
+msgstr "自己タグづけとしての人々タグクラウド"
 
 #: lib/subscriberspeopletagcloudsection.php:48
 #: lib/subscriptionspeopletagcloudsection.php:48
 msgid "People Tagcloud as tagged"
-msgstr ""
+msgstr "タグ付けとしての人々タグクラウド"
 
 #: lib/subscriptionlist.php:126
 msgid "(none)"
@@ -5414,7 +5516,7 @@ msgstr "(なし)"
 
 #: lib/tagcloudsection.php:56
 msgid "None"
-msgstr ""
+msgstr "なし"
 
 #: lib/topposterssection.php:74
 msgid "Top posters"
@@ -5422,126 +5524,123 @@ msgstr "上位投稿者"
 
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
-msgstr ""
+msgstr "アンサンドボックス"
 
 #: lib/unsandboxform.php:80
-#, fuzzy
 msgid "Unsandbox this user"
-msgstr "このユーザをアンブロックする"
+msgstr "この利用者をアンサンドボックス"
 
 #: lib/unsilenceform.php:67
 msgid "Unsilence"
-msgstr ""
+msgstr "アンサイレンス"
 
 #: lib/unsilenceform.php:78
-#, fuzzy
 msgid "Unsilence this user"
-msgstr "このユーザをアンブロックする"
+msgstr "この利用者をアンサイレンス"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\81\8bã\82\89ã\81®ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96を解除する"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\81\8bã\82\89ã\81®ã\83\95ã\82©ã\83­ã\83¼を解除する"
 
 #: lib/unsubscribeform.php:137
 msgid "Unsubscribe"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96中止"
+msgstr "ã\83\95ã\82©ã\83­ã\83¼è§£é\99¤"
 
 #: lib/userprofile.php:116
-#, fuzzy
 msgid "Edit Avatar"
-msgstr "アバター"
+msgstr "アバターを編集する"
 
 #: lib/userprofile.php:236
 msgid "User actions"
-msgstr ""
+msgstr "利用者アクション"
 
 #: lib/userprofile.php:248
-#, fuzzy
 msgid "Edit profile settings"
-msgstr "プロファイル設定"
+msgstr "プロファイル設定編集"
 
 #: lib/userprofile.php:249
 msgid "Edit"
-msgstr ""
+msgstr "編集"
 
 #: lib/userprofile.php:272
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "この利用者にダイレクトメッセージを送る"
 
 #: lib/userprofile.php:273
 msgid "Message"
-msgstr ""
+msgstr "メッセージ"
 
 #: lib/userprofile.php:311
+#, fuzzy
 msgid "Moderate"
-msgstr ""
+msgstr "司会"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "数秒前"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "約 1 分前"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "約 %d 分前"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "約 1 時間前"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "約 %d 時間前"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "約 1 日前"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "約 %d 日前"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "約 1 ヵ月前"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "約 %d ヵ月前"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "約 1 年前"
 
 #: lib/webcolor.php:82
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not a valid color!"
-msgstr "ホームページのURLが不適切です。"
+msgstr "%sは有効な色ではありません!"
 
 #: lib/webcolor.php:123
 #, php-format
 msgid "%s is not a valid color! Use 3 or 6 hex chars."
-msgstr ""
+msgstr "%s は有効な色ではありません! 3か6の16進数を使ってください。"
 
 #: scripts/maildaemon.php:48
 msgid "Could not parse message."
-msgstr ""
+msgstr "メッセージを分析できませんでした。"
 
 #: scripts/maildaemon.php:53
 msgid "Not a registered user."
-msgstr ""
+msgstr "登録ユーザではありません。"
 
 #: scripts/maildaemon.php:57
 msgid "Sorry, that is not your incoming email address."
-msgstr ""
+msgstr "すみません、それはあなたの入って来るメールアドレスではありません。"
 
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr ""
+msgstr "すみません、入ってくるメールは許可されていません。"
index 063254d337584c68d4f952e6a4040e24665f4742..e90f2d3385beeead93194ed3e5ccbb45523054c2 100644 (file)
@@ -7,12 +7,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:37+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:54+0000\n"
 "Language-Team: Korean\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ko\n"
 "X-Message-Group: out-statusnet\n"
@@ -193,11 +193,11 @@ msgstr "사용자를 업데이트 할 수 없습니다."
 msgid "You cannot block yourself!"
 msgstr "사용자를 업데이트 할 수 없습니다."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "사용자 차단에 실패했습니다."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "사용자 차단 해제에 실패했습니다."
 
@@ -314,7 +314,7 @@ msgid "Could not find target user."
 msgstr "어떠한 상태도 찾을 수 없습니다."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -322,25 +322,25 @@ msgstr ""
 "다."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "별명이 이미 사용중 입니다. 다른 별명을 시도해 보십시오."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "유효한 별명이 아닙니다"
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "홈페이지 주소형식이 올바르지 않습니다."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "실명이 너무 깁니다. (최대 255글자)"
@@ -351,7 +351,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "설명이 너무 길어요. (최대 140글자)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "위치가 너무 깁니다. (최대 255글자)"
@@ -472,7 +472,7 @@ msgstr "너무 깁니다. 통지의 최대 길이는 140글자 입니다."
 msgid "Not found"
 msgstr "찾지 못함"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -603,7 +603,7 @@ msgid "Preview"
 msgstr "미리보기"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "삭제"
 
@@ -616,13 +616,13 @@ msgid "Crop"
 msgstr "자르기"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -687,6 +687,7 @@ msgstr "이 사용자를 차단해제합니다."
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "네, 맞습니다."
 
@@ -694,7 +695,7 @@ msgstr "네, 맞습니다."
 msgid "Block this user"
 msgstr "이 사용자 차단하기"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "정보차단을 저장하는데 실패했습니다."
 
@@ -769,7 +770,7 @@ msgstr "그 주소는 이미 승인되었습니다."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "사용자를 업데이트 할 수 없습니다."
@@ -833,7 +834,7 @@ msgstr "정말로 통지를 삭제하시겠습니까?"
 msgid "Do not delete this notice"
 msgstr "이 통지를 지울 수 없습니다."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "이 게시글 삭제하기"
 
@@ -982,8 +983,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1155,7 +1156,7 @@ msgstr "이메일이 추가 되지 않았습니다."
 msgid "Cannot normalize that email address"
 msgstr "그 이메일 주소를 정규화 할 수 없습니다."
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "유효한 이메일 주소가 아닙니다."
 
@@ -1281,8 +1282,8 @@ msgid "Featured users, page %d"
 msgstr "인기있는 회원, %d페이지"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "%s의 훌륭한 회원의 일부 선택"
 
 #: actions/file.php:34
@@ -1492,7 +1493,7 @@ msgstr "%s 그룹 회원, %d페이지"
 msgid "A list of the users in this group."
 msgstr "이 그룹의 회원리스트"
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "관리자"
 
@@ -1585,7 +1586,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "회원이 당신을 차단해왔습니다."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "차단 제거 에러!"
 
@@ -1766,7 +1767,7 @@ msgstr "개인적인 메시지"
 msgid "Optionally add a personal message to the invitation."
 msgstr "초대장에 메시지 첨부하기."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "보내기"
 
@@ -1885,7 +1886,7 @@ msgstr "틀린 계정 또는 비밀 번호"
 msgid "Error setting user. You are probably not authorized."
 msgstr "인증이 되지 않았습니다."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "로그인"
@@ -1998,7 +1999,7 @@ msgstr "메시지"
 msgid "Direct message to %s sent"
 msgstr "%s에게 보낸 직접 메시지"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax 에러입니다."
 
@@ -2006,7 +2007,7 @@ msgstr "Ajax 에러입니다."
 msgid "New notice"
 msgstr "새로운 통지"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "게시글이 등록되었습니다."
 
@@ -2233,83 +2234,122 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "초대"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "사이트 공지"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "아바타"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "아바타 설정"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "아바타가 업데이트 되었습니다."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "아바타가 업데이트 되었습니다."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "복구"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "통지"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "사이트 공지"
 
@@ -2404,69 +2444,78 @@ msgstr "위치"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "당신은 어디에 삽니까? \"시, 도 (or 군,구), 나라"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "태그"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr "당신을 위한 태그, (문자,숫자,-, ., _로 구성) 콤마 혹은 공백으로 구분."
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "언어"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "언어 설정"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "타임존"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "당신이 주로 생활하는 곳이 어떤 타임존입니까?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr "나에게 구독하는 사람에게 자동 구독 신청"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "자기소개가 너무 깁니다. (최대 140글자)"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "타임존이 설정 되지 않았습니다."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "언어가 너무 깁니다. (최대 50글자)"
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "유효하지 않은태그: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "자동구독에 사용자를 업데이트 할 수 없습니다."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "태그를 저장할 수 없습니다."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "프로필을 저장 할 수 없습니다."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "태그를 저장할 수 없습니다."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "설정 저장"
 
@@ -2564,7 +2613,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "태그 클라우드"
 
@@ -2702,7 +2751,7 @@ msgstr "확인 코드 오류"
 msgid "Registration successful"
 msgstr "회원 가입이 성공적입니다."
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "회원가입"
@@ -2748,7 +2797,7 @@ msgid "Same as password above. Required."
 msgstr "위와 같은 비밀 번호. 필수 사항."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "이메일"
 
@@ -2896,7 +2945,7 @@ msgstr "라이선스에 동의하지 않는다면 등록할 수 없습니다."
 msgid "You already repeated that notice."
 msgstr "당신은 이미 이 사용자를 차단하고 있습니다."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "생성"
@@ -3232,246 +3281,203 @@ msgstr "회원이 당신을 차단해왔습니다."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "유효한 이메일 주소가 아닙니다."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "사이트 공지"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "%s에 포스팅 할 새로운 이메일 주소"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "로컬 뷰"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "언어 설정"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "복구"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "수락"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "개인정보 취급방침"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "초대"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "차단하기"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "복구"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "통지"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "아바타 설정"
@@ -4074,16 +4080,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "이 사이트에 게시글 포스팅으로부터 당신은 금지되었습니다."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "통지를 저장하는데 문제가 발생했습니다."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "답신을 추가 할 때에 데이타베이스 에러 : %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4139,131 +4145,131 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "제목없는 페이지"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "주 사이트 네비게이션"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "홈"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "개인 프로필과 친구 타임라인"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "계정"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "당신의 이메일, 아바타, 비밀 번호, 프로필을 변경하세요."
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "연결"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "서버에 재접속 할 수 없습니다 : %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "주 사이트 네비게이션"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "초대"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "%s에 친구를 가입시키기 위해 친구와 동료를 초대합니다."
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "로그아웃"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "이 사이트로부터 로그아웃"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "계정 만들기"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "이 사이트 로그인"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "도움말"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "도움이 필요해!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "검색"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "프로필이나 텍스트 검색"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "사이트 공지"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "로컬 뷰"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "페이지 공지"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "보조 사이트 네비게이션"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "정보"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "자주 묻는 질문"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "개인정보 취급방침"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "소스 코드"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "연락하기"
 
-#: lib/action.php:741
+#: lib/action.php:742
 #, fuzzy
 msgid "Badge"
 msgstr "찔러 보기"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "라코니카 소프트웨어 라이선스"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4272,12 +4278,12 @@ msgstr ""
 "**%%site.name%%** 는 [%%site.broughtby%%](%%site.broughtbyurl%%)가 제공하는 "
 "마이크로블로깅서비스입니다."
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** 는 마이크로블로깅서비스입니다."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4288,32 +4294,32 @@ msgstr ""
 "을 사용합니다. StatusNet는 [GNU Affero General Public License](http://www."
 "fsf.org/licensing/licenses/agpl-3.0.html) 라이선스에 따라 사용할 수 있습니다."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "라코니카 소프트웨어 라이선스"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "모든 것"
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "라이선스"
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "페이지수"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "뒷 페이지"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "앞 페이지"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "당신의 세션토큰관련 문제가 있습니다."
 
@@ -4373,6 +4379,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "비밀번호 변경"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "비밀번호 변경"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "실행결과"
@@ -5022,12 +5038,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5052,7 +5068,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr "다음에서:"
@@ -5117,72 +5133,76 @@ msgstr "직접 메시지 보내기"
 msgid "To"
 msgstr "에게"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "사용 가능한 글자"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "게시글 보내기"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "뭐하세요? %?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "아니오"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "내용이 없습니다!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "생성"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "이 게시글에 대해 답장하기"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "답장하기"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "게시글이 등록되었습니다."
@@ -5316,15 +5336,15 @@ msgstr "피쳐링됨"
 msgid "Popular"
 msgstr "인기있는"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "이 게시글에 대해 답장하기"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "ì´\88기í\99\94"
+msgid "Repeat this notice"
+msgstr "ì\9d´ ê²\8cì\8b\9cê¸\80ì\97\90 ë\8c\80í\95´ ë\8bµì\9e¥í\95\98기"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5507,47 +5527,47 @@ msgstr "메시지"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "몇 초 전"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "1분 전"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "%d분 전"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "1시간 전"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "%d시간 전"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "하루 전"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "%d일 전"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "1달 전"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "%d달 전"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "1년 전"
 
index 88076b3ab3d5a60fcf5d8443b86e33a2147cf4ae..bd346776c8bd00651d5430453d7fa84ba43857c3 100644 (file)
@@ -1,6 +1,7 @@
 # Translation of StatusNet to Macedonian
 #
 # Author@translatewiki.net: Bjankuloski06
+# Author@translatewiki.net: Brest
 # --
 # This file is distributed under the same license as the StatusNet package.
 #
@@ -8,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:40+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:11:58+0000\n"
 "Language-Team: Macedonian\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: out-statusnet\n"
@@ -60,22 +61,22 @@ msgstr "%s и пријателите, страница %d"
 #: lib/personalgroupnav.php:100
 #, php-format
 msgid "%s and friends"
-msgstr "%s и пријателите"
+msgstr "%s и пријатели"
 
 #: actions/all.php:99
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 1.0)"
-msgstr "Канал со пријатели на %S"
+msgstr "Канал со пријатели на %s (RSS 1.0)"
 
 #: actions/all.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 2.0)"
-msgstr "Канал со пријатели на %S"
+msgstr "Канал со пријатели на %s (RSS 2.0)"
 
 #: actions/all.php:115
 #, php-format
 msgid "Feed for friends of %s (Atom)"
-msgstr "Ð\95миÑ\82Ñ\83ваÑ\9aе за пријатели на %S (Atom)"
+msgstr "Ð\9aанал за пријатели на %S (Atom)"
 
 #: actions/all.php:127
 #, php-format
@@ -106,7 +107,7 @@ msgstr ""
 
 #: actions/all.php:165
 msgid "You and friends"
-msgstr "Вие и пријателите"
+msgstr "Вие и пријатели"
 
 #: actions/allrss.php:119 actions/apitimelinefriends.php:122
 #: actions/apitimelinehome.php:122
@@ -119,9 +120,8 @@ msgstr ""
 #: actions/apiaccountupdateprofile.php:97
 #: actions/apiaccountupdateprofilebackgroundimage.php:94
 #: actions/apiaccountupdateprofilecolors.php:118
-#, fuzzy
 msgid "API method not found."
-msgstr "Кодот за потврда не е пронајден."
+msgstr "API методот не епронајден."
 
 #: actions/apiaccountupdatedeliverydevice.php:85
 #: actions/apiaccountupdateprofile.php:89
@@ -144,9 +144,8 @@ msgid ""
 msgstr ""
 
 #: actions/apiaccountupdatedeliverydevice.php:132
-#, fuzzy
 msgid "Could not update user."
-msgstr "Ð\9aоÑ\80иÑ\81никоÑ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¾Ñ\81вежи/"
+msgstr "Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð°Ð¶Ñ\83Ñ\80иÑ\80а ÐºÐ¾Ñ\80иÑ\81ник."
 
 #: actions/apiaccountupdateprofile.php:112
 #: actions/apiaccountupdateprofilebackgroundimage.php:194
@@ -158,9 +157,8 @@ msgid "User has no profile."
 msgstr "Корисникот нема профил."
 
 #: actions/apiaccountupdateprofile.php:147
-#, fuzzy
 msgid "Could not save profile."
-msgstr "Ð\9fÑ\80оÑ\84илоÑ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ñ\81ними."
+msgstr "Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð·Ð°Ñ\87Ñ\83ва Ð¿Ñ\80оÑ\84ил."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:97
@@ -182,19 +180,18 @@ msgstr ""
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:187
 #: actions/apiaccountupdateprofilecolors.php:142
-#, fuzzy
 msgid "Could not update your design."
-msgstr "Ð\9aоÑ\80иÑ\81никоÑ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¾Ñ\81вежи/"
+msgstr "Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð°Ð¶Ñ\83Ñ\80иÑ\80а Ð²Ð°Ñ\88иоÑ\82 Ð´Ð¸Ð·Ð°Ñ\98н."
 
 #: actions/apiblockcreate.php:105
 msgid "You cannot block yourself!"
 msgstr "Не можете да се блокирате самите себеси!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -307,31 +304,31 @@ msgid "Could not find target user."
 msgstr "Не можев да го пронајдам целниот корисник."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Прекарот мора да има само мали букви и бројки и да нема празни места."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Тој прекар е во употреба. Одберете друг."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Неправилен прекар."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
-msgstr "Ð\94омаÑ\88наÑ\82а Ñ\81Ñ\82Ñ\80аниÑ\86а Ð½Ðµ Ðµ Ð¿Ñ\80авилно URL."
+msgstr "Ð\93лавнаÑ\82а Ñ\81Ñ\82Ñ\80аниÑ\86а Ð½Ðµ Ðµ Ð²Ð°Ð»Ð¸Ð´ÐµÐ½ URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Целото име е предолго (максимум 255 знаци)"
@@ -342,7 +339,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Описот е предолг (дозволено е највеќе %d знаци)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Локацијата е предолга (максимумот е 255 знаци)."
@@ -385,43 +382,42 @@ msgid "You have been blocked from that group by the admin."
 msgstr ""
 
 #: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s."
-msgstr "Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¿Ñ\80енаÑ\81оÑ\87и ÐºÐ¾Ð½ Ñ\81еÑ\80веÑ\80оÑ\82: %s"
+msgstr "Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¿Ñ\80идÑ\80Ñ\83жи ÐºÐ¾Ñ\80иÑ\81ник %s Ð½Ð° Ð³Ñ\80Ñ\83па %s."
 
 #: actions/apigroupleave.php:114
-#, fuzzy
 msgid "You are not a member of this group."
-msgstr "Не ни го испративте тој профил."
+msgstr "Не сте член на оваа група"
 
 #: actions/apigroupleave.php:124
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s."
-msgstr "OpenID формуларот не може да се креира:%s"
+msgstr "Не може да се избрише корисник %s од група %s."
 
 #: actions/apigrouplist.php:95
-#, fuzzy, php-format
+#, php-format
 msgid "%s's groups"
-msgstr "Профил"
+msgstr "%s групи"
 
 #: actions/apigrouplist.php:103
-#, fuzzy, php-format
+#, php-format
 msgid "Groups %s is a member of on %s."
-msgstr "Ð\9dе Ð½Ð¸ Ð³Ð¾ Ð¸Ñ\81пÑ\80аÑ\82ивÑ\82е Ñ\82оÑ\98 Ð¿Ñ\80оÑ\84ил."
+msgstr "Ð\93Ñ\80Ñ\83пиÑ\82е %s Ñ\81е Ñ\87ленови Ð½Ð° %s."
 
 #: actions/apigrouplistall.php:90 actions/usergroups.php:62
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "%s групи"
 
 #: actions/apigrouplistall.php:94
 #, php-format
 msgid "groups on %s"
-msgstr ""
+msgstr "групи на %s"
 
 #: actions/apistatusesdestroy.php:107
 msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "Методот бара POST или DELETE."
 
 #: actions/apistatusesdestroy.php:130
 msgid "You may not delete another user's status."
@@ -433,9 +429,8 @@ msgid "No such notice."
 msgstr "Нема такво известување."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Не може да се регистрирате ако не ја прифаќате лиценцата."
+msgstr "Не можете да ја повторувате сопствената белешка."
 
 #: actions/apistatusesretweet.php:91
 #, fuzzy
@@ -443,9 +438,8 @@ msgid "Already repeated that notice."
 msgstr "Веќе сте пријавени!"
 
 #: actions/apistatusesshow.php:138
-#, fuzzy
 msgid "Status deleted."
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 Ðµ Ð°Ð¶Ñ\83Ñ\80иÑ\80ан."
+msgstr "СÑ\82аÑ\82Ñ\83Ñ\81оÑ\82 Ðµ Ð¸Ð·Ð±Ñ\80иÑ\88ан."
 
 #: actions/apistatusesshow.php:144
 msgid "No status with that ID found."
@@ -453,23 +447,22 @@ msgstr ""
 
 #: actions/apistatusesupdate.php:157 actions/newnotice.php:155
 #: scripts/maildaemon.php:71
-#, fuzzy, php-format
+#, php-format
 msgid "That's too long. Max notice size is %d chars."
-msgstr "Ð\9eва Ðµ Ð¿Ñ\80едолго. Ð\9cакÑ\81ималнаÑ\82а Ð´Ð¾Ð»Ð¶Ð¸Ð½Ð° Ðµ 140 знаци."
+msgstr "Ð\9eва Ðµ Ð¿Ñ\80едолго. Ð\9cакÑ\81ималнаÑ\82а Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð° Ð´Ð¾Ð»Ð¶Ð¸Ð½Ð° Ð¸Ð·Ð½ÐµÑ\81Ñ\83ва %d знаци."
 
 #: actions/apistatusesupdate.php:198
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
 
 #: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
-#, fuzzy
 msgid "Unsupported format."
-msgstr "Неподдржан фомрат на слики."
+msgstr "Неподдржан формат."
 
 #: actions/apitimelinefavorites.php:108
 #, php-format
@@ -494,9 +487,9 @@ msgid "Updates from %1$s on %2$s!"
 msgstr ""
 
 #: actions/apitimelinementions.php:117
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s / Updates mentioning %2$s"
-msgstr "%1$s статус на %2$s"
+msgstr "%1$s / Подновувања кои споменуваат %2$s"
 
 #: actions/apitimelinementions.php:127
 #, php-format
@@ -534,19 +527,17 @@ msgid "Notices tagged with %s"
 msgstr ""
 
 #: actions/apitimelinetag.php:108 actions/tagrss.php:64
-#, fuzzy, php-format
+#, php-format
 msgid "Updates tagged with %1$s on %2$s!"
-msgstr "Ð\9cикÑ\80облог Ð½Ð° %s"
+msgstr "Ð\9fодновÑ\83ваÑ\9aаÑ\82а Ñ\81е Ð¾Ð·Ð½Ð°Ñ\87ени Ñ\81о %1$s Ð½Ð° %2$s!"
 
 #: actions/apiusershow.php:96
-#, fuzzy
 msgid "Not found."
-msgstr "Ð\9dе Ðµ Ð¿Ñ\80онаÑ\98едено Ð±Ð°Ñ\80аÑ\9aе."
+msgstr "Ð\9dе Ðµ Ð¿Ñ\80онаÑ\98дено."
 
 #: actions/attachment.php:73
-#, fuzzy
 msgid "No such attachment."
-msgstr "Ð\9dема Ñ\82аков Ð´Ð¾ÐºÑ\83менÑ\82."
+msgstr "Ð\9dема Ñ\82аков Ð¿Ñ\80илог."
 
 #: actions/avatarbynickname.php:59 actions/grouprss.php:91
 #: actions/leavegroup.php:76
@@ -579,9 +570,8 @@ msgstr ""
 
 #: actions/avatarsettings.php:119 actions/avatarsettings.php:197
 #: actions/grouplogo.php:251
-#, fuzzy
 msgid "Avatar settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "Ð\9dагодÑ\83ваÑ\9aа Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80оÑ\82"
 
 #: actions/avatarsettings.php:127 actions/avatarsettings.php:205
 #: actions/grouplogo.php:199 actions/grouplogo.php:259
@@ -591,12 +581,12 @@ msgstr ""
 #: actions/avatarsettings.php:142 actions/avatarsettings.php:217
 #: actions/grouplogo.php:210 actions/grouplogo.php:271
 msgid "Preview"
-msgstr ""
+msgstr "Преглед"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
-msgstr ""
+msgstr "Бриши"
 
 #: actions/avatarsettings.php:166 actions/grouplogo.php:233
 msgid "Upload"
@@ -604,16 +594,16 @@ msgstr "Товари"
 
 #: actions/avatarsettings.php:231 actions/grouplogo.php:286
 msgid "Crop"
-msgstr ""
+msgstr "Отсечи"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -627,7 +617,7 @@ msgstr ""
 #: actions/imsettings.php:220 actions/recoverpassword.php:44
 #: actions/smssettings.php:248 lib/designsettings.php:304
 msgid "Unexpected form submission."
-msgstr "Ð\9dеоÑ\87екÑ\83вано Ð¸Ñ\81пÑ\80аÑ\9cаÑ\9aе Ð½Ð° Ñ\84оÑ\80мÑ\83лаÑ\80."
+msgstr "Ð\9dеоÑ\87екÑ\83вано Ð¿Ð¾Ð´Ð½ÐµÑ\81Ñ\83ваÑ\9aе Ð½Ð° Ð¾Ð±Ñ\80азеÑ\86."
 
 #: actions/avatarsettings.php:328
 msgid "Pick a square area of the image to be your avatar"
@@ -646,14 +636,12 @@ msgid "Failed updating avatar."
 msgstr "Товарањето на аватарот не успеа."
 
 #: actions/avatarsettings.php:393
-#, fuzzy
 msgid "Avatar deleted."
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 Ðµ Ð°Ð¶Ñ\83Ñ\80иÑ\80ан."
+msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 Ðµ Ð¸Ð·Ð±Ñ\80иÑ\88ан."
 
 #: actions/block.php:69
-#, fuzzy
 msgid "You already blocked that user."
-msgstr "Веќе сте пријавени!"
+msgstr "Веќе го имате блокирано тој корисник."
 
 #: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
 #, fuzzy
@@ -679,6 +667,7 @@ msgstr "Нема таков корисник."
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr ""
 
@@ -687,7 +676,7 @@ msgstr ""
 msgid "Block this user"
 msgstr "Нема таков корисник."
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -702,37 +691,34 @@ msgstr "Нема прекар"
 #: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
 #: actions/grouplogo.php:99 actions/groupmembers.php:83
 #: actions/joingroup.php:83 actions/showgroup.php:137
-#, fuzzy
 msgid "No such group"
-msgstr "Ð\9dема Ñ\82акво Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе."
+msgstr "Ð\9dема Ñ\82акваа Ð³Ñ\80Ñ\83па"
 
 #: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles"
-msgstr "Корисникот нема профил."
+msgstr "%s блокирани профили"
 
 #: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles, page %d"
-msgstr "%s Ð¸ Ð¿Ñ\80иÑ\98аÑ\82елиÑ\82е"
+msgstr "%s Ð±Ð»Ð¾ÐºÐ¸Ñ\80ани Ð¿Ñ\80оÑ\84или, Ñ\81Ñ\82Ñ\80аниÑ\86а %d"
 
 #: actions/blockedfromgroup.php:108
 msgid "A list of the users blocked from joining this group."
 msgstr ""
 
 #: actions/blockedfromgroup.php:281
-#, fuzzy
 msgid "Unblock user from group"
-msgstr "Ð\9dема Ñ\82аков ÐºÐ¾Ñ\80иÑ\81ник."
+msgstr "Ð\9eдблокиÑ\80аÑ\98 ÐºÐ¾Ñ\80иÑ\81ник Ð¾Ð´ Ð³Ñ\80Ñ\83па"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:69
 msgid "Unblock"
-msgstr ""
+msgstr "Одблокирај"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:80
-#, fuzzy
 msgid "Unblock this user"
-msgstr "Ð\9dема Ñ\82аков ÐºÐ¾Ñ\80иÑ\81ник."
+msgstr "Ð\9eдблокиÑ\80аÑ\98 Ð³Ð¾ Ð¾Ð²Ð¾Ñ\98 ÐºÐ¾Ñ\80Ñ\81ник"
 
 #: actions/bookmarklet.php:50
 msgid "Post to "
@@ -762,7 +748,7 @@ msgstr "Оваа адреса веќе е потврдена."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Корисникот не може да се освежи/"
@@ -770,7 +756,7 @@ msgstr "Корисникот не може да се освежи/"
 #: actions/confirmaddress.php:126 actions/emailsettings.php:391
 #: actions/imsettings.php:363 actions/smssettings.php:382
 msgid "Couldn't delete email confirmation."
-msgstr "Не може да се креира потврда за е-пошта."
+msgstr "Не можев да ја избришам потврдата по е-пошта."
 
 #: actions/confirmaddress.php:144
 msgid "Confirm Address"
@@ -782,9 +768,8 @@ msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Адресата  \"%s\" е потврдена за Вашата сметка."
 
 #: actions/conversation.php:99
-#, fuzzy
 msgid "Conversation"
-msgstr "Ð\9bокација"
+msgstr "Ð\9aонвеÑ\80зација"
 
 #: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:216 lib/searchgroupnav.php:82
@@ -803,7 +788,7 @@ msgstr "Не сте пријавени."
 
 #: actions/deletenotice.php:71
 msgid "Can't delete this notice."
-msgstr ""
+msgstr "Не може да се избрише оваа забелешка."
 
 #: actions/deletenotice.php:103
 msgid ""
@@ -813,38 +798,35 @@ msgstr ""
 
 #: actions/deletenotice.php:109 actions/deletenotice.php:141
 msgid "Delete notice"
-msgstr ""
+msgstr "Бриши забелешка"
 
 #: actions/deletenotice.php:144
 msgid "Are you sure you want to delete this notice?"
 msgstr ""
 
 #: actions/deletenotice.php:145
-#, fuzzy
 msgid "Do not delete this notice"
-msgstr "Нема такво известување."
+msgstr "Не ја бриши оваа забелешка"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
-msgstr ""
+msgstr "Бриши ја оваа забелешка"
 
 #: actions/deletenotice.php:157
 msgid "There was a problem with your session token.  Try again, please."
 msgstr ""
 
 #: actions/deleteuser.php:67
-#, fuzzy
 msgid "You cannot delete users."
-msgstr "Ð\9aоÑ\80иÑ\81никоÑ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¾Ñ\81вежи/"
+msgstr "Ð\9dе Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð° Ð±Ñ\80иÑ\88еÑ\82е ÐºÐ¾Ñ\80иÑ\81ниÑ\86и."
 
 #: actions/deleteuser.php:74
-#, fuzzy
 msgid "You can only delete local users."
-msgstr "Може да ја користите локалната претплата."
+msgstr "Може да бришете само локални корисници."
 
 #: actions/deleteuser.php:110 actions/deleteuser.php:133
 msgid "Delete user"
-msgstr ""
+msgstr "Бриши корисник"
 
 #: actions/deleteuser.php:135
 msgid ""
@@ -853,68 +835,64 @@ msgid ""
 msgstr ""
 
 #: actions/deleteuser.php:148 lib/deleteuserform.php:77
-#, fuzzy
 msgid "Delete this user"
-msgstr "Ð\9dема Ñ\82аков ÐºÐ¾Ñ\80иÑ\81ник."
+msgstr "Ð\98збÑ\80иÑ\88и Ð¾Ð²Ð¾Ñ\98 ÐºÐ¾Ñ\80иÑ\81ник"
 
 #: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
 #: lib/adminpanelaction.php:302 lib/groupnav.php:119
 msgid "Design"
-msgstr ""
+msgstr "Дизајн"
 
 #: actions/designadminpanel.php:73
 msgid "Design settings for this StatusNet site."
-msgstr ""
+msgstr "Нагодувања на дизајн на ова StatusNet место."
 
 #: actions/designadminpanel.php:275
-#, fuzzy
 msgid "Invalid logo URL."
-msgstr "Ð\9fогÑ\80еÑ\88на Ð³Ð¾Ð»ÐµÐ¼Ð¸Ð½Ð°."
+msgstr "Ð\9fогÑ\80еÑ\88ен URL Ð½Ð° Ð»Ð¾Ð³Ð¾."
 
 #: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
 msgid "Theme not available: %s"
-msgstr "Ð\9eваа Ñ\81Ñ\82Ñ\80аниÑ\86а Ð½Ðµ Ðµ Ð´Ð¾Ñ\81Ñ\82апна Ð²Ð¾ Ñ\84оÑ\80маÑ\82оÑ\82 ÐºÐ¾Ñ\98 Ð\92ие Ð³Ð¾ Ð¿Ñ\80иÑ\84аÑ\9cаÑ\82е."
+msgstr "Ð\9dепоÑ\81Ñ\82оÑ\87ка Ñ\82ема: %s"
 
 #: actions/designadminpanel.php:375
-#, fuzzy
 msgid "Change logo"
-msgstr "Промени ја лозинката"
+msgstr "Промени лого"
 
 #: actions/designadminpanel.php:380
-#, fuzzy
 msgid "Site logo"
-msgstr "Ð\9dово Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\9bого Ð·Ð½Ð°Ðº Ð½Ð° Ñ\81аÑ\98Ñ\82"
 
 #: actions/designadminpanel.php:387
-#, fuzzy
 msgid "Change theme"
-msgstr "Промени"
+msgstr "Промени тема"
 
 #: actions/designadminpanel.php:404
-#, fuzzy
 msgid "Site theme"
-msgstr "Ð\9dово Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Тема Ð½Ð° Ñ\81аÑ\98Ñ\82"
 
 #: actions/designadminpanel.php:405
 msgid "Theme for the site."
-msgstr ""
+msgstr "Тема на сајтот."
 
 #: actions/designadminpanel.php:417 lib/designsettings.php:101
 msgid "Change background image"
-msgstr ""
+msgstr "Промена на слика на позадина"
 
 #: actions/designadminpanel.php:422 actions/designadminpanel.php:497
 #: lib/designsettings.php:178
 msgid "Background"
-msgstr ""
+msgstr "Позадина"
 
 #: actions/designadminpanel.php:427
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "You can upload a background image for the site. The maximum file size is %1"
 "$s."
-msgstr "Ова е предолго. Максималната должина е 140 знаци."
+msgstr ""
+"Може да подигнете слика за позадина за ова место. Максималната големина на "
+"податотеката е %1$s."
 
 #: actions/designadminpanel.php:457 lib/designsettings.php:139
 msgid "On"
@@ -933,28 +911,24 @@ msgid "Tile background image"
 msgstr ""
 
 #: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
 msgid "Change colours"
-msgstr "Ð\9fÑ\80омени Ñ\98а Ð»Ð¾Ð·Ð¸Ð½ÐºÐ°Ñ\82а"
+msgstr "Ð\9fÑ\80омена Ð½Ð° Ð±Ð¾Ð¸"
 
 #: actions/designadminpanel.php:510 lib/designsettings.php:191
-#, fuzzy
 msgid "Content"
-msgstr "Ð\9fовÑ\80зи Ñ\81е"
+msgstr "СодÑ\80жина"
 
 #: actions/designadminpanel.php:523 lib/designsettings.php:204
-#, fuzzy
 msgid "Sidebar"
-msgstr "Ð\91аÑ\80аÑ\98"
+msgstr "СÑ\82Ñ\80аниÑ\87на Ð»ÐµÐ½Ñ\82а"
 
 #: actions/designadminpanel.php:536 lib/designsettings.php:217
 msgid "Text"
-msgstr ""
+msgstr "Текст"
 
 #: actions/designadminpanel.php:549 lib/designsettings.php:230
-#, fuzzy
 msgid "Links"
-msgstr "Ð\9fÑ\80иÑ\98ави Ñ\81е"
+msgstr "Ð\92Ñ\80Ñ\81ки"
 
 #: actions/designadminpanel.php:577 lib/designsettings.php:247
 msgid "Use defaults"
@@ -970,8 +944,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -980,7 +954,7 @@ msgstr "Сними"
 
 #: actions/designadminpanel.php:587 lib/designsettings.php:257
 msgid "Save design"
-msgstr ""
+msgstr "Зачувај дизајн"
 
 #: actions/disfavor.php:81
 msgid "This notice is not a favorite!"
@@ -1023,14 +997,12 @@ msgid "Could not update group."
 msgstr "Корисникот не може да се освежи/"
 
 #: actions/editgroup.php:259 classes/User_group.php:390
-#, fuzzy
 msgid "Could not create aliases."
-msgstr "Ð\98нÑ\84оÑ\80маÑ\86ииÑ\82е Ð·Ð° Ð°Ð²Ð°Ñ\82аÑ\80оÑ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ñ\81нимаÑ\82"
+msgstr "Ð\9dе Ð¼Ð¾Ð¶ÐµÑ\88е Ð´Ð° Ñ\81е Ñ\81оздадаÑ\82 Ð°Ð»Ð¸Ñ\98аÑ\81и."
 
 #: actions/editgroup.php:269
-#, fuzzy
 msgid "Options saved."
-msgstr "Ð\9fоÑ\81Ñ\82авкиÑ\82е Ñ\81е Ñ\81нимени."
+msgstr "Ð\9dагодÑ\83ваÑ\9aаÑ\82а Ñ\81е Ð·Ð°Ñ\87Ñ\83вани."
 
 #: actions/emailsettings.php:60
 msgid "Email Settings"
@@ -1142,7 +1114,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1215,9 +1187,8 @@ msgstr ""
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:88
 #: lib/publicgroupnav.php:93
-#, fuzzy
 msgid "Popular notices"
-msgstr "Ð\9dема Ñ\82акво Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе."
+msgstr "Ð\9fопÑ\83лаÑ\80ни Ð·Ð°Ð±ÐµÐ»ÐµÑ\88ки"
 
 #: actions/favorited.php:67
 #, fuzzy, php-format
@@ -1268,7 +1239,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1277,19 +1248,16 @@ msgid "No notice ID."
 msgstr "Ново известување"
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Ð\9dово Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\9dема Ð·Ð°Ð±ÐµÐ»ÐµÑ\88ка."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Нема таков документ."
+msgstr "Нема прикачувања."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "Нема таков документ."
+msgstr "Нема подигнато прикачувања."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1309,9 +1277,8 @@ msgid "That user has blocked you from subscribing."
 msgstr ""
 
 #: actions/finishremotesubscribe.php:110
-#, fuzzy
 msgid "You are not authorized."
-msgstr "Не е одобрено."
+msgstr "Не сте авторизирани."
 
 #: actions/finishremotesubscribe.php:113
 #, fuzzy
@@ -1434,9 +1401,8 @@ msgid "Unable to save your design settings!"
 msgstr ""
 
 #: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
-#, fuzzy
 msgid "Design preferences saved."
-msgstr "Ð\9fÑ\80еÑ\84еÑ\80енÑ\86ииÑ\82е Ñ\81е Ñ\81нимени."
+msgstr "Ð\9dагодÑ\83ваÑ\9aаÑ\82а Ñ\81е Ð·Ð°Ñ\87Ñ\83вани."
 
 #: actions/grouplogo.php:139 actions/grouplogo.php:192
 msgid "Group logo"
@@ -1453,9 +1419,8 @@ msgid "Pick a square area of the image to be the logo."
 msgstr ""
 
 #: actions/grouplogo.php:396
-#, fuzzy
 msgid "Logo updated."
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 Ðµ Ð°Ð¶Ñ\83Ñ\80иÑ\80ан."
+msgstr "Ð\9bогоÑ\82о Ðµ Ð¿Ð¾Ð´Ð½Ð¾Ð²ÐµÐ½Ð¾."
 
 #: actions/grouplogo.php:398
 #, fuzzy
@@ -1476,7 +1441,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1497,9 +1462,9 @@ msgid "Make this user an admin"
 msgstr ""
 
 #: actions/grouprss.php:133
-#, fuzzy, php-format
+#, php-format
 msgid "Updates from members of %1$s on %2$s!"
-msgstr "Ð\9cикÑ\80облог Ð½Ð° %s"
+msgstr "Ð\9fодновÑ\83ваÑ\9aа Ð¾Ð´ Ñ\87ленови Ð½Ð° %1$s Ð½Ð° %2$s!"
 
 #: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
@@ -1568,10 +1533,9 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "Корисникот нема профил."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
-#, fuzzy
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
-msgstr "Ð\93Ñ\80еÑ\88ка Ð²Ð¾ Ñ\81нимаÑ\9aеÑ\82о Ð½Ð° ÐºÐ¾Ñ\80иÑ\81никот."
+msgstr "Ð\93Ñ\80еÑ\88ка Ð¿Ñ\80и Ð¾Ñ\82Ñ\81Ñ\82Ñ\80анÑ\83ваÑ\9aе Ð½Ð° Ð±Ð»Ð¾кот."
 
 #: actions/imsettings.php:59
 msgid "IM Settings"
@@ -1587,9 +1551,8 @@ msgstr ""
 "doc.im%%). Подолу "
 
 #: actions/imsettings.php:89
-#, fuzzy
 msgid "IM is not available."
-msgstr "Ð\9eваа Ñ\81Ñ\82Ñ\80аниÑ\86а Ð½Ðµ Ðµ Ð´Ð¾Ñ\81Ñ\82апна Ð²Ð¾ Ñ\84оÑ\80маÑ\82оÑ\82 ÐºÐ¾Ñ\98 Ð\92ие Ð³Ð¾ Ð¿Ñ\80иÑ\84аÑ\9cаÑ\82е."
+msgstr "Ð\98Ð\9f Ð½Ðµ Ñ\81е Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¸."
 
 #: actions/imsettings.php:106
 msgid "Current confirmed Jabber/GTalk address."
@@ -1675,7 +1638,7 @@ msgstr ""
 #: actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "Приемно сандаче за %s"
 
 #: actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
@@ -1748,7 +1711,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Испрати"
 
@@ -1821,9 +1784,9 @@ msgid "Could not find membership record."
 msgstr ""
 
 #: actions/leavegroup.php:127 lib/command.php:284
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "OpenID формуларот не може да се креира:%s"
+msgstr "Не можев да го отстранам корисникот %s од групата %s"
 
 #: actions/leavegroup.php:134 lib/command.php:289
 #, php-format
@@ -1848,7 +1811,7 @@ msgstr "Неточно корисничко име или лозинка"
 msgid "Error setting user. You are probably not authorized."
 msgstr "Не е одобрено."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Пријави се"
@@ -1960,7 +1923,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1968,7 +1931,7 @@ msgstr ""
 msgid "New notice"
 msgstr "Ново известување"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "Известувања"
@@ -2060,9 +2023,8 @@ msgid "Notice Search"
 msgstr ""
 
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "Ð\94Ñ\80Ñ\83ги Ð½Ð°Ð³Ð¾Ð´Ñ\83ваÑ\9aа"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
@@ -2081,9 +2043,8 @@ msgid "Automatic shortening service to use."
 msgstr ""
 
 #: actions/othersettings.php:122
-#, fuzzy
 msgid "View profile designs"
-msgstr "Ð\9fоÑ\81Ñ\82авки на профилот"
+msgstr "Ð\92иди Ð¸Ð·Ð³Ð»ÐµÐ´и на профилот"
 
 #: actions/othersettings.php:123
 msgid "Show or hide profile designs."
@@ -2118,9 +2079,8 @@ msgid "Change your password."
 msgstr "Промени ја лозинката"
 
 #: actions/passwordsettings.php:96 actions/recoverpassword.php:231
-#, fuzzy
 msgid "Password change"
-msgstr "Ð\9bозинкаÑ\82а Ðµ Ñ\81нимена."
+msgstr "Ð\9fÑ\80омена Ð½Ð° Ð»Ð¾Ð·Ð¸Ð½ÐºÐ°"
 
 #: actions/passwordsettings.php:104
 msgid "Old password"
@@ -2199,82 +2159,117 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Ново известување"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Аватар"
 
-#: actions/pathsadminpanel.php:252
-#, fuzzy
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "СеÑ\80веÑ\80 Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80оÑ\82"
 
-#: actions/pathsadminpanel.php:256
-#, fuzzy
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 Ðµ Ð°Ð¶Ñ\83Ñ\80иÑ\80ан."
+msgstr "Ð\9fаÑ\82ека Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80оÑ\82"
 
-#: actions/pathsadminpanel.php:260
-#, fuzzy
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 Ðµ Ð°Ð¶Ñ\83Ñ\80иÑ\80ан."
+msgstr "Ð\94иÑ\80екÑ\82оÑ\80иÑ\83м Ð½Ð° Ð°Ð²Ð°Ñ\82аÑ\80оÑ\82"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Пронајди"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Известувања"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Ново известување"
 
@@ -2322,9 +2317,8 @@ msgstr ""
 "повеќе за Вас."
 
 #: actions/profilesettings.php:99
-#, fuzzy
 msgid "Profile information"
-msgstr "Ð\9dепознаÑ\82 профил"
+msgstr "Ð\98нÑ\84оÑ\80маÑ\86ии Ð·Ð° профил"
 
 #: actions/profilesettings.php:108 lib/groupeditform.php:154
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
@@ -2370,70 +2364,77 @@ msgstr "Локација"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Каде се наоѓате, на пр. „Град, Држава“."
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
-msgstr ""
+msgstr "Ознаки"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
-msgstr ""
+msgstr "Јазик"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Биографијата е предолга (максимумот е 140 знаци)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
-msgstr ""
+msgstr "Не е избрана временска зона."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
-#, fuzzy, php-format
+#: actions/profilesettings.php:253 actions/tagother.php:178
+#, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "Ð\9dевалидна Ð´Ð¾Ð¼Ð°Ñ\88на Ñ\81Ñ\82Ñ\80аниÑ\86а: '%s'"
+msgstr "Ð\9dевалидна Ð¾Ð·Ð½Ð°ÐºÐ°: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Не можев да ги зачувам нагодувањата за локација"
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Профилот не може да се сними."
 
-#: actions/profilesettings.php:336
-#, fuzzy
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
-msgstr "Ð\9fÑ\80оÑ\84илоÑ\82 Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ñ\81ними."
+msgstr "Ð\9dе Ð¼Ð¾Ð¶ÐµÐ² Ð´Ð° Ð³Ð¸ Ð·Ð°Ñ\87Ñ\83вам Ð¾Ð·Ð½Ð°ÐºÐ¸Ñ\82е."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Поставките се снимени."
 
@@ -2530,7 +2531,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2671,7 +2672,7 @@ msgstr "Грешка со кодот за потврдување."
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Регистрирај се"
@@ -2715,7 +2716,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Е-пошта"
 
@@ -2848,7 +2849,7 @@ msgstr "Не може да се регистрирате ако не ја при
 msgid "You already repeated that notice."
 msgstr "Веќе сте пријавени!"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Повторено"
 
@@ -2978,9 +2979,8 @@ msgid "%s group, page %d"
 msgstr ""
 
 #: actions/showgroup.php:218
-#, fuzzy
 msgid "Group profile"
-msgstr "Ð\9dема Ñ\82акво Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе."
+msgstr "Ð\9fÑ\80оÑ\84ил Ð½Ð° Ð³Ñ\80Ñ\83па"
 
 #: actions/showgroup.php:263 actions/tagother.php:118
 #: actions/userauthorization.php:167 lib/userprofile.php:177
@@ -2989,9 +2989,8 @@ msgstr ""
 
 #: actions/showgroup.php:274 actions/tagother.php:128
 #: actions/userauthorization.php:179 lib/userprofile.php:194
-#, fuzzy
 msgid "Note"
-msgstr "Ð\98звеÑ\81Ñ\82Ñ\83ваÑ\9aа"
+msgstr "Ð\97абелеÑ\88ка"
 
 #: actions/showgroup.php:284 lib/groupeditform.php:184
 msgid "Aliases"
@@ -3083,12 +3082,11 @@ msgstr ""
 #: actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Порака од %1$s на %2$s"
 
 #: actions/shownotice.php:90
-#, fuzzy
 msgid "Notice deleted."
-msgstr "Ð\98звеÑ\81Ñ\82Ñ\83ваÑ\9aа"
+msgstr "Ð\98збÑ\80иÑ\88ана Ð·Ð°Ð±ÐµÐ»ÐµÑ\88ка"
 
 #: actions/showstream.php:73
 #, php-format
@@ -3161,9 +3159,9 @@ msgid ""
 msgstr ""
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "Ð\9eдговоÑ\80и Ð¸Ñ\81пÑ\80аÑ\82ени Ð´Ð¾ %s"
+msgstr "Ð\9fовÑ\82оÑ\80Ñ\83ваÑ\9aа Ð½Ð° %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
@@ -3178,245 +3176,199 @@ msgstr "Корисникот нема профил."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Неправилна адреса за е-пошта."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
-#, fuzzy
+#: actions/siteadminpanel.php:256
 msgid "Site name"
-msgstr "Ð\9dово Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\98ме Ð½Ð° Ñ\81аÑ\98Ñ\82"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Нема регистрирана адреса за е-пошта за тој корисник."
 
-#: actions/siteadminpanel.php:290
-#, fuzzy
+#: actions/siteadminpanel.php:277
 msgid "Local"
-msgstr "Локација"
+msgstr "Локално"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
-msgstr ""
+msgstr "Основна временска зона"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
-msgstr ""
+msgstr "Основен јазик"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
-#, fuzzy
+#: actions/siteadminpanel.php:306
 msgid "Server"
-msgstr "Ð\9fÑ\80онаÑ\98ди"
+msgstr "Ð\9eпÑ\81лÑ\83жÑ\83ваÑ\87"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Прифати"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Приватност"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Нема таков корисник."
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Пронајди"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Известувања"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
-#, fuzzy
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "Ð\97аÑ\87Ñ\83ваÑ\98 Ð½Ð°Ð³Ð¾Ð´Ñ\83ваÑ\9aа Ð½Ð° Ð²ÐµÐ±-Ñ\81Ñ\82Ñ\80аниÑ\86аÑ\82а"
 
 #: actions/smssettings.php:58
 msgid "SMS Settings"
@@ -3518,9 +3470,8 @@ msgid "You are not subscribed to that profile."
 msgstr "Не ни го испративте тој профил."
 
 #: actions/subedit.php:83
-#, fuzzy
 msgid "Could not save subscription."
-msgstr "Не може да се креира претплатата"
+msgstr "Не можев да ја зачувам претплатата."
 
 #: actions/subscribe.php:55
 #, fuzzy
@@ -3920,9 +3871,8 @@ msgid "No ID."
 msgstr "Нема id."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
-#, fuzzy
 msgid "Profile design"
-msgstr "Ð\9fоÑ\81Ñ\82авки на профилот"
+msgstr "Ð\98зглед на профилот"
 
 #: actions/userdesignsettings.php:87 lib/designsettings.php:76
 msgid ""
@@ -4012,16 +3962,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Проблем во снимањето на известувањето."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Одговор од внесот во базата: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4037,9 +3987,8 @@ msgid "Could not create group."
 msgstr "Информациите за аватарот не може да се снимат"
 
 #: classes/User_group.php:409
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Не може да се креира претплатата"
+msgstr "Не можев да назначам членство во групата."
 
 #: lib/accountsettingsaction.php:108
 msgid "Change your profile settings"
@@ -4080,135 +4029,135 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Дома"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "За"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Поврзи се"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Не може да се пренасочи кон серверот: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Претплати"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Одјави се"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Создај сметка"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Помош"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "Помош"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Барај"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "Ново известување"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "Ново известување"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Претплати"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "За"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "ЧПП"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Приватност"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Изворен код"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Контакт"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4217,12 +4166,12 @@ msgstr ""
 "**%%site.name%%** е сервис за микроблогирање што ви го овозможува [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** е сервис за микроблогирање."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4233,34 +4182,32 @@ msgstr ""
 "верзија %s, достапен пд [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Ново известување"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
-#, fuzzy
+#: lib/action.php:1108
 msgid "After"
-msgstr "« Следни"
+msgstr "После"
 
-#: lib/action.php:1115
-#, fuzzy
+#: lib/action.php:1116
 msgid "Before"
-msgstr "Предходни »"
+msgstr "Пред"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4281,9 +4228,8 @@ msgid "Unable to delete design setting."
 msgstr ""
 
 #: lib/adminpanelaction.php:300
-#, fuzzy
 msgid "Basic site configuration"
-msgstr "Ð\9fоÑ\82вÑ\80дÑ\83ваÑ\9aе Ð½Ð° Ð°Ð´Ñ\80еÑ\81аÑ\82а"
+msgstr "Ð\9eÑ\81новни Ð½Ð°Ð³Ð¾Ð´Ñ\83ваÑ\9aа Ð½Ð° Ñ\81аÑ\98Ñ\82оÑ\82"
 
 #: lib/adminpanelaction.php:303
 #, fuzzy
@@ -4301,12 +4247,11 @@ msgstr ""
 
 #: lib/attachmentlist.php:265
 msgid "Author"
-msgstr ""
+msgstr "Автор"
 
 #: lib/attachmentlist.php:278
-#, fuzzy
 msgid "Provider"
-msgstr "Ð\9fÑ\80оÑ\84ил"
+msgstr "Ð\9eбезбедÑ\83ваÑ\87"
 
 #: lib/attachmentnoticesection.php:67
 msgid "Notices where this attachment appears"
@@ -4316,6 +4261,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Промена на лозинка"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Промена на лозинка"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4477,9 +4432,9 @@ msgid "Login command is disabled"
 msgstr ""
 
 #: lib/command.php:664
-#, fuzzy, php-format
+#, php-format
 msgid "Could not create login token for %s"
-msgstr "OpenID формуларот не може да се креира:%s"
+msgstr "Не можам да создадам најавен жетон за"
 
 #: lib/command.php:669
 #, php-format
@@ -4971,12 +4926,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5001,7 +4956,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr ""
 
@@ -5066,73 +5021,75 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6 или повеќе знаци"
 
-#: lib/noticeform.php:158
-#, fuzzy
+#: lib/noticeform.php:160
 msgid "Send a notice"
-msgstr "Ð\9dово Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\98Ñ\81пÑ\80аÑ\82и Ð·Ð°Ð±ÐµÐ»ÐµÑ\88ка"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Што има %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
-msgstr ""
+msgstr "Прикачи"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
+msgstr "Прикаќи податотека"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Нема содржина!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Повторено од"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
-#, fuzzy
+#: lib/noticelist.php:586
 msgid "Reply"
-msgstr "одговор"
+msgstr "Ð\9eдговор"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Известувања"
@@ -5219,9 +5176,8 @@ msgid "Subscribers"
 msgstr "Претплатници"
 
 #: lib/profileaction.php:157
-#, fuzzy
 msgid "All subscribers"
-msgstr "Ð\9fретплатници"
+msgstr "СиÑ\82е Ð¿ретплатници"
 
 #: lib/profileaction.php:178
 msgid "User ID"
@@ -5233,7 +5189,7 @@ msgstr "Член од"
 
 #: lib/profileaction.php:245
 msgid "All groups"
-msgstr ""
+msgstr "Сите групи"
 
 #: lib/profileformaction.php:123
 #, fuzzy
@@ -5265,15 +5221,15 @@ msgstr ""
 msgid "Popular"
 msgstr "Пребарување на луѓе"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Нема такво известување."
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "РеÑ\81еÑ\82иÑ\80аÑ\98"
+msgid "Repeat this notice"
+msgstr "Ð\9dема Ñ\82акво Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5291,7 +5247,7 @@ msgstr "Барај"
 
 #: lib/searchaction.php:126
 msgid "Keyword(s)"
-msgstr ""
+msgstr "Клучен збор"
 
 #: lib/searchaction.php:162
 #, fuzzy
@@ -5320,17 +5276,15 @@ msgstr ""
 
 #: lib/section.php:106
 msgid "More..."
-msgstr ""
+msgstr "Повеќе..."
 
 #: lib/silenceform.php:67
-#, fuzzy
 msgid "Silence"
-msgstr "Ð\9dово Ð¸Ð·Ð²ÐµÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\9cолк"
 
 #: lib/silenceform.php:78
-#, fuzzy
 msgid "Silence this user"
-msgstr "Ð\9dема Ñ\82аков ÐºÐ¾Ñ\80иÑ\81ник."
+msgstr "Ð\97амолÑ\87и Ð³Ð¾ Ð¾Ð²Ð¾Ñ\98 ÐºÐ¾Ñ\80иÑ\81ник"
 
 #: lib/subgroupnav.php:83
 #, fuzzy, php-format
@@ -5436,13 +5390,12 @@ msgid "User actions"
 msgstr ""
 
 #: lib/userprofile.php:248
-#, fuzzy
 msgid "Edit profile settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки на профилот"
+msgstr "УÑ\80еди Ð½Ð°Ð³Ð¾Ð´Ñ\83ваÑ\9aа на профилот"
 
 #: lib/userprofile.php:249
 msgid "Edit"
-msgstr ""
+msgstr "Уреди"
 
 #: lib/userprofile.php:272
 msgid "Send a direct message to this user"
@@ -5450,53 +5403,53 @@ msgstr ""
 
 #: lib/userprofile.php:273
 msgid "Message"
-msgstr ""
+msgstr "Порака"
 
 #: lib/userprofile.php:311
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "пред неколку секунди"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "пред една минута"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "пред %d минути"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "пред еден час"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "пред %d часа"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "пред еден ден"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "пред %d денови"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "пред еден месец"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "пред %d месеци"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "пред една година"
 
index e9ea9c4bba8df88dda37edc7d96f2673806664d7..efb2320b60bddf91eb455283aa12392350d186a1 100644 (file)
@@ -1,5 +1,6 @@
 # Translation of StatusNet to Norwegian (bokmål)‬
 #
+# Author@translatewiki.net: Nghtwlkr
 # --
 # This file is distributed under the same license as the StatusNet package.
 #
@@ -7,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:42+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:02+0000\n"
 "Language-Team: Norwegian (bokmål)‬\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: no\n"
 "X-Message-Group: out-statusnet\n"
@@ -20,9 +21,8 @@ msgstr ""
 
 #: actions/all.php:63 actions/public.php:97 actions/replies.php:92
 #: actions/showfavorites.php:137 actions/tag.php:51
-#, fuzzy
 msgid "No such page"
-msgstr "Klarte ikke å lagre profil."
+msgstr "Ingen slik side"
 
 #: actions/all.php:74 actions/allrss.php:68
 #: actions/apiaccountupdatedeliverydevice.php:113
@@ -48,12 +48,12 @@ msgstr "Klarte ikke å lagre profil."
 #: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
 #: lib/subs.php:34 lib/subs.php:116
 msgid "No such user."
-msgstr ""
+msgstr "Ingen slik bruker"
 
 #: actions/all.php:84
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s og venner"
+msgstr "%s og venner, side %d"
 
 #: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
 #: actions/apitimelinefriends.php:115 actions/apitimelinehome.php:115
@@ -63,25 +63,25 @@ msgid "%s and friends"
 msgstr "%s og venner"
 
 #: actions/all.php:99
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 1.0)"
-msgstr "Feed for %s sine venner"
+msgstr "Mating for venner av %s (RSS 1.0)"
 
 #: actions/all.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 2.0)"
-msgstr "Feed for %s sine venner"
+msgstr "Mating for venner av %s (RSS 2.0)"
 
 #: actions/all.php:115
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (Atom)"
-msgstr "Feed for %s sine venner"
+msgstr "Mating for venner av %s (Atom)"
 
 #: actions/all.php:127
 #, php-format
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
-msgstr ""
+msgstr "Dette er tidslinjen for %s og venner, men ingen har postet noe enda."
 
 #: actions/all.php:132
 #, php-format
@@ -89,6 +89,8 @@ msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
 "something yourself."
 msgstr ""
+"Prøv å abbonere på flere personer, [bli med i en gruppe](%%action.groups%%) "
+"eller post noe selv."
 
 #: actions/all.php:134
 #, php-format
@@ -96,6 +98,9 @@ msgid ""
 "You can try to [nudge %s](../%s) from his profile or [post something to his "
 "or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"Du kan prøve å [knuffe %s](../%s) fra dennes profil eller [post noe for å få "
+"hans eller hennes oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%"
+"s)."
 
 #: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
 #, php-format
@@ -103,17 +108,18 @@ msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
 "post a notice to his or her attention."
 msgstr ""
+"Hvorfor ikke [opprette en konto](%%%%action.register%%%%) og så knuff %s "
+"eller post en notis for å få hans eller hennes oppmerksomhet."
 
 #: actions/all.php:165
-#, fuzzy
 msgid "You and friends"
-msgstr "%s og venner"
+msgstr "Du og venner"
 
 #: actions/allrss.php:119 actions/apitimelinefriends.php:122
 #: actions/apitimelinehome.php:122
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
-msgstr ""
+msgstr "Oppdateringer fra %1$s og venner på %2$s!"
 
 #: actions/apiaccountratelimitstatus.php:70
 #: actions/apiaccountupdatedeliverydevice.php:93
@@ -136,13 +142,13 @@ msgstr "API-metode ikke funnet!"
 #: actions/apigroupleave.php:91 actions/apistatusesretweet.php:65
 #: actions/apistatusesupdate.php:114
 msgid "This method requires a POST."
-msgstr ""
+msgstr "Denne metoden krever en POST."
 
 #: actions/apiaccountupdatedeliverydevice.php:105
 msgid ""
 "You must specify a parameter named 'device' with a value of one of: sms, im, "
 "none"
-msgstr ""
+msgstr "Du må angi en verdi for parameteren 'device' med en av: sms, im, none"
 
 #: actions/apiaccountupdatedeliverydevice.php:132
 #, fuzzy
@@ -156,7 +162,7 @@ msgstr "Klarte ikke å oppdatere bruker."
 #: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
 #: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
 msgid "User has no profile."
-msgstr ""
+msgstr "Brukeren har ingen profil."
 
 #: actions/apiaccountupdateprofile.php:147
 #, fuzzy
@@ -173,13 +179,15 @@ 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."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:136
 #: actions/apiaccountupdateprofilebackgroundimage.php:146
 #: actions/apiaccountupdateprofilecolors.php:164
 #: actions/apiaccountupdateprofilecolors.php:174
 msgid "Unable to save your design settings."
-msgstr ""
+msgstr "Kunne ikke lagre dine innstillinger for utseende."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:187
 #: actions/apiaccountupdateprofilecolors.php:142
@@ -188,37 +196,36 @@ msgid "Could not update your design."
 msgstr "Klarte ikke å oppdatere bruker."
 
 #: actions/apiblockcreate.php:105
-#, fuzzy
 msgid "You cannot block yourself!"
-msgstr "Klarte ikke å oppdatere bruker."
+msgstr "Du kan ikke blokkere deg selv!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
-msgstr ""
+msgstr "Blokkering av bruker mislyktes."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
-msgstr ""
+msgstr "Oppheving av blokkering av bruker mislyktes."
 
 #: actions/apidirectmessage.php:89
 #, php-format
 msgid "Direct messages from %s"
-msgstr ""
+msgstr "Direktemeldinger fra %s"
 
 #: actions/apidirectmessage.php:93
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "Alle direktemeldinger sendt fra %s"
 
 #: actions/apidirectmessage.php:101
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "Direktemeldinger til %s"
 
 #: actions/apidirectmessage.php:105
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "Alle direktemeldinger sendt til %s"
 
 #: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
 #: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
@@ -242,64 +249,62 @@ msgstr "API-metode ikke funnet!"
 
 #: actions/apidirectmessagenew.php:126
 msgid "No message text!"
-msgstr ""
+msgstr "Ingen meldingstekst!"
 
 #: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
 #, php-format
 msgid "That's too long. Max message size is %d chars."
-msgstr ""
+msgstr "Dette er for langt. Meldingen kan bare være %d tegn lang."
 
 #: actions/apidirectmessagenew.php:146
 msgid "Recipient user not found."
-msgstr ""
+msgstr "Fant ikke mottakeren."
 
 #: actions/apidirectmessagenew.php:150
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "Kan ikke sende direktemeldinger til brukere du ikke er venn med."
 
 #: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
 #: actions/apistatusesdestroy.php:113
 msgid "No status found with that ID."
-msgstr ""
+msgstr "Fant ingen status med den ID-en."
 
 #: actions/apifavoritecreate.php:119
-#, fuzzy
 msgid "This status is already a favorite!"
-msgstr "Det er allerede din e-postadresse."
+msgstr "Denne statusen er allerede en favoritt!"
 
 #: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
 msgid "Could not create favorite."
-msgstr ""
+msgstr "Kunne ikke opprette favoritt."
 
 #: actions/apifavoritedestroy.php:122
 msgid "That status is not a favorite!"
-msgstr ""
+msgstr "Den statusen er ikke en favoritt!"
 
 #: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "Kunne ikke slette favoritt."
 
 #: actions/apifriendshipscreate.php:109
 msgid "Could not follow user: User not found."
-msgstr ""
+msgstr "Kunne ikke følge brukeren: Fant ikke brukeren."
 
 #: actions/apifriendshipscreate.php:118
 #, php-format
 msgid "Could not follow user: %s is already on your list."
-msgstr ""
+msgstr "Kunne ikke følge brukeren: %s er allerede i listen din."
 
 #: actions/apifriendshipsdestroy.php:109
-#, fuzzy
 msgid "Could not unfollow user: User not found."
-msgstr "Klarte ikke å oppdatere bruker."
+msgstr "Kunne ikke slutte å følge brukeren: Fant ikke brukeren."
 
 #: actions/apifriendshipsdestroy.php:120
 msgid "You cannot unfollow yourself!"
-msgstr ""
+msgstr "Du kan ikke slutte å følge deg selv!"
 
 #: actions/apifriendshipsexists.php:94
 msgid "Two user ids or screen_names must be supplied."
-msgstr ""
+msgstr "To bruker ID-er eller kallenavn må oppgis."
 
 #: actions/apifriendshipsshow.php:135
 #, fuzzy
@@ -312,42 +317,42 @@ msgid "Could not find target user."
 msgstr "Klarte ikke å oppdatere bruker."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr ""
+msgstr "Kallenavn kan kun ha små bokstaver og tall og ingen mellomrom."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Det nicket er allerede i bruk. Prøv et annet."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Ugyldig nick."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
-msgstr ""
+msgstr "Hjemmesiden er ikke en gyldig URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Beklager, navnet er for langt (max 250 tegn)."
 
 #: actions/apigroupcreate.php:213
-#, fuzzy, php-format
+#, php-format
 msgid "Description is too long (max %d chars)."
-msgstr "Bioen er for lang (max 140 tegn)"
+msgstr "Beskrivelsen er for lang (maks %d tegn)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr ""
@@ -383,9 +388,8 @@ msgid "Group not found!"
 msgstr "API-metode ikke funnet!"
 
 #: actions/apigroupjoin.php:110
-#, fuzzy
 msgid "You are already a member of that group."
-msgstr "Du er allerede logget inn!"
+msgstr "Du er allerede medlem av den gruppen."
 
 #: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
 msgid "You have been blocked from that group by the admin."
@@ -409,7 +413,7 @@ msgstr "Klarte ikke å oppdatere bruker."
 #: actions/apigrouplist.php:95
 #, php-format
 msgid "%s's groups"
-msgstr ""
+msgstr "%s sine grupper"
 
 #: actions/apigrouplist.php:103
 #, php-format
@@ -467,7 +471,7 @@ msgstr ""
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -598,7 +602,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 #, fuzzy
 msgid "Delete"
 msgstr "slett"
@@ -612,13 +616,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -683,6 +687,7 @@ msgstr "Kan ikke slette notisen."
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Ja"
 
@@ -690,7 +695,7 @@ msgstr "Ja"
 msgid "Block this user"
 msgstr ""
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -764,7 +769,7 @@ msgstr ""
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Klarte ikke å oppdatere bruker."
@@ -826,7 +831,7 @@ msgstr "Er du sikker på at du vil slette denne notisen?"
 msgid "Do not delete this notice"
 msgstr "Kan ikke slette notisen."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr ""
 
@@ -920,11 +925,11 @@ msgstr ""
 
 #: actions/designadminpanel.php:457 lib/designsettings.php:139
 msgid "On"
-msgstr ""
+msgstr ""
 
 #: actions/designadminpanel.php:473 lib/designsettings.php:155
 msgid "Off"
-msgstr ""
+msgstr "Av"
 
 #: actions/designadminpanel.php:474 lib/designsettings.php:156
 msgid "Turn background image on or off."
@@ -935,9 +940,8 @@ msgid "Tile background image"
 msgstr ""
 
 #: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
 msgid "Change colours"
-msgstr "Endre passordet ditt"
+msgstr "Endre farger"
 
 #: actions/designadminpanel.php:510 lib/designsettings.php:191
 #, fuzzy
@@ -954,9 +958,8 @@ msgid "Text"
 msgstr "Tekst"
 
 #: actions/designadminpanel.php:549 lib/designsettings.php:230
-#, fuzzy
 msgid "Links"
-msgstr "Logg inn"
+msgstr "Lenker"
 
 #: actions/designadminpanel.php:577 lib/designsettings.php:247
 msgid "Use defaults"
@@ -972,8 +975,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1145,7 +1148,7 @@ msgstr "Ingen e-postadresse."
 msgid "Cannot normalize that email address"
 msgstr "Klarer ikke normalisere epostadressen"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Ugyldig e-postadresse"
 
@@ -1272,7 +1275,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1400,7 +1403,7 @@ msgstr ""
 
 #: actions/groupbyid.php:74
 msgid "No ID"
-msgstr ""
+msgstr "Ingen ID"
 
 #: actions/groupdesignsettings.php:68
 msgid "You must be logged in to edit a group."
@@ -1467,37 +1470,37 @@ msgstr ""
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "En liste over brukerne i denne gruppen."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
-msgstr ""
+msgstr "Administrator"
 
 #: actions/groupmembers.php:346 lib/blockform.php:69
 msgid "Block"
-msgstr ""
+msgstr "Blokkér"
 
 #: actions/groupmembers.php:441
 msgid "Make user an admin of the group"
-msgstr ""
+msgstr "Gjør brukeren til en administrator for gruppen"
 
 #: actions/groupmembers.php:473
 msgid "Make Admin"
-msgstr ""
+msgstr "Gjør til administrator"
 
 #: actions/groupmembers.php:473
 msgid "Make this user an admin"
-msgstr ""
+msgstr "Gjør denne brukeren til administrator"
 
 #: actions/grouprss.php:133
 #, php-format
 msgid "Updates from members of %1$s on %2$s!"
-msgstr ""
+msgstr "Oppdateringer fra medlemmer av %1$s på %2$s!"
 
 #: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
 msgid "Groups"
-msgstr ""
+msgstr "Grupper"
 
 #: actions/groups.php:64
 #, php-format
@@ -1558,7 +1561,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr ""
 
@@ -1731,7 +1734,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Send"
 
@@ -1850,7 +1853,7 @@ msgstr "Feil brukernavn eller passord"
 msgid "Error setting user. You are probably not authorized."
 msgstr "Ikke autorisert."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Logg inn"
@@ -1958,7 +1961,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1966,7 +1969,7 @@ msgstr ""
 msgid "New notice"
 msgstr ""
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr ""
 
@@ -2192,80 +2195,117 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Brukerbilde"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Innstillinger for IM"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Brukerbildet har blitt oppdatert."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Brukerbildet har blitt oppdatert."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Gjenopprett"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr ""
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr ""
 
@@ -2356,71 +2396,80 @@ msgstr ""
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Tagger"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Språk"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Tidssone"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Abonner automatisk på de som abonnerer på meg (best for ikke-mennesker)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "«Om meg» er for lang (maks 140 tegn)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Ugyldig hjemmeside '%s'"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Klarte ikke å lagre profil."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Klarte ikke å lagre profil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "Klarte ikke å lagre profil."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr ""
 
@@ -2514,7 +2563,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2652,7 +2701,7 @@ msgstr ""
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr ""
@@ -2697,7 +2746,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-post"
 
@@ -2838,7 +2887,7 @@ msgstr ""
 msgid "You already repeated that notice."
 msgstr "Du er allerede logget inn!"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Opprett"
@@ -3169,236 +3218,195 @@ msgstr "Du er allerede logget inn!"
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Ugyldig e-postadresse"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr ""
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr ""
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr ""
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Gjenopprett"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Godta"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr ""
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr ""
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Gjenopprett"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr ""
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Innstillinger for IM"
@@ -3979,16 +3987,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr ""
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4046,131 +4054,131 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Hjem"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "Om"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Koble til"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr ""
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Logg ut"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "Opprett en ny konto"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Hjelp"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "Hjelp"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Søk"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr ""
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr ""
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Om"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "OSS/FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr ""
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Kilde"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4179,12 +4187,12 @@ msgstr ""
 "**%%site.name%%** er en mikrobloggingtjeneste av [%%site.broughtby%%](%%site."
 "broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** er en mikrobloggingtjeneste. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4192,32 +4200,32 @@ msgid ""
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr ""
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr ""
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "Tidligere »"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4270,6 +4278,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Passordet ble lagret"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Passordet ble lagret"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4923,12 +4941,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4953,7 +4971,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr "fra"
@@ -5018,72 +5036,76 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6 eller flere tegn"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr ""
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr ""
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr ""
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Opprett"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 #, fuzzy
 msgid "Reply"
 msgstr "svar"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Nytt nick"
@@ -5216,15 +5238,15 @@ msgstr ""
 msgid "Popular"
 msgstr ""
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Kan ikke slette notisen."
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Nullstill"
+msgid "Repeat this notice"
+msgstr "Kan ikke slette notisen."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5405,47 +5427,47 @@ msgstr ""
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "noen få sekunder siden"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "omtrent ett minutt siden"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "omtrent %d minutter siden"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "omtrent én time siden"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "omtrent %d timer siden"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "omtrent én dag siden"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "omtrent %d dager siden"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "omtrent én måned siden"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "omtrent %d måneder siden"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "omtrent ett år siden"
 
index db938c948f723e12c3cd03242162a312ecfa69b3..378b88a23ddc0eb813b421efcefa33c173c58db6 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:48+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:13+0000\n"
 "Language-Team: Dutch\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: out-statusnet\n"
@@ -200,11 +200,11 @@ msgstr "Het was niet mogelijk uw ontwerp bij te werken."
 msgid "You cannot block yourself!"
 msgstr "U kunt zichzelf niet blokkeren!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Het blokkeren van de gebruiker is mislukt."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Het deblokkeren van de gebruiker is mislukt."
 
@@ -321,7 +321,7 @@ msgid "Could not find target user."
 msgstr "Het was niet mogelijk de doelgebruiker te vinden."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -329,26 +329,26 @@ msgstr ""
 "geen spaties bevatten."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr ""
 "De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Geen geldige gebruikersnaam."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "De thuispagina is geen geldige URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "De volledige naam is te lang (maximaal 255 tekens)."
@@ -359,7 +359,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "De beschrijving is te lang. Gebruik maximaal %d tekens."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Locatie is te lang (maximaal 255 tekens)."
@@ -474,7 +474,7 @@ msgstr "Dat is te lang. De maximale mededelingslengte is 140 tekens."
 msgid "Not found"
 msgstr "Niet gevonden"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -606,7 +606,7 @@ msgid "Preview"
 msgstr "Voorvertoning"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Verwijderen"
 
@@ -619,13 +619,13 @@ msgid "Crop"
 msgstr "Uitsnijden"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -693,6 +693,7 @@ msgstr "Gebruiker niet blokkeren"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Ja"
 
@@ -700,7 +701,7 @@ msgstr "Ja"
 msgid "Block this user"
 msgstr "Deze gebruiker blokkeren"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Het was niet mogelijk om de blokkadeinformatie op te slaan."
 
@@ -772,7 +773,7 @@ msgstr "Dit adres is al bevestigd."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Kon gebruiker niet actualiseren."
@@ -834,7 +835,7 @@ msgstr "Weet u zeker dat u deze aankondiging wilt verwijderen?"
 msgid "Do not delete this notice"
 msgstr "Deze mededeling niet verwijderen"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Deze mededeling verwijderen"
 
@@ -974,8 +975,8 @@ msgstr "Standaardinstellingen toepassen"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1147,7 +1148,7 @@ msgstr "Geen e-mailadres"
 msgid "Cannot normalize that email address"
 msgstr "Kan het emailadres niet normaliseren"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Geen geldig e-mailadres."
 
@@ -1282,8 +1283,8 @@ msgstr "Nieuwe gebruikers, pagina %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "Een selectie van de actieve gebruikers op %s"
+msgid "A selection of some great users on %s"
+msgstr "Een selectie van gewaardeerde gebruikers op %s"
 
 #: actions/file.php:34
 msgid "No notice ID."
@@ -1483,7 +1484,7 @@ msgstr "% groeps leden, pagina %d"
 msgid "A list of the users in this group."
 msgstr "Ledenlijst van deze groep"
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Beheerder"
 
@@ -1583,7 +1584,7 @@ msgstr "Alleen beheerders kunnen groepsleden deblokkeren."
 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:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Er is een fout opgetreden bij het verwijderen van de blokkade."
 
@@ -1771,7 +1772,7 @@ msgstr "Persoonlijk bericht"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Persoonlijk bericht bij de uitnodiging (optioneel)."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Verzenden"
 
@@ -1895,7 +1896,7 @@ msgstr ""
 "Er is een fout opgetreden bij het maken van de instellingen. U hebt "
 "waarschijnlijk niet de juiste rechten."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Aanmelden"
@@ -2006,7 +2007,7 @@ msgstr "Bericht verzonden."
 msgid "Direct message to %s sent"
 msgstr "Het directe bericht aan %s is verzonden"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Er is een Ajax-fout opgetreden"
 
@@ -2014,7 +2015,7 @@ msgstr "Er is een Ajax-fout opgetreden"
 msgid "New notice"
 msgstr "Nieuw bericht"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "De mededeling is verzonden"
 
@@ -2245,76 +2246,112 @@ msgstr "Er kan niet in de achtergrondmap geschreven worden: %s"
 msgid "Locales directory not readable: %s"
 msgstr "Er kan niet uit de talenmap gelezen worden: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "De SSL-server is ongeldig. De maximale lengte is 255 tekens."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Website"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Pad"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Websitepad"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Talenpad"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Talenmap"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Vormgeving"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Vormgevingsserver"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Vormgevingspad"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Vormgevingsmap"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Avatars"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Avatarserver"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Avatarpad"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Avatarmap"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Achtergronden"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Achtergrondenserver"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Achtergrondpad"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Achtergrondenmap"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Nooit"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Soms"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Altijd"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "SSL gebruiken"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Wanneer SSL gebruikt moet worden"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-server"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "De server waar SSL-verzoeken heen gestuurd moeten worden"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Opslagpaden"
 
@@ -2411,75 +2448,83 @@ msgstr "Locatie"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Waar u bent, bijvoorbeeld \"woonplaats, land\" of \"postcode, land\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Mijn huidige locatie weergeven bij het plaatsen van mededelingen"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Labels"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Eigen labels (letter, getallen, -, ., en _). Gescheiden door komma's of "
 "spaties"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Taal"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Voorkeurstaal"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Tijdzone"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "In welke tijdzone verblijft u meestal?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Automatisch abonneren bij abonnement op mij (beste voor automatische "
 "processen)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "De beschrijving is te lang (maximaal %d tekens)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Er is geen tijdzone geselecteerd."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Taal is te lang (max 50 tekens)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Ongeldig label: '%s'"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 "Het was niet mogelijk de instelling voor automatisch abonneren voor de "
 "gebruiker bij te werken."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Het was niet mogelijk de locatievoorkeuren op te slaan."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Het profiel kon niet opgeslagen worden."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Het was niet mogelijk de labels op te slaan."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "De instellingen zijn opgeslagen."
 
@@ -2586,7 +2631,7 @@ msgstr ""
 "U kunt een [gebruiker registeren](%%action.register%%) en dan de eerste zijn "
 "die er een plaatst!"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Woordwolk"
 
@@ -2731,7 +2776,7 @@ msgstr "Sorry. De uitnodigingscode is ongeldig."
 msgid "Registration successful"
 msgstr "De registratie is voltooid"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registreren"
@@ -2777,7 +2822,7 @@ msgid "Same as password above. Required."
 msgstr "Gelijk aan het wachtwoord hierboven. Verplicht"
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-mail"
 
@@ -2922,7 +2967,7 @@ msgstr "U kunt uw eigen mededeling niet herhalen."
 msgid "You already repeated that notice."
 msgstr "U hent die mededeling al herhaald."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Herhaald"
 
@@ -3283,240 +3328,200 @@ msgstr "Deze gebruiker is al gemuilkorfd."
 msgid "Basic settings for this StatusNet site."
 msgstr "Basisinstellingen voor deze StatusNet-website."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "De sitenaam moet ingevoerd worden en mag niet leeg zijn."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr ""
 "U moet een geldig e-mailadres opgeven waarop contact opgenomen kan worden"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "De taal \"%s\" is niet bekend"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "De rapportage-URL voor snapshots is ongeldig."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "De waarde voor het uitvoeren van snapshots is ongeldig."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "De snapshotfrequentie moet een getal zijn."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "U moet een SSL-server instellen als u SSL wilt inschakelen."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "De SSL-server is ongeldig. De maximale lengte is 255 tekens."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "De minimale tekstlimiet is 140 tekens."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "De duplicaatlimiet moet één of meer seconden zijn."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Algemeen"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Websitenaam"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "De naam van de website, zoals \"UwBedrijf Microblog\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Mogelijk gemaakt door"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 "De tekst die gebruikt worden in de \"creditsverwijzing\" in de voettekst van "
 "iedere pagina"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "\"Mogelijk gemaakt door\"-URL"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 "URL die wordt gebruikt voor de verwijzing naar de hoster en dergelijke in de "
 "voettekst van iedere pagina"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "E-mailadres om contact op te nemen met de websitebeheerder"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Lokaal"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Standaardtijdzone"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Standaardtijdzone voor de website. Meestal UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Standaardtaal"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL's"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Server"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Hostnaam van de website server."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "Nette URL's"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Nette URL's (meer leesbaar en beter te onthouden) gebruiken?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Toegang"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Privé"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "Mogen anonieme gebruikers (niet aangemeld) de website bekijken?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Alleen op uitnodiging"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Registratie alleen op uitnodiging."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Gesloten"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Nieuwe registraties uitschakelen."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Snapshots"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "Willekeurig tijdens een websitehit"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "Als geplande taak"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Nooit"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Snapshots van gegevens"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 "Wanneer statistische gegevens naar de status.net-servers verzonden worden"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Frequentie"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Iedere zoveel websitehits wordt een snapshot verzonden"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "Rapportage-URL"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Snapshots worden naar deze URL verzonden"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Soms"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Altijd"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "SSL gebruiken"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Wanneer SSL gebruikt moet worden"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "SSL-server"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "De server waar SSL-verzoeken heen gestuurd moeten worden"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Limieten"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Tekstlimiet"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Maximaal aantal te gebruiken tekens voor mededelingen."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Duplicaatlimiet"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Hoe lang gebruikers moeten wachten (in seconden) voor ze hetzelfde kunnen "
 "zenden."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Websiteinstellingen opslaan"
 
@@ -3579,15 +3584,15 @@ msgstr "U hebt dit al ingesteld als uw telefoonnummer."
 
 #: actions/smssettings.php:321
 msgid "That phone number already belongs to another user."
-msgstr "Dit telefoonnummer is al in gebruik bij een andere gebruiker."
+msgstr "Dit telefoonnummer is al geregistrerd door een andere gebruiker."
 
 #: actions/smssettings.php:347
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your phone "
 "for the code and instructions on how to use it."
 msgstr ""
-"Er is een bevestigingscode is verzonden naar het telefoonnummer dat u hebt "
-"toegevoegd. Controleer uw telefoon voor de code en instructies."
+"Er is een bevestigingscode verzonden naar het telefoonnummer dat u hebt "
+"toegevoegd. Op uw telefoon vindt u de code en de instructies."
 
 #: actions/smssettings.php:374
 msgid "That is the wrong confirmation number."
@@ -4129,17 +4134,17 @@ msgid "You are banned from posting notices on this site."
 msgstr ""
 "U bent geblokkeerd en mag geen mededelingen meer achterlaten op deze site."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 "Er is een databasefout opgetreden bij het invoegen van het antwoord: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
@@ -4194,128 +4199,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Naamloze pagina"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Primaire sitenavigatie"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Start"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Persoonlijk profiel en tijdlijn van vrienden"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Gebruiker"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Uw e-mailadres, avatar, wachtwoord of profiel wijzigen"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Koppelen"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Met diensten verbinden"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Websiteinstellingen wijzigen"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Uitnodigen"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Vrienden en collega's uitnodigen om u te vergezellen op %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Afmelden"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Van de site afmelden"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Gebruiker aanmaken"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Bij de site aanmelden"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Help"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Help me!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Zoeken"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Naar gebruikers of tekst zoeken"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Mededeling van de website"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Lokale weergaven"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Mededeling van de pagina"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Secundaire sitenavigatie"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Over"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Veel gestelde vragen"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "Gebruiksvoorwaarden"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacy"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Broncode"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contact"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Widget"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Licentie van de StatusNet-software"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4324,12 +4329,12 @@ msgstr ""
 "**%%site.name%%** is een microblogdienst van [%%site.broughtby%%](%%site."
 "broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** is een microblogdienst. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4340,31 +4345,31 @@ msgstr ""
 "versie %s, beschikbaar onder de [GNU Affero General Public License](http://"
 "www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Licentie voor siteinhoud"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Alle "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licentie."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginering"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Later"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Eerder"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Er is een probleem met uw sessietoken."
 
@@ -4416,6 +4421,16 @@ msgstr "Mededelingen die deze bijlage bevatten"
 msgid "Tags for this attachment"
 msgstr "Labels voor deze bijlage"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Wachtwoord wijzigen"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Wachtwoord wijzigen"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Commandoresultaten"
@@ -5177,12 +5192,12 @@ msgstr ""
 "Met vriendelijke groet,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s) heeft u een mededeling gestuurd"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5219,7 +5234,7 @@ msgstr ""
 "U hebt geen privéberichten. U kunt privéberichten verzenden aan andere "
 "gebruikers. Mensen kunnen u privéberichten sturen die alleen u kunt lezen."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "van"
 
@@ -5289,72 +5304,75 @@ msgstr "Directe mededeling verzenden"
 msgid "To"
 msgstr "Aan"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Beschikbare tekens"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Mededeling verzenden"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Hallo, %s."
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Toevoegen"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Bestand toevoegen"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Uw locatie bekend maken"
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "Z"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "O"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "W"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "op"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "in context"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Herhaald door"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Op deze mededeling antwoorden"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Antwoorden"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Deze mededeling is verwijderd."
+msgstr "Mededeling herhaald"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5482,13 +5500,13 @@ msgstr "Uitgelicht"
 msgid "Popular"
 msgstr "Populair"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
-msgstr "Deze mededeling herhalen"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Deze mededeling herhalen?"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr "Herhalen"
+msgid "Repeat this notice"
+msgstr "Deze mededeling herhalen"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5659,47 +5677,47 @@ msgstr "Bericht"
 msgid "Moderate"
 msgstr "Modereren"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "een paar seconden geleden"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "ongeveer een minuut geleden"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "ongeveer %d minuten geleden"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "ongeveer een uur geleden"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "ongeveer %d uur geleden"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "ongeveer een dag geleden"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "ongeveer %d dagen geleden"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "ongeveer een maand geleden"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "ongeveer %d maanden geleden"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "ongeveer een jaar geleden"
 
index c60264b96ec3f0dbd90c596631eb7bb0e1374b70..66a393e7b1f1dbc88e23b0cc78f8d46b33347a19 100644 (file)
@@ -7,12 +7,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:45+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:07+0000\n"
 "Language-Team: Norwegian Nynorsk\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nn\n"
 "X-Message-Group: out-statusnet\n"
@@ -193,11 +193,11 @@ msgstr "Kan ikkje oppdatera brukar."
 msgid "You cannot block yourself!"
 msgstr "Kan ikkje oppdatera brukar."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Blokkering av brukar feila."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "De-blokkering av brukar feila."
 
@@ -314,31 +314,31 @@ msgid "Could not find target user."
 msgstr "Kan ikkje finna einkvan status."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Kallenamn må berre ha små bokstavar og nummer, ingen mellomrom."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Ikkje eit gyldig brukarnamn."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Heimesida er ikkje ei gyldig internettadresse."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
@@ -349,7 +349,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "skildringa er for lang (maks 140 teikn)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Plassering er for lang (maksimalt 255 teikn)."
@@ -470,7 +470,7 @@ msgstr "Det er for langt! Ein notis kan berre innehalde 140 teikn."
 msgid "Not found"
 msgstr "Fann ikkje"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -601,7 +601,7 @@ msgid "Preview"
 msgstr "Forhandsvis"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Slett"
 
@@ -614,13 +614,13 @@ msgid "Crop"
 msgstr "Skaler"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -685,6 +685,7 @@ msgstr "Lås opp brukaren"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Jau"
 
@@ -692,7 +693,7 @@ msgstr "Jau"
 msgid "Block this user"
 msgstr "Blokkér denne brukaren"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Lagring av informasjon feila."
 
@@ -767,7 +768,7 @@ msgstr "Den addressa har alt blitt bekrefta."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Kan ikkje oppdatera brukar."
@@ -832,7 +833,7 @@ msgstr "Sikker på at du vil sletta notisen?"
 msgid "Do not delete this notice"
 msgstr "Kan ikkje sletta notisen."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Slett denne notisen"
 
@@ -981,8 +982,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1155,7 +1156,7 @@ msgstr "Ingen epostadresse."
 msgid "Cannot normalize that email address"
 msgstr "Klarar ikkje normalisera epostadressa"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Ikkje ei gyldig epostadresse"
 
@@ -1281,8 +1282,8 @@ msgid "Featured users, page %d"
 msgstr "Profilerte folk, side %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Eit utval av nokre av dei flotte folka på %s"
 
 #: actions/file.php:34
@@ -1492,7 +1493,7 @@ msgstr "%s medlemmar i gruppa, side %d"
 msgid "A list of the users in this group."
 msgstr "Ei liste over brukarane i denne gruppa."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Administrator"
 
@@ -1585,7 +1586,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "Brukar har blokkert deg."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Feil ved fjerning av blokka."
 
@@ -1768,7 +1769,7 @@ msgstr "Personleg melding"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Eventuelt legg til ei personleg melding til invitasjonen."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Send"
 
@@ -1887,7 +1888,7 @@ msgstr "Feil brukarnamn eller passord"
 msgid "Error setting user. You are probably not authorized."
 msgstr "Ikkje autorisert."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Logg inn"
@@ -2002,7 +2003,7 @@ msgstr "Melding"
 msgid "Direct message to %s sent"
 msgstr "Direkte melding til %s sendt"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax feil"
 
@@ -2010,7 +2011,7 @@ msgstr "Ajax feil"
 msgid "New notice"
 msgstr "Ny notis"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Melding lagra"
 
@@ -2238,83 +2239,122 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Invitér"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Statusmelding"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Brukarbilete"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Avatar-innstillingar"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Lasta opp brukarbilete."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Lasta opp brukarbilete."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Gjenopprett"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Notisar"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Statusmelding"
 
@@ -2410,72 +2450,81 @@ msgstr "Plassering"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Kvar er du, t.d. «By, Fylke (eller Region), Land»"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Merkelappar"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "merkelappar for deg sjølv ( bokstavar, nummer, -, ., og _ ), komma eller "
 "mellomroms separert."
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Språk"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Foretrukke språk"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Tidssone"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Kva tidssone er du vanlegvis i?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Automatisk ting notisane til dei som tingar mine (best for ikkje-menneskje)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "«Om meg» er for lang (maks 140 "
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Tidssone er ikkje valt."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Språk er for langt (maksimalt 50 teikn)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Ugyldig merkelapp: %s"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Kan ikkje oppdatera brukar for automatisk tinging."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Kan ikkje lagra merkelapp."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Kan ikkje lagra profil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Kan ikkje lagra merkelapp."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Lagra innstillingar."
 
@@ -2573,7 +2622,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Emne sky"
 
@@ -2712,7 +2761,7 @@ msgstr "Feil med stadfestingskode."
 msgid "Registration successful"
 msgstr "Registreringa gikk bra"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registrér"
@@ -2758,7 +2807,7 @@ msgid "Same as password above. Required."
 msgstr "Samme som passord over. Påkrevd."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Epost"
 
@@ -2909,7 +2958,7 @@ msgstr "Du kan ikkje registrera deg om du ikkje godtek vilkåra i lisensen."
 msgid "You already repeated that notice."
 msgstr "Du har allereie blokkert denne brukaren."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Lag"
@@ -3245,246 +3294,203 @@ msgstr "Brukar har blokkert deg."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Ikkje ei gyldig epostadresse"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Statusmelding"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Ny epostadresse for å oppdatera %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Lokale syningar"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Foretrukke språk"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Gjenopprett"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Godta"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Personvern"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Invitér"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Blokkér"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Gjenopprett"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Notisar"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Avatar-innstillingar"
@@ -4091,16 +4097,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Du kan ikkje lengre legge inn notisar på denne sida."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Eit problem oppstod ved lagring av notis."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Databasefeil, kan ikkje lagra svar: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4156,131 +4162,131 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Ingen tittel"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Navigasjon for hovudsida"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Heim"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Personleg profil og oversyn over vener"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Konto"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Endra e-posten, avataren, passordet eller profilen"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Kopla til"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Klarte ikkje å omdirigera til tenaren: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Navigasjon for hovudsida"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Invitér"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Inviter vennar og kollega til å bli med deg på %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Logg ut"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Logg ut or sida"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Opprett ny konto"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Logg inn or sida"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Hjelp"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Hjelp meg!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Søk"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Søk etter folk eller innhald"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Statusmelding"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Lokale syningar"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Sidenotis"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Andrenivås side navigasjon"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Om"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "OSS"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Personvern"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Kjeldekode"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 #, fuzzy
 msgid "Badge"
 msgstr "Dult"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "StatusNets programvarelisens"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4289,12 +4295,12 @@ msgstr ""
 "**%%site.name%%** er ei mikrobloggingteneste av [%%site.broughtby%%](%%site."
 "broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** er ei mikrobloggingteneste. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4305,32 +4311,32 @@ msgstr ""
 "%s, tilgjengeleg under [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "StatusNets programvarelisens"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Alle"
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "lisens."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginering"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "« Etter"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Før »"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Det var eit problem med sesjons billetten din."
 
@@ -4390,6 +4396,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Endra passord"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Endra passord"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Resultat frå kommandoen"
@@ -5049,12 +5065,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5079,7 +5095,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr " frå "
@@ -5144,72 +5160,76 @@ msgstr "Send ei direkte melding"
 msgid "To"
 msgstr "Til"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Tilgjenglege teikn"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Send ei melding"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Kva skjer, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "Nei"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Ingen innhald."
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Lag"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Svar på denne notisen"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Svar"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Melding lagra"
@@ -5343,15 +5363,15 @@ msgstr "Framheva"
 msgid "Popular"
 msgstr "Populære"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Svar på denne notisen"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Avbryt"
+msgid "Repeat this notice"
+msgstr "Svar på denne notisen"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5534,47 +5554,47 @@ msgstr "Melding"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "eit par sekund sidan"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "omtrent eitt minutt sidan"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "~%d minutt sidan"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "omtrent ein time sidan"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "~%d timar sidan"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "omtrent ein dag sidan"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "~%d dagar sidan"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "omtrent ein månad sidan"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "~%d månadar sidan"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "omtrent eitt år sidan"
 
index b408087184ed83636b7516e9e7b162dbdfcee24a..63fb0d9d775031cce14ef797084a649ae3c888f5 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:51+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:18+0000\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <pl@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ 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.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pl\n"
 "X-Message-Group: out-statusnet\n"
@@ -203,11 +203,11 @@ msgstr "Nie można zaktualizować wyglądu."
 msgid "You cannot block yourself!"
 msgstr "Nie można zablokować siebie."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Zablokowanie użytkownika nie powiodło się."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Odblokowanie użytkownika nie powiodło się."
 
@@ -322,31 +322,31 @@ msgid "Could not find target user."
 msgstr "Nie można odnaleźć użytkownika docelowego."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 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."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Pseudonim jest już używany. Spróbuj innego."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "To nie jest prawidłowy pseudonim."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Strona domowa nie jest prawidłowym adresem URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Imię i nazwisko jest za długie (maksymalnie 255 znaków)."
@@ -357,7 +357,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Opis jest za długi (maksymalnie %d znaków)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Położenie jest za długie (maksymalnie 255 znaków)."
@@ -447,14 +447,12 @@ msgid "No such notice."
 msgstr "Nie ma takiego wpisu."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Nie można włączyć powiadomień."
+msgstr "Nie można powtórzyć własnego wpisu."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "Usuń ten wpis"
+msgstr "Już powtórzono ten wpis."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -474,7 +472,7 @@ msgstr "Wpis jest za długi. Maksymalna długość wynosi %d znaków."
 msgid "Not found"
 msgstr "Nie odnaleziono"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, 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."
@@ -528,17 +526,17 @@ msgstr "Użytkownik %s aktualizuje od każdego."
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Powtórzone przez użytkownika %s"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "Odpowiedzi na %s"
+msgstr "Powtórzone dla %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "Odpowiedzi na %s"
+msgstr "Powtórzenia %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -603,7 +601,7 @@ msgid "Preview"
 msgstr "Podgląd"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Usuń"
 
@@ -616,13 +614,13 @@ msgid "Crop"
 msgstr "Przytnij"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -687,6 +685,7 @@ msgstr "Nie blokuj tego użytkownika"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Tak"
 
@@ -694,7 +693,7 @@ msgstr "Tak"
 msgid "Block this user"
 msgstr "Zablokuj tego użytkownika"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Zapisanie informacji o blokadzie nie powiodło się."
 
@@ -766,7 +765,7 @@ msgstr "Ten adres został już potwierdzony."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Nie można zaktualizować użytkownika."
@@ -828,7 +827,7 @@ msgstr "Jesteś pewien, że chcesz usunąć ten wpis?"
 msgid "Do not delete this notice"
 msgstr "Nie usuwaj tego wpisu"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Usuń ten wpis"
 
@@ -964,8 +963,8 @@ msgstr "Przywróć domyślne ustawienia"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1136,7 +1135,7 @@ msgstr "Brak adresu e-mail."
 msgid "Cannot normalize that email address"
 msgstr "Nie można znormalizować tego adresu e-mail"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "To nie jest prawidłowy adres e-mail"
 
@@ -1270,28 +1269,24 @@ msgstr "Znani użytkownicy, strona %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "Wybór znanych użytkowników na %s"
+msgid "A selection of some great users on %s"
+msgstr "Wybór znanych użytkowników w serwisie %s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Brak wpisu"
+msgstr "Brak identyfikatora wpisu."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Brak wpisu"
+msgstr "Brak wpisu."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Brak załączników"
+msgstr "Brak załączników."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "Nie wysłano załączników"
+msgstr "Nie wysłano załączników."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1465,7 +1460,7 @@ msgstr "Członkowie grupy %s, strona %d"
 msgid "A list of the users in this group."
 msgstr "Lista użytkowników znajdujących się w tej grupie."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Administrator"
 
@@ -1563,7 +1558,7 @@ msgstr "Tylko administrator może odblokowywać członków grupy."
 msgid "User is not blocked from group."
 msgstr "Użytkownik nie został zablokowany w grupie."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Błąd podczas usuwania blokady."
 
@@ -1749,7 +1744,7 @@ msgstr "Osobista wiadomość"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Opcjonalnie dodaj osobistą wiadomość do zaproszenia."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Wyślij"
 
@@ -1871,7 +1866,7 @@ msgstr "Niepoprawna nazwa użytkownika lub hasło."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Błąd podczas ustawiania użytkownika. Prawdopodobnie brak upoważnienia."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Zaloguj się"
@@ -1984,7 +1979,7 @@ msgstr "Wysłano wiadomość"
 msgid "Direct message to %s sent"
 msgstr "Wysłano bezpośrednią wiadomość do użytkownika %s"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Błąd AJAX"
 
@@ -1992,7 +1987,7 @@ msgstr "Błąd AJAX"
 msgid "New notice"
 msgstr "Nowy wpis"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Wysłano wpis"
 
@@ -2223,76 +2218,112 @@ msgstr "Katalog tła jest niezapisywalny: %s"
 msgid "Locales directory not readable: %s"
 msgstr "Katalog lokalizacji jest nieczytelny: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Nieprawidłowy serwer SSL. Maksymalna długość to 255 znaków."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Strona"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Ścieżka"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Ścieżka do strony"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Ścieżka do lokalizacji"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Ścieżka do katalogu lokalizacji"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Motyw"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Serwer motywu"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Ścieżka do motywu"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Katalog motywu"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Awatary"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Serwer awatara"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Ścieżka do awatara"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Katalog awatara"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Tła"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Serwer tła"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Ścieżka do tła"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Katalog tła"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Nigdy"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Czasem"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Zawsze"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Użycie SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Kiedy używać SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Serwer SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Serwer do przekierowywania żądań SSL"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Ścieżki zapisu"
 
@@ -2387,72 +2418,80 @@ msgstr "Położenie"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Gdzie jesteś, np. \"miasto, województwo (lub region), kraj\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Podziel się swoim obecnym położeniem podczas wysyłania wpisów"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Znaczniki"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Znaczniki dla siebie (litery, liczby, -, . i _), oddzielone przecinkami lub "
 "spacjami"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Język"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Preferowany język"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Strefa czasowa"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "W jakiej strefie czasowej zwykle się znajdujesz?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Automatycznie subskrybuj każdego, kto mnie subskrybuje (najlepsze dla botów)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Wpis \"O mnie\" jest za długi (maksymalnie %d znaków)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Nie wybrano strefy czasowej."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Język jest za długi (maksymalnie 50 znaków)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Nieprawidłowy znacznik: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Nie można zaktualizować użytkownika do automatycznej subskrypcji."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Nie można zapisać preferencji położenia."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Nie można zapisać profilu."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Nie można zapisać znaczników."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Zapisano ustawienia."
 
@@ -2558,7 +2597,7 @@ msgstr ""
 "Dlaczego nie [zarejestrujesz konta](%%action.register%%) i zostaniesz "
 "pierwszym, który go wyśle."
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Chmura znaczników"
 
@@ -2698,7 +2737,7 @@ msgstr "Nieprawidłowy kod zaproszenia."
 msgid "Registration successful"
 msgstr "Rejestracja powiodła się"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Zarejestruj się"
@@ -2746,7 +2785,7 @@ msgid "Same as password above. Required."
 msgstr "Takie samo jak powyższe hasło. Wymagane."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-mail"
 
@@ -2875,35 +2914,28 @@ msgid "Couldn’t get a request token."
 msgstr "Nie można uzyskać tokenu żądana."
 
 #: actions/repeat.php:57
-#, fuzzy
 msgid "Only logged-in users can repeat notices."
-msgstr "Tylko użytkownik może czytać swoje skrzynki pocztowe."
+msgstr "Tylko zalogowani użytkownicy mogą powtarzać wpisy."
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "Nie podano profilu."
+msgstr "Nie podano wpisu."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr ""
-"Nie można się zarejestrować, jeśli nie zgadzasz się z warunkami licencji."
+msgstr "Nie można powtórzyć własnego wpisu."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "Użytkownik jest już zablokowany."
+msgstr "Już powtórzono ten wpis."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "Utworzono"
+msgstr "Powtórzono"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "Utworzono"
+msgstr "Powtórzono."
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -3241,9 +3273,9 @@ msgstr ""
 "(http://status.net/). "
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "Odpowiedzi na %s"
+msgstr "Powtórzenia %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
@@ -3257,236 +3289,196 @@ msgstr "Użytkownik jest już wyciszony."
 msgid "Basic settings for this StatusNet site."
 msgstr "Podstawowe ustawienia tej strony StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Nazwa strony nie może mieć zerową długość."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Należy posiadać prawidłowy kontaktowy adres e-mail"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Nieznany język \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "Nieprawidłowy adres URL zgłaszania migawek."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Nieprawidłowa wartość wykonania migawki."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "Częstotliwość migawek musi być liczbą."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Należy ustawić serwer SSL podczas włączania SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Nieprawidłowy serwer SSL. Maksymalna długość to 255 znaków."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "Maksymalne ograniczenie tekstu to 14 znaków."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "Ograniczenie duplikatów musi wynosić jedną lub więcej sekund."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Ogólne"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Nazwa strony"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "Nazwa strony, taka jak \"Mikroblog firmy X\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Dostarczane przez"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr "Tekst używany do odnośnika do zasług w stopce każdej strony"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "Adres URL \"Dostarczane przez\""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr "Adres URL używany do odnośnika do zasług w stopce każdej strony"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Kontaktowy adres e-mail strony"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Lokalne"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Domyślna strefa czasowa"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Domyśla strefa czasowa strony, zwykle UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Domyślny język strony"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "Adresy URL"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Serwer"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Nazwa komputera serwera strony."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "Eleganckie adresu URL"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 "Używać eleganckich (bardziej czytelnych i łatwiejszych do zapamiętania) "
 "adresów URL?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Dostęp"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Prywatna"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "Zabronić anonimowym użytkownikom (niezalogowanym) przeglądać stronę?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Tylko zaproszeni"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Rejestracja tylko za zaproszeniem."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Zamknięte"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Wyłączenie nowych rejestracji."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Migawki"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "Losowo podczas trafienia WWW"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "Jako zaplanowane zadanie"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Nigdy"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Migawki danych"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "Kiedy wysyłać dane statystyczne na serwery status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Częstotliwość"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Migawki będą wysyłane co N trafień WWW"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "Adres URL zgłaszania"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Migawki będą wysyłane na ten adres URL"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Czasem"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Zawsze"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Użycie SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Kiedy używać SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "Serwer SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Serwer do przekierowywania żądań SSL"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Ograniczenia"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Ograniczenie tekstu"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Maksymalna liczba znaków wpisów."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Ograniczenie duplikatów"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Ile czasu użytkownicy muszą czekać (w sekundach), aby ponownie wysłać to "
 "samo."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Zapisz ustawienia strony"
 
@@ -3715,7 +3707,6 @@ msgid "Notice feed for tag %s (Atom)"
 msgstr "Kanał wpisów dla znacznika %s (Atom)"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
 msgstr "Brak parametru identyfikatora."
 
@@ -3987,9 +3978,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Błędny typ obrazu dla adresu URL awatara \"%s\"."
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "Brak identyfikatora"
+msgstr "Brak identyfikatora."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 msgid "Profile design"
@@ -4091,19 +4081,19 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Zabroniono ci wysyłania wpisów na tej stronie."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problem podczas zapisywania wpisu."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Błąd bazy danych podczas wprowadzania odpowiedzi: %s"
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
 
 #: classes/User.php:368
 #, php-format
@@ -4155,128 +4145,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Strona bez nazwy"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Główna nawigacja strony"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Strona domowa"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Profil osobisty i oś czasu przyjaciół"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Konto"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Zmień adres e-mail, awatar, hasło, profil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Połącz"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Połącz z serwisami"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Zmień konfigurację strony"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Zaproś"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Zaproś przyjaciół i kolegów do dołączenia do ciebie na %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Wyloguj się"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Wyloguj się ze strony"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Utwórz konto"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Zaloguj się na stronę"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Pomoc"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Pomóż mi."
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Wyszukaj"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Wyszukaj osoby lub tekst"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Wpis strony"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Lokalne widoki"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Wpis strony"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Druga nawigacja strony"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "O usłudze"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "TOS"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Prywatność"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Kod źródłowy"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Odznaka"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Licencja oprogramowania StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4285,12 +4275,12 @@ msgstr ""
 "**%%site.name%%** jest usługą mikroblogowania prowadzoną przez [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** jest usługą mikroblogowania. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4301,31 +4291,31 @@ msgstr ""
 "status.net/) w wersji %s, dostępnego na [Powszechnej Licencji Publicznej GNU "
 "Affero](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Licencja zawartości strony"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Wszystko "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licencja."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginacja"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Później"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Wcześniej"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Wystąpił problem z tokenem sesji."
 
@@ -4377,6 +4367,16 @@ msgstr "Powiadamia, kiedy pojawia się ten załącznik"
 msgid "Tags for this attachment"
 msgstr "Znaczniki dla tego załącznika"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Zmiana hasła"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Zmiana hasła"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Wyniki polecenia"
@@ -4466,24 +4466,21 @@ msgid "Error sending direct message."
 msgstr "Błąd podczas wysyłania bezpośredniej wiadomości."
 
 #: lib/command.php:422
-#, fuzzy
 msgid "Cannot repeat your own notice"
-msgstr "Nie można włączyć powiadomień."
+msgstr "Nie można powtórzyć własnego wpisu"
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "Usuń ten wpis"
+msgstr "Już powtórzono ten wpis"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Wysłano wpis"
+msgstr "Powtórzono wpis od użytkownika %s"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "Błąd podczas zapisywania wpisu."
+msgstr "Błąd podczas powtarzania wpisu."
 
 #: lib/command.php:491
 #, php-format
@@ -4587,7 +4584,6 @@ msgstr[1] "Jesteś członkiem tych grup:"
 msgstr[2] "Jesteś członkiem tych grup:"
 
 #: lib/command.php:745
-#, fuzzy
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -4631,38 +4627,41 @@ msgstr ""
 "on - włącza powiadomienia\n"
 "off - wyłącza powiadomienia\n"
 "help - wyświetla tę pomoc\n"
-"follow <pseudonim> - subskrybuje użytkownika\n"
-"groups - wyświetla listę grup, do których dołączono\n"
+"follow <pseudonim> - włącza obserwowanie użytkownika\n"
+"groups - wyświetla listę grup, do których dołączyłeś\n"
 "subscriptions - wyświetla listę obserwowanych osób\n"
 "subscribers - wyświetla listę osób, które cię obserwują\n"
-"leave <pseudonim> - rezygnuje z subskrypcji użytkownika\n"
+"leave <pseudonim> - rezygnuje z obserwowania użytkownika\n"
 "d <pseudonim> <tekst> - bezpośrednia wiadomość do użytkownika\n"
-"get <pseudonim> - uzyskuje ostatni wpis użytkownika\n"
-"whois <pseudonim> - uzyskuje informacje o profilu użytkownika\n"
+"get <pseudonim> - zwraca ostatni wpis użytkownika\n"
+"whois <pseudonim> - zwraca informacje o profilu użytkownika\n"
 "fav <pseudonim> - dodaje ostatni wpis użytkownika jako \"ulubiony\"\n"
 "fav #<identyfikator_wpisu> - dodaje wpis z podanym identyfikatorem jako "
 "\"ulubiony\"\n"
+"repeat #<identyfikator_wpisu> - powtarza wiadomość z zadanym "
+"identyfikatorem\n"
+"repeat <pseudonim> - powtarza ostatnią wiadomość od użytkownika\n"
 "reply #<identyfikator_wpisu> - odpowiada na wpis z podanym identyfikatorem\n"
 "reply <pseudonim> - odpowiada na ostatni wpis użytkownika\n"
 "join <grupa> - dołącza do grupy\n"
-"login - uzyskuje odnośnik do logowania do interfejsu WWW\n"
+"login - pobiera odnośnik do zalogowania się do interfejsu WWW\n"
 "drop <grupa> - opuszcza grupę\n"
-"stats - uzyskuje statystyki\n"
+"stats - pobiera statystyki\n"
 "stop - to samo co \"off\"\n"
 "quit - to samo co \"off\"\n"
 "sub <pseudonim> - to samo co \"follow\"\n"
 "unsub <pseudonim> - to samo co \"leave\"\n"
 "last <pseudonim> - to samo co \"get\"\n"
-"on <pseudonim> - jeszcze nie zaimplementowano.\n"
-"off <pseudonim> - jeszcze nie zaimplementowano.\n"
-"nudge <pseudonim> - przypomina użytkownikowi o aktualizacji.\n"
-"invite <numer telefonu> - jeszcze nie zaimplementowano.\n"
-"track <wyraz> - jeszcze nie zaimplementowano.\n"
-"untrack <wyraz> - jeszcze nie zaimplementowano.\n"
-"track off - jeszcze nie zaimplementowano.\n"
-"untrack all - jeszcze nie zaimplementowano.\n"
-"tracks - jeszcze nie zaimplementowano.\n"
-"tracking - jeszcze nie zaimplementowano.\n"
+"on <pseudonim> - jeszcze nie zaimplementowano\n"
+"off <pseudonim> - jeszcze nie zaimplementowano\n"
+"nudge <pseudonim> - przypomina użytkownikowi o aktualizacji\n"
+"invite <numer telefonu> - jeszcze nie zaimplementowano\n"
+"track <wyraz> - jeszcze nie zaimplementowano\n"
+"untrack <wyraz> - jeszcze nie zaimplementowano\n"
+"track off - jeszcze nie zaimplementowano\n"
+"untrack all - jeszcze nie zaimplementowano\n"
+"tracks - jeszcze nie zaimplementowano\n"
+"tracking - jeszcze nie zaimplementowano\n"
 
 #: lib/common.php:199
 msgid "No configuration file found. "
@@ -5134,12 +5133,12 @@ msgstr ""
 "Z poważaniem,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "Użytkownik %s (@%s) wysłał wpis wymagający twojej uwagi"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5178,7 +5177,7 @@ msgstr ""
 "rozmowę z innymi użytkownikami. Inni mogą wysyłać ci wiadomości tylko dla "
 "twoich oczu."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "z"
 
@@ -5243,73 +5242,75 @@ msgstr "Wyślij bezpośredni wpis"
 msgid "To"
 msgstr "Do"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Dostępne znaki"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Wyślij wpis"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Co słychać, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Załącz"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Załącz plik"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Podziel się swoim położeniem"
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "Północ"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "Południe"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "Wschód"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "Zachód"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "w"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "w rozmowie"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "Utworzono"
+msgstr "Powtórzone przez"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Odpowiedz na ten wpis"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Odpowiedz"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Usunięto wpis."
+msgstr "Powtórzono wpis"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5409,14 +5410,12 @@ msgid "All groups"
 msgstr "Wszystkie grupy"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "Brak parametrów powrotu"
+msgstr "Brak parametrów powrotu."
 
 #: lib/profileformaction.php:137
-#, fuzzy
 msgid "Unimplemented method."
-msgstr "niezaimplementowana metoda"
+msgstr "Niezaimplementowana metoda."
 
 #: lib/publicgroupnav.php:78
 msgid "Public"
@@ -5438,15 +5437,13 @@ msgstr "Znane"
 msgid "Popular"
 msgstr "Popularne"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat this notice"
-msgstr "Odpowiedz na ten wpis"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Powtórzyć ten wpis?"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "Przywróć"
+msgid "Repeat this notice"
+msgstr "Powtórz ten wpis"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5617,47 +5614,47 @@ msgstr "Wiadomość"
 msgid "Moderate"
 msgstr "Moderuj"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "kilka sekund temu"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "około minutę temu"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "około %d minut temu"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "około godzinę temu"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "około %d godzin temu"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "blisko dzień temu"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "około %d dni temu"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "około miesiąc temu"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "około %d miesięcy temu"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "około rok temu"
 
index 155ad52e23ef37292e2f1f6ff52167b44a7e3189..9e0172663652aeac1b3087b72e80a02d0b082b87 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:54+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:21+0000\n"
 "Language-Team: Portuguese\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt\n"
 "X-Message-Group: out-statusnet\n"
@@ -197,11 +197,11 @@ msgstr "Não foi possível actualizar o seu design."
 msgid "You cannot block yourself!"
 msgstr "Os utilizadores não podem bloquear-se a si próprios!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Bloqueio do utilizador falhou."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Desbloqueio do utilizador falhou."
 
@@ -315,31 +315,31 @@ msgid "Could not find target user."
 msgstr "Não foi possível encontrar o utilizador de destino."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Alcunha só deve conter letras minúsculas e números. Sem espaços."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Alcunha já é usada. Tente outra."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Alcunha não é válida."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Página de acolhimento não é uma URL válida."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
@@ -350,7 +350,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Descrição demasiado longa (máx. 140 caracteres)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Localidade demasiado longa (máx. 255 caracteres)."
@@ -465,7 +465,7 @@ msgstr "Demasiado longo. Tamanho máx. das notas é %d caracteres."
 msgid "Not found"
 msgstr "Não encontrado"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr "Tamanho máx. das notas é %d caracteres, incluíndo a URL do anexo."
@@ -594,7 +594,7 @@ msgid "Preview"
 msgstr "Antevisão"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Apagar"
 
@@ -607,13 +607,13 @@ msgid "Crop"
 msgstr "Cortar"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -679,6 +679,7 @@ msgstr "Não bloquear este utilizador"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Sim"
 
@@ -686,7 +687,7 @@ msgstr "Sim"
 msgid "Block this user"
 msgstr "Bloquear este utilizador"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Não foi possível gravar informação do bloqueio."
 
@@ -758,7 +759,7 @@ msgstr "Esse endereço já tinha sido confirmado."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Não foi possível actualizar o utilizador."
@@ -820,7 +821,7 @@ msgstr "Tem a certeza de que quer apagar esta nota?"
 msgid "Do not delete this notice"
 msgstr "Não apagar esta nota"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Apagar esta nota"
 
@@ -959,8 +960,8 @@ msgstr "Repor predefinição"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1135,7 +1136,7 @@ msgstr "Sem endereço de correio electrónico."
 msgid "Cannot normalize that email address"
 msgstr "Não é possível normalizar esse endereço electrónico"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Endereço electrónico inválido."
 
@@ -1207,7 +1208,7 @@ msgstr "Esta nota já é uma favorita!"
 
 #: actions/favor.php:92 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr "Desfavorecer favorita"
+msgstr "Retirar das favoritas"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:88
 #: lib/publicgroupnav.php:93
@@ -1268,8 +1269,8 @@ msgstr "utilizadores em destaque, página %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "Uma selecção dos participantes excelentes no %s"
+msgid "A selection of some great users on %s"
+msgstr "Uma selecção dos melhores utilizadores no %s"
 
 #: actions/file.php:34
 msgid "No notice ID."
@@ -1463,7 +1464,7 @@ msgstr "Membros do grupo %s, página %d"
 msgid "A list of the users in this group."
 msgstr "Uma lista dos utilizadores neste grupo."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Admin"
 
@@ -1561,7 +1562,7 @@ msgstr "Só um administrador pode desbloquear membros de um grupo."
 msgid "User is not blocked from group."
 msgstr "Acesso do utilizador ao grupo não foi bloqueado."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erro ao remover o bloqueio."
 
@@ -1748,7 +1749,7 @@ msgstr "Mensagem pessoal"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Pode optar por acrescentar uma mensagem pessoal ao convite"
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Enviar"
 
@@ -1863,13 +1864,13 @@ msgstr "Chave inválida ou expirada."
 
 #: actions/login.php:147
 msgid "Incorrect username or password."
-msgstr "Nome de utilizador ou palavra-passe incorrectos."
+msgstr "Nome de utilizador ou palavra-chave incorrectos."
 
 #: actions/login.php:153
 msgid "Error setting user. You are probably not authorized."
 msgstr "Erro ao preparar o utilizador. Provavelmente não está autorizado."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Entrar"
@@ -1901,7 +1902,7 @@ msgstr ""
 
 #: actions/login.php:267
 msgid "Lost or forgotten password?"
-msgstr "Perdeu ou esqueceu-se da palavra-passe?"
+msgstr "Perdeu ou esqueceu-se da palavra-chave?"
 
 #: actions/login.php:286
 msgid ""
@@ -1909,7 +1910,7 @@ msgid ""
 "changing your settings."
 msgstr ""
 "Por razões de segurança, por favor reintroduza o seu nome de utilizador e "
-"palavra-passe antes de alterar as suas configurações."
+"palavra-chave antes de alterar as configurações."
 
 #: actions/login.php:290
 #, php-format
@@ -1982,7 +1983,7 @@ msgstr "Mensagem enviada"
 msgid "Direct message to %s sent"
 msgstr "Mensagem directa para %s enviada"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Erro do Ajax"
 
@@ -1990,7 +1991,7 @@ msgstr "Erro do Ajax"
 msgid "New notice"
 msgstr "Nota nova"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Nota publicada"
 
@@ -2219,78 +2220,114 @@ msgstr "Sem acesso de escrita no directório do fundo: %s"
 #: actions/pathsadminpanel.php:160
 #, php-format
 msgid "Locales directory not readable: %s"
-msgstr "Sem acesso de leitura do directório do locales: %s"
+msgstr "Sem acesso de leitura ao directório do locales: %s"
+
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Servidor SSL inválido. O tamanho máximo é 255 caracteres."
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Site"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Localização"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Localização do site"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Localização do locales"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Localização do directório do locales"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Tema"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Servidor do tema"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Localização do tema"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Directório do tema"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Avatares"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Servidor do avatar"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Localização do avatar"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Directório do avatar"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Fundos"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Servidor do fundo"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Localização do fundo"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Directório do fundo"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Nunca"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Às vezes"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Sempre"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Usar SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Quando usar SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Servidor SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Servidor para onde encaminhar pedidos SSL"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Gravar localizações"
 
@@ -2386,72 +2423,80 @@ msgstr "Localidade"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Onde está, por ex. \"Cidade, Região, País\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Compartilhar a minha localização presente ao publicar notas"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Categorias"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Categorias para si (letras, números, -, ., _), separadas por vírgulas ou "
 "espaços"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Língua"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Língua preferida"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Fuso horário"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Em que fuso horário se encontra normalmente?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Subscrever automaticamente quem me subscreva (óptimo para seres não-humanos)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Biografia demasiado extensa (máx. %d caracteres)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Fuso horário não foi seleccionado."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Língua é demasiado extensa (máx. 50 caracteres)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Categoria inválida: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Não foi possível actualizar o utilizador para subscrição automática."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Não foi possível gravar as preferências de localização."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Não foi possível gravar o perfil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Não foi possível gravar as categorias."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Configurações gravadas."
 
@@ -2560,7 +2605,7 @@ msgstr ""
 "Podia [registar uma conta](%%action.register%%) e ser a primeira pessoa a "
 "publicar uma!"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Nuvem de categorias"
 
@@ -2689,7 +2734,7 @@ msgstr "Erro ao configurar utilizador."
 
 #: actions/recoverpassword.php:382
 msgid "New password successfully saved. You are now logged in."
-msgstr "Nova palavra-passe foi guardada com sucesso. Está agora conectado."
+msgstr "A palavra-chave nova foi gravada com sucesso. Iniciou uma sessão."
 
 #: actions/register.php:85 actions/register.php:189 actions/register.php:404
 msgid "Sorry, only invited people can register."
@@ -2703,7 +2748,7 @@ msgstr "Desculpe, código de convite inválido."
 msgid "Registration successful"
 msgstr "Registo efectuado"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registar"
@@ -2750,7 +2795,7 @@ msgid "Same as password above. Required."
 msgstr "Repita a palavra-chave acima. Obrigatório."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Correio"
 
@@ -2895,7 +2940,7 @@ msgstr "Não pode repetir a sua própria nota."
 msgid "You already repeated that notice."
 msgstr "Já repetiu essa nota."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Repetida"
 
@@ -3254,234 +3299,194 @@ msgstr "O utilizador já está silenciado."
 msgid "Basic settings for this StatusNet site."
 msgstr "Configurações básicas para este site StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Nome do site não pode ter comprimento zero."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Tem de ter um endereço válido para o correio electrónico de contacto"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Língua desconhecida \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "URL para onde enviar instantâneos é inválida"
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Valor de criação do instantâneo é inválido."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "Frequência dos instantâneos estatísticos tem de ser um número."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Tem de configurar um servidor SSL quando activa o SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Servidor SSL inválido. O tamanho máximo é 255 caracteres."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "O valor mínimo de limite para o texto é 140 caracteres."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "O limite de dupes tem de ser 1 ou mais segundos."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Geral"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Nome do site"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "O nome do seu site, por exemplo \"Microblogue NomeDaEmpresa\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Disponibilizado por"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr "Texto usado para a ligação de atribuição no rodapé de cada página"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "URL da atribuição"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr "URL usada para a ligação de atribuição no rodapé de cada página"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Endereço de correio electrónico de contacto para o site"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Local"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Fuso horário, por omissão"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Fuso horário por omissão, para o site; normalmente, UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Língua do site, por omissão"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URLs"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Servidor"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Hostname do servidor do site."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "URLs caprichosas"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Usar URLs caprichosas (fancy URLs) mais legíveis e memoráveis"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Acesso"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Privado"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "Proibir utilizadores anónimos (sem sessão iniciada) de ver o site?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Só por convite"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Permitir o registo só a convidados."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Fechado"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Impossibilitar registos novos."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Instantâneos"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "Aleatoriamente, durante o acesso pela internet"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "Num processo agendado"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Nunca"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Instantâneos dos dados"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "Quando enviar dados estatísticos para os servidores do status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Frequência"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Instantâneos serão enviados uma vez a cada N acessos da internet"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "URL para relatórios"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Instantâneos serão enviados para esta URL"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Às vezes"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Sempre"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Usar SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Quando usar SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "Servidor SSL"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Servidor para onde encaminhar pedidos SSL"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Limites"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Limite de texto"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Número máximo de caracteres nas notas."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Limite de dupes (duplicações)"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Quanto tempo os utilizadores terão de esperar (em segundos) para publicar a "
 "mesma coisa outra vez."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Gravar configurações do site"
 
@@ -4084,16 +4089,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Está proibido de publicar notas neste site."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problema na gravação da nota."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Ocorreu um erro na base de dados ao inserir a resposta: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
@@ -4121,7 +4126,7 @@ msgstr "Carregar um avatar"
 
 #: lib/accountsettingsaction.php:116
 msgid "Change your password"
-msgstr "Modificar a sua palavra-passe"
+msgstr "Modificar a sua palavra-chave"
 
 #: lib/accountsettingsaction.php:120
 msgid "Change email handling"
@@ -4148,128 +4153,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Página sem título"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Navegação primária deste site"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Início"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Perfil pessoal e notas dos amigos"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Conta"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Altere o seu endereço electrónico, avatar, palavra-chave, perfil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Ligar"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Ligar aos serviços"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Alterar a configuração do site"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Convidar"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convidar amigos e colegas para se juntarem a si em %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Sair"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Terminar esta sessão"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Criar uma conta"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Iniciar uma sessão"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Ajuda"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Ajudem-me!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Pesquisa"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Procurar pessoas ou pesquisar texto"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Aviso do site"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Vistas locais"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Aviso da página"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Navegação secundária deste site"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Sobre"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "Condições do Serviço"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacidade"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Código"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contacto"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Emblema"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Licença de software do StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4278,12 +4283,12 @@ msgstr ""
 "**%%site.name%%** é um serviço de microblogues disponibilizado por [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** é um serviço de microblogues. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4294,31 +4299,31 @@ msgstr ""
 "disponibilizado nos termos da [GNU Affero General Public License](http://www."
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Licença de conteúdos do site"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Tudo "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licença."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginação"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
-msgstr "Depois"
+msgstr "Posteriores"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
-msgstr "Antes"
+msgstr "Anteriores"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Ocorreu um problema com a sua chave de sessão."
 
@@ -4370,6 +4375,16 @@ msgstr "Notas em que este anexo aparece"
 msgid "Tags for this attachment"
 msgstr "Categorias para este anexo"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Mudança da palavra-chave"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Mudança da palavra-chave"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Resultados do comando"
@@ -4700,15 +4715,15 @@ msgstr "Predefinições do design repostas"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr "Desfavorecer esta nota"
+msgstr "Retirar esta nota das favoritas"
 
 #: lib/favorform.php:114 lib/favorform.php:140
 msgid "Favor this notice"
-msgstr "Favorecer esta nota"
+msgstr "Eleger esta nota como favorita"
 
 #: lib/favorform.php:140
 msgid "Favor"
-msgstr "Favorecer"
+msgstr "Eleger como favorita"
 
 #: lib/feed.php:85
 msgid "RSS 1.0"
@@ -5119,12 +5134,12 @@ msgstr ""
 "Sinceramente,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s) enviou uma nota à sua atenção"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5163,7 +5178,7 @@ msgstr ""
 "conversa com outros utilizadores. Outros podem enviar-lhe mensagens, a que "
 "só você terá acesso."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "de"
 
@@ -5231,72 +5246,75 @@ msgstr "Enviar uma nota directa"
 msgid "To"
 msgstr "Para"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Caracteres disponíveis"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Enviar uma nota"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Novidades, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Anexar"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Anexar um ficheiro"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Compartilhe a sua localização"
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "S"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "E"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "O"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "coords."
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "em contexto"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Repetida por"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Responder a esta nota"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Responder"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Avatar actualizado."
+msgstr "Nota repetida"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5423,13 +5441,13 @@ msgstr "Destaques"
 msgid "Popular"
 msgstr "Populares"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
-msgstr "Repetir esta nota"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Repetir esta nota?"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr "Repetir"
+msgid "Repeat this notice"
+msgstr "Repetir esta nota"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5600,47 +5618,47 @@ msgstr "Mensagem"
 msgid "Moderate"
 msgstr "Moderar"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "há alguns segundos"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "há cerca de um minuto"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "há cerca de %d minutos"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "há cerca de uma hora"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "há cerca de %d horas"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "há cerca de um dia"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "há cerca de %d dias"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "há cerca de um mês"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "há cerca de %d meses"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "há cerca de um ano"
 
index 3225b56bbd54f17805ba64568879d5b8666d0072..72f9897f2f6f42d74bae36e89f68af7cc968ac5a 100644 (file)
@@ -1,7 +1,7 @@
 # Translation of StatusNet to Brazilian Portuguese
 #
+# Author@translatewiki.net: Aracnus
 # Author@translatewiki.net: Ewout
-# Author@translatewiki.net: McDutchie
 # Author@translatewiki.net: Vuln
 # --
 # This file is distributed under the same license as the StatusNet package.
@@ -10,12 +10,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:52:57+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:24+0000\n"
 "Language-Team: Brazilian Portuguese\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt-br\n"
 "X-Message-Group: out-statusnet\n"
@@ -24,7 +24,7 @@ msgstr ""
 #: actions/all.php:63 actions/public.php:97 actions/replies.php:92
 #: actions/showfavorites.php:137 actions/tag.php:51
 msgid "No such page"
-msgstr "Essa página não existe."
+msgstr "Esta página não existe."
 
 #: actions/all.php:74 actions/allrss.php:68
 #: actions/apiaccountupdatedeliverydevice.php:113
@@ -50,7 +50,7 @@ msgstr "Essa página não existe."
 #: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
 #: lib/subs.php:34 lib/subs.php:116
 msgid "No such user."
-msgstr "Usuário não encontrado."
+msgstr "Este usuário não existe."
 
 #: actions/all.php:84
 #, php-format
@@ -65,25 +65,27 @@ msgid "%s and friends"
 msgstr "%s e amigos"
 
 #: actions/all.php:99
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 1.0)"
-msgstr "Feed para os amigos de %s"
+msgstr "Fonte de mensagens dos amigos de %s (RSS 1.0)"
 
 #: actions/all.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 2.0)"
-msgstr "Feed para os amigos de %s"
+msgstr "Fonte de mensagens dos amigos de %s (RSS 2.0)"
 
 #: actions/all.php:115
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (Atom)"
-msgstr "Feed para os amigos de %s"
+msgstr "Fonte de mensagens dos amigos de %s (Atom)"
 
 #: actions/all.php:127
 #, php-format
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
 msgstr ""
+"Esse é o fluxo de mensagens de %s e seus amigos, mas ninguém publicou nada "
+"ainda."
 
 #: actions/all.php:132
 #, php-format
@@ -91,6 +93,8 @@ msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
 "something yourself."
 msgstr ""
+"Tente assinar mais pessoas, [unir-ser a um grupo](%%action.groups%%) ou "
+"publicar algo."
 
 #: actions/all.php:134
 #, php-format
@@ -98,6 +102,9 @@ msgid ""
 "You can try to [nudge %s](../%s) from his profile or [post something to his "
 "or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"Você pode tentar [chamar a atenção de %s](../%s) em seu perfil ou [publicar "
+"alguma coisa que desperte seu interesse](%%%%action.newnotice%%%%?"
+"status_textarea=%s)."
 
 #: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
 #, php-format
@@ -105,6 +112,8 @@ msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
 "post a notice to his or her attention."
 msgstr ""
+"Por que não [registrar uma conta](%%%%action.register%%%%) e então chamar a "
+"atenção de %s ou publicar uma mensagem para sua atenção."
 
 #: actions/all.php:165
 msgid "You and friends"
@@ -121,7 +130,6 @@ msgstr "Atualizações de %1$s e amigos no %2$s!"
 #: actions/apiaccountupdateprofile.php:97
 #: actions/apiaccountupdateprofilebackgroundimage.php:94
 #: actions/apiaccountupdateprofilecolors.php:118
-#, fuzzy
 msgid "API method not found."
 msgstr "O método da API não foi encontrado!"
 
@@ -144,9 +152,10 @@ msgid ""
 "You must specify a parameter named 'device' with a value of one of: sms, im, "
 "none"
 msgstr ""
+"Você pode especificar um parâmetro denominado 'device', com um dos valores: "
+"sms, im, none"
 
 #: actions/apiaccountupdatedeliverydevice.php:132
-#, fuzzy
 msgid "Could not update user."
 msgstr "Não foi possível atualizar o usuário."
 
@@ -160,7 +169,6 @@ msgid "User has no profile."
 msgstr "O usuário não tem perfil."
 
 #: actions/apiaccountupdateprofile.php:147
-#, fuzzy
 msgid "Could not save profile."
 msgstr "Não foi possível salvar o perfil."
 
@@ -174,31 +182,30 @@ 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."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:136
 #: actions/apiaccountupdateprofilebackgroundimage.php:146
 #: actions/apiaccountupdateprofilecolors.php:164
 #: actions/apiaccountupdateprofilecolors.php:174
-#, fuzzy
 msgid "Unable to save your design settings."
-msgstr "Não foi possível salvar suas configurações do Twitter!"
+msgstr "Não foi possível salvar suas configurações de aparência."
 
 #: actions/apiaccountupdateprofilebackgroundimage.php:187
 #: actions/apiaccountupdateprofilecolors.php:142
-#, fuzzy
 msgid "Could not update your design."
-msgstr "Não foi possível atualizar o usuário."
+msgstr "Não foi possível atualizar a sua aparência."
 
 #: actions/apiblockcreate.php:105
-#, fuzzy
 msgid "You cannot block yourself!"
-msgstr "Não foi possível atualizar o usuário."
+msgstr "Você não pode bloquear a si mesmo!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Não foi possível bloquear o usuário."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Não foi possível desbloquear o usuário."
 
@@ -215,7 +222,7 @@ msgstr "Todas as mensagens diretas enviadas por %s"
 #: actions/apidirectmessage.php:101
 #, php-format
 msgid "Direct messages to %s"
-msgstr "Mensagem direta para %s"
+msgstr "Mensagens diretas para %s"
 
 #: actions/apidirectmessage.php:105
 #, php-format
@@ -249,7 +256,7 @@ msgstr "Nenhuma mensagem de texto!"
 #: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
 #, php-format
 msgid "That's too long. Max message size is %d chars."
-msgstr "Isso é muito extenso. O tamanho máximo das mensagens é 140 caracteres."
+msgstr "Isso é muito extenso. O tamanho máximo das mensagens é %d caracteres."
 
 #: actions/apidirectmessagenew.php:146
 msgid "Recipient user not found."
@@ -258,7 +265,7 @@ msgstr "O usuário destinatário não foi encontrado."
 #: actions/apidirectmessagenew.php:150
 msgid "Can't send direct messages to users who aren't your friend."
 msgstr ""
-"Não é possível enviar mensagens diretas para usuários que não são seus "
+"Não é possível enviar mensagens diretas para usuários que não sejam seus "
 "amigos."
 
 #: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
@@ -276,7 +283,7 @@ msgstr "Não foi possível criar a favorita."
 
 #: actions/apifavoritedestroy.php:122
 msgid "That status is not a favorite!"
-msgstr "Essa mensagem não é uma favorita!"
+msgstr "Essa mensagem não é favorita!"
 
 #: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
 msgid "Could not delete favorite."
@@ -292,98 +299,96 @@ msgid "Could not follow user: %s is already on your list."
 msgstr "Não é possível seguir o usuário: %s já está na sua lista."
 
 #: actions/apifriendshipsdestroy.php:109
-#, fuzzy
 msgid "Could not unfollow user: User not found."
-msgstr "Não é possível seguir o usuário: Usuário não encontrado."
+msgstr "Não é possível deixar de seguir o usuário: Usuário não encontrado."
 
 #: actions/apifriendshipsdestroy.php:120
 msgid "You cannot unfollow yourself!"
-msgstr ""
+msgstr "Você não pode deixar de seguir você mesmo!"
 
 #: actions/apifriendshipsexists.php:94
 msgid "Two user ids or screen_names must be supplied."
 msgstr "Duas IDs de usuário ou screen_names devem ser informados."
 
 #: actions/apifriendshipsshow.php:135
-#, fuzzy
 msgid "Could not determine source user."
-msgstr "Não foi possível recuperar o fluxo público."
+msgstr "Não foi possível determinar o usuário de origem."
 
 #: actions/apifriendshipsshow.php:143
 msgid "Could not find target user."
-msgstr "Não foi possível encontrar usuário alvo."
+msgstr "Não foi possível encontrar usuário de destino."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
-"O apelido deve conter apenas letras minúsculas e/ou números e não pode ter "
-"acentuação e espaços."
+"A identificação deve conter apenas letras minúsculas e números e não pode "
+"ter e espaços."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
-msgstr "Este apelido já está em uso. Tente outro."
+msgstr "Esta identificação já está em uso. Tente outro."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
-msgstr "Não é um apelido válido."
+msgstr "Não é uma identificação válida."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
-msgstr "A URL do site informada não é válida."
+msgstr "A URL informada não é válida."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
-msgstr "O nome completo é muito extenso (máx. 255 caracteres)"
+msgstr "Nome completo muito extenso (máx. 255 caracteres)"
 
 #: actions/apigroupcreate.php:213
 #, php-format
 msgid "Description is too long (max %d chars)."
-msgstr "Descrição muito extensa (máximo 140 caracteres)."
+msgstr "Descrição muito extensa (máximo %d caracteres)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
-msgstr "A localização é muito extensa (máx. 255 caracteres)."
+msgstr "Localização muito extensa (máx. 255 caracteres)."
 
 #: actions/apigroupcreate.php:243 actions/editgroup.php:215
 #: actions/newgroup.php:159
 #, php-format
 msgid "Too many aliases! Maximum %d."
-msgstr ""
+msgstr "Muitos apelidos! O máximo são %d."
 
 #: actions/apigroupcreate.php:264 actions/editgroup.php:224
 #: actions/newgroup.php:168
 #, php-format
 msgid "Invalid alias: \"%s\""
-msgstr "Tag inválida: \"%s\""
+msgstr "Apelido inválido: \"%s\""
 
 #: actions/apigroupcreate.php:273 actions/editgroup.php:228
 #: actions/newgroup.php:172
-#, fuzzy, php-format
+#, php-format
 msgid "Alias \"%s\" already in use. Try another one."
-msgstr "Este apelido já está em uso. Tente outro."
+msgstr "O apelido \"%s\" já está em uso. Tente outro."
 
 #: actions/apigroupcreate.php:286 actions/editgroup.php:234
 #: actions/newgroup.php:178
 msgid "Alias can't be the same as nickname."
-msgstr ""
+msgstr "O apelido não pode ser igual à identificação."
 
 #: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
 #: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
 #: actions/apigroupshow.php:90 actions/apitimelinegroup.php:91
 msgid "Group not found!"
-msgstr "Grupo não encontrado."
+msgstr "O grupo não foi encontrado!"
 
 #: actions/apigroupjoin.php:110
 msgid "You are already a member of that group."
@@ -391,12 +396,12 @@ msgstr "Você já é membro desse grupo."
 
 #: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
 msgid "You have been blocked from that group by the admin."
-msgstr "Você foi bloqueado desse grupo pelo administrador."
+msgstr "O administrador desse grupo bloqueou sua inscrição."
 
 #: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s."
-msgstr "Não é possível acompanhar o usuário: Usuário não encontrado."
+msgstr "Não foi possível associar o usuário %s ao grupo %s."
 
 #: actions/apigroupleave.php:114
 msgid "You are not a member of this group."
@@ -405,17 +410,17 @@ msgstr "Você não é membro deste grupo."
 #: actions/apigroupleave.php:124
 #, php-format
 msgid "Could not remove user %s to group %s."
-msgstr "Não foi possível remover o usuário %s do grupo %."
+msgstr "Não foi possível remover o usuário %s do grupo %s."
 
 #: actions/apigrouplist.php:95
-#, fuzzy, php-format
+#, php-format
 msgid "%s's groups"
 msgstr "Grupos de %s"
 
 #: actions/apigrouplist.php:103
-#, fuzzy, php-format
+#, php-format
 msgid "Groups %s is a member of on %s."
-msgstr "O grupo %s é membro de"
+msgstr "Os grupos dos quais %s é membro no %s."
 
 #: actions/apigrouplistall.php:90 actions/usergroups.php:62
 #, php-format
@@ -423,17 +428,17 @@ msgid "%s groups"
 msgstr "Grupos de %s"
 
 #: actions/apigrouplistall.php:94
-#, fuzzy, php-format
+#, php-format
 msgid "groups on %s"
-msgstr "Outras opções"
+msgstr "grupos no %s"
 
 #: actions/apistatusesdestroy.php:107
 msgid "This method requires a POST or DELETE."
-msgstr "Este método requer POSTAGEM ou EXCLUSÃO."
+msgstr "Esse método requer um POST ou DELETE."
 
 #: actions/apistatusesdestroy.php:130
 msgid "You may not delete another user's status."
-msgstr "Você não pode apagar o status de outro usuário."
+msgstr "Você não pode excluir uma mensagem de outro usuário."
 
 #: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72
 #: actions/deletenotice.php:52 actions/shownotice.php:92
@@ -441,42 +446,39 @@ msgid "No such notice."
 msgstr "Essa mensagem não existe."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Não é possível ligar a notificação."
+msgstr "Você não pode repetria sua própria mensagem."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "Excluir esta mensagem"
+msgstr "Você já repetiu essa mensagem."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
-msgstr ""
+msgstr "A mensagem foi excluída."
 
 #: actions/apistatusesshow.php:144
 msgid "No status with that ID found."
-msgstr "Não foi encontrado nenhum status com esse ID."
+msgstr "Não foi encontrada nenhuma mensagem com esse ID."
 
 #: actions/apistatusesupdate.php:157 actions/newnotice.php:155
 #: scripts/maildaemon.php:71
 #, php-format
 msgid "That's too long. Max notice size is %d chars."
-msgstr "Está muito extenso. O tamanho máximo é de 140 caracteres."
+msgstr "Está muito extenso. O tamanho máximo é de %s caracteres."
 
 #: actions/apistatusesupdate.php:198
 msgid "Not found"
 msgstr "Não encontrado"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
+msgstr "O tamanho máximo da mensagem é de %s caracteres"
 
 #: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
-#, fuzzy
 msgid "Unsupported format."
-msgstr "Formato de imagem não suportado."
+msgstr "Formato não suportado."
 
 #: actions/apitimelinefavorites.php:108
 #, php-format
@@ -486,7 +488,7 @@ msgstr "%s / Favoritas de %s"
 #: actions/apitimelinefavorites.php:120
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr "%s atualizações de favoritas por %s / %s."
+msgstr "%s marcadas como favoritas por %s / %s."
 
 #: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
 #: actions/grouprss.php:131 actions/userrss.php:90
@@ -498,17 +500,17 @@ msgstr "Mensagens de %s"
 #: actions/userrss.php:92
 #, php-format
 msgid "Updates from %1$s on %2$s!"
-msgstr "Atualizações de %1$s no %2$s!"
+msgstr "Mensagens de %1$s no %2$s!"
 
 #: actions/apitimelinementions.php:117
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s / Updates mentioning %2$s"
-msgstr "%1$s / Atualizações respondendo à %2$s"
+msgstr "%1$s / Mensagens mencionando %2$s"
 
 #: actions/apitimelinementions.php:127
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr "%1$s atualizações que respondem a mensagens de %2$s / %3$s."
+msgstr "%1$s mensagens em resposta a mensagens de %2$s / %3$s."
 
 #: actions/apitimelinepublic.php:107 actions/publicrss.php:103
 #, php-format
@@ -518,46 +520,45 @@ msgstr "Mensagens públicas de %s"
 #: actions/apitimelinepublic.php:111 actions/publicrss.php:105
 #, php-format
 msgid "%s updates from everyone!"
-msgstr "%s atualizações de todo mundo!"
+msgstr "%s mensagens de todo mundo!"
 
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Repetida por %s"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "Respostas para %s"
+msgstr "Repetida para %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "Respostas para %s"
+msgstr "Repetições de %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
 msgid "Notices tagged with %s"
-msgstr "Mensagens etiquetadas com %s"
+msgstr "Mensagens etiquetadas como %s"
 
 #: actions/apitimelinetag.php:108 actions/tagrss.php:64
-#, fuzzy, php-format
+#, php-format
 msgid "Updates tagged with %1$s on %2$s!"
-msgstr "Atualizações de %1$s no %2$s!"
+msgstr "Mensagens etiquetadas como %1$s no %2$s!"
 
 #: actions/apiusershow.php:96
 msgid "Not found."
 msgstr "Não encontrado."
 
 #: actions/attachment.php:73
-#, fuzzy
 msgid "No such attachment."
-msgstr "Esse documento não existe."
+msgstr "Este anexo não existe."
 
 #: actions/avatarbynickname.php:59 actions/grouprss.php:91
 #: actions/leavegroup.php:76
 msgid "No nickname."
-msgstr "Nenhum apelido."
+msgstr "Nenhuma identificação."
 
 #: actions/avatarbynickname.php:64
 msgid "No size."
@@ -575,7 +576,8 @@ msgstr "Avatar"
 #: 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 é %s"
+msgstr ""
+"Você pode enviar seu avatar pessoal. O tamanho máximo do arquivo é de %s."
 
 #: actions/avatarsettings.php:106 actions/avatarsettings.php:185
 #: actions/grouplogo.php:178 actions/remotesubscribe.php:191
@@ -599,7 +601,7 @@ msgid "Preview"
 msgstr "Visualização"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Excluir"
 
@@ -612,13 +614,13 @@ msgid "Crop"
 msgstr "Cortar"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -641,7 +643,7 @@ msgstr "Selecione uma área quadrada da imagem para ser seu avatar"
 
 #: actions/avatarsettings.php:343 actions/grouplogo.php:377
 msgid "Lost our file data."
-msgstr "Nossos dados do arquivo foi perdido."
+msgstr "Os dados do nosso arquivo foram perdidos."
 
 #: actions/avatarsettings.php:366
 msgid "Avatar updated."
@@ -652,9 +654,8 @@ msgid "Failed updating avatar."
 msgstr "Não foi possível atualizar o avatar."
 
 #: actions/avatarsettings.php:393
-#, fuzzy
 msgid "Avatar deleted."
-msgstr "O avatar foi atualizado."
+msgstr "O avatar foi excluído."
 
 #: actions/block.php:69
 msgid "You already blocked that user."
@@ -670,6 +671,10 @@ msgid ""
 "unsubscribed from you, unable to subscribe to you in the future, and you "
 "will not be notified of any @-replies from them."
 msgstr ""
+"Tem certeza que deseja bloquear este usuário? Se fizer isso, ele deixará de "
+"assiná-lo e será incapaz de fazê-lo no futuro. Além disso, você não receberá "
+"nenhuma notificação acerca de qualquer citação (@usuário) que ele fizer de "
+"você."
 
 #: actions/block.php:143 actions/deletenotice.php:145
 #: actions/deleteuser.php:147 actions/groupblock.php:178
@@ -677,20 +682,20 @@ msgid "No"
 msgstr "Não"
 
 #: actions/block.php:143 actions/deleteuser.php:147
-#, fuzzy
 msgid "Do not block this user"
-msgstr "Desbloquear este usuário"
+msgstr "Não bloquear este usuário"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Sim"
 
 #: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
 msgid "Block this user"
-msgstr "Bloquear usuário"
+msgstr "Bloquear este usuário"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Não foi possível salvar a informação de bloqueio."
 
@@ -709,23 +714,22 @@ msgid "No such group"
 msgstr "Esse grupo não existe"
 
 #: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles"
-msgstr "O usuário não tem perfil."
+msgstr "Perfis bloqueados no %s"
 
 #: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked profiles, page %d"
-msgstr "%s e amigos, página %d"
+msgstr "Perfis bloqueados no %s, página %d"
 
 #: actions/blockedfromgroup.php:108
 msgid "A list of the users blocked from joining this group."
-msgstr ""
+msgstr "Uma lista dos usuários proibidos de se associarem a este grupo."
 
 #: actions/blockedfromgroup.php:281
-#, fuzzy
 msgid "Unblock user from group"
-msgstr "Não foi possível desbloquear o usuário."
+msgstr "Desbloquear o usuário do grupo"
 
 #: actions/blockedfromgroup.php:313 lib/unblockform.php:69
 msgid "Unblock"
@@ -737,7 +741,7 @@ msgstr "Desbloquear este usuário"
 
 #: actions/bookmarklet.php:50
 msgid "Post to "
-msgstr ""
+msgstr "Enviar para "
 
 #: actions/confirmaddress.php:75
 msgid "No confirmation code."
@@ -749,12 +753,12 @@ msgstr "O código de confirmação não foi encontrado."
 
 #: actions/confirmaddress.php:85
 msgid "That confirmation code is not for you!"
-msgstr "Esse código de confirmação não é seu!"
+msgstr "Esse não é o seu código de confirmação!"
 
 #: actions/confirmaddress.php:90
 #, php-format
 msgid "Unrecognized address type %s"
-msgstr "Tipo de endereço %s desconhecido"
+msgstr "Tipo de endereço desconhecido %s"
 
 #: actions/confirmaddress.php:94
 msgid "That address has already been confirmed."
@@ -763,7 +767,7 @@ msgstr "Esse endereço já foi confirmado."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Não foi possível atualizar o usuário."
@@ -783,9 +787,8 @@ msgid "The address \"%s\" has been confirmed for your account."
 msgstr "O endereço \"%s\" foi confirmado para sua conta."
 
 #: actions/conversation.php:99
-#, fuzzy
 msgid "Conversation"
-msgstr "Código de confirmação"
+msgstr "Conversa"
 
 #: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:216 lib/searchgroupnav.php:82
@@ -800,7 +803,7 @@ msgstr "Mensagens"
 #: lib/adminpanelaction.php:72 lib/profileformaction.php:63
 #: lib/settingsaction.php:72
 msgid "Not logged in."
-msgstr "Você não está logado."
+msgstr "Você não está autenticado."
 
 #: actions/deletenotice.php:71
 msgid "Can't delete this notice."
@@ -811,8 +814,8 @@ msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
-"Você está prestes a apagar permanentemente uma mensagem. Isso não poderá ser "
-"desfeito."
+"Você está prestes a excluir permanentemente uma mensagem. Isso não poderá "
+"ser desfeito."
 
 #: actions/deletenotice.php:109 actions/deletenotice.php:141
 msgid "Delete notice"
@@ -820,32 +823,28 @@ msgstr "Excluir a mensagem"
 
 #: actions/deletenotice.php:144
 msgid "Are you sure you want to delete this notice?"
-msgstr "Você tem certeza que deseja excluir esta mensagem?"
+msgstr "Tem certeza que deseja excluir esta mensagem?"
 
 #: actions/deletenotice.php:145
-#, fuzzy
 msgid "Do not delete this notice"
-msgstr "Não é possível excluir esta mensagem."
+msgstr "Não excluir esta mensagem."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Excluir esta mensagem"
 
 #: actions/deletenotice.php:157
-#, fuzzy
 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."
+"Ocorreu um problema com o seu token de sessão. Por favor, tente novamente."
 
 #: actions/deleteuser.php:67
-#, fuzzy
 msgid "You cannot delete users."
-msgstr "Não foi possível atualizar o usuário."
+msgstr "Você não pode excluir usuários."
 
 #: actions/deleteuser.php:74
-#, fuzzy
 msgid "You can only delete local users."
-msgstr "Você não pode apagar o status de outro usuário."
+msgstr "Você só pode excluir usuários locais."
 
 #: actions/deleteuser.php:110 actions/deleteuser.php:133
 msgid "Delete user"
@@ -856,66 +855,59 @@ msgid ""
 "Are you sure you want to delete this user? This will clear all data about "
 "the user from the database, without a backup."
 msgstr ""
-"Você tem certeza que quer remover este usuário? Isso irá limpar todos os "
-"dados sobre o usuário do banco de dados, sem backup."
+"Tem certeza que deseja excluir este usuário? Isso irá eliminar todos os "
+"dados deste usuário do banco de dados, sem cópia de segurança."
 
 #: actions/deleteuser.php:148 lib/deleteuserform.php:77
-#, fuzzy
 msgid "Delete this user"
-msgstr "Excluir esta mensagem"
+msgstr "Excluir este usuário"
 
 #: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
 #: lib/adminpanelaction.php:302 lib/groupnav.php:119
 msgid "Design"
-msgstr ""
+msgstr "Aparência"
 
 #: actions/designadminpanel.php:73
 msgid "Design settings for this StatusNet site."
-msgstr ""
+msgstr "Configurações da aparência deste site StatusNet."
 
 #: actions/designadminpanel.php:275
-#, fuzzy
 msgid "Invalid logo URL."
-msgstr "Tamanho inválido."
+msgstr "A URL da logo é inválida."
 
 #: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
 msgid "Theme not available: %s"
-msgstr "Esta página não está disponível em um "
+msgstr "Tema não disponível: %s"
 
 #: actions/designadminpanel.php:375
-#, fuzzy
 msgid "Change logo"
-msgstr "Altere a sua senha"
+msgstr "Alterar a logo"
 
 #: actions/designadminpanel.php:380
-#, fuzzy
 msgid "Site logo"
-msgstr "Convidar"
+msgstr "Logo do site"
 
 #: actions/designadminpanel.php:387
-#, fuzzy
 msgid "Change theme"
-msgstr "Alterar"
+msgstr "Alterar o tema"
 
 #: actions/designadminpanel.php:404
-#, fuzzy
 msgid "Site theme"
-msgstr "Nova mensagem"
+msgstr "Tema do site"
 
 #: actions/designadminpanel.php:405
-#, fuzzy
 msgid "Theme for the site."
-msgstr "Sair deste site"
+msgstr "Tema para o site."
 
 #: actions/designadminpanel.php:417 lib/designsettings.php:101
 msgid "Change background image"
-msgstr "Alterar imagem de plano de fundo."
+msgstr "Alterar imagem do fundo"
 
 #: actions/designadminpanel.php:422 actions/designadminpanel.php:497
 #: lib/designsettings.php:178
 msgid "Background"
-msgstr ""
+msgstr "Fundo"
 
 #: actions/designadminpanel.php:427
 #, php-format
@@ -923,64 +915,61 @@ msgid ""
 "You can upload a background image for the site. The maximum file size is %1"
 "$s."
 msgstr ""
-"Você pode enviar uma imagem de plano de fundo para o site. O tamanho máximo "
-"do arquivo é %l$s"
+"Você pode enviar uma imagem de fundo para o site. O tamanho máximo do "
+"arquivo é de %1 $s."
 
 #: actions/designadminpanel.php:457 lib/designsettings.php:139
 msgid "On"
-msgstr "Ligado"
+msgstr "Ativado"
 
 #: actions/designadminpanel.php:473 lib/designsettings.php:155
 msgid "Off"
-msgstr ""
+msgstr "Desativado"
 
 #: actions/designadminpanel.php:474 lib/designsettings.php:156
 msgid "Turn background image on or off."
-msgstr ""
+msgstr "Ativar/desativar a imagem de fundo."
 
 #: actions/designadminpanel.php:479 lib/designsettings.php:161
 msgid "Tile background image"
-msgstr ""
+msgstr "Ladrilhar a imagem de fundo"
 
 #: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
 msgid "Change colours"
-msgstr "Altere a sua senha"
+msgstr "Alterar a cor"
 
 #: actions/designadminpanel.php:510 lib/designsettings.php:191
 msgid "Content"
 msgstr "Conteúdo"
 
 #: actions/designadminpanel.php:523 lib/designsettings.php:204
-#, fuzzy
 msgid "Sidebar"
-msgstr "Procurar"
+msgstr "Barra lateral"
 
 #: actions/designadminpanel.php:536 lib/designsettings.php:217
 msgid "Text"
 msgstr "Texto"
 
 #: actions/designadminpanel.php:549 lib/designsettings.php:230
-#, fuzzy
 msgid "Links"
-msgstr "Lista"
+msgstr "Links"
 
 #: actions/designadminpanel.php:577 lib/designsettings.php:247
 msgid "Use defaults"
-msgstr "Usar o padrão."
+msgstr "Usar o padrão|"
 
 #: actions/designadminpanel.php:578 lib/designsettings.php:248
 msgid "Restore default designs"
-msgstr ""
+msgstr "Restaura a aparência padrão"
 
 #: actions/designadminpanel.php:584 lib/designsettings.php:254
 msgid "Reset back to default"
-msgstr ""
+msgstr "Restaura de volta ao padrão"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -989,15 +978,15 @@ msgstr "Salvar"
 
 #: actions/designadminpanel.php:587 lib/designsettings.php:257
 msgid "Save design"
-msgstr ""
+msgstr "Salvar a aparência"
 
 #: actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr "Essa mensagem não é uma favorita!"
+msgstr "Esta mensagem não é uma favorita!"
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr "Adicionar aos favoritos"
+msgstr "Adicionar às favoritas"
 
 #: actions/doc.php:69
 msgid "No such document."
@@ -1010,7 +999,7 @@ msgstr "Editar o grupo %s"
 
 #: 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 logado para criar um grupo."
+msgstr "Você deve estar autenticado para criar um grupo."
 
 #: actions/editgroup.php:103 actions/editgroup.php:168
 #: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
@@ -1024,16 +1013,15 @@ msgstr "Use esse formulário para editar o grupo."
 #: actions/editgroup.php:201 actions/newgroup.php:145
 #, php-format
 msgid "description is too long (max %d chars)."
-msgstr "descrição muito extensa (máximo 140 caracteres)."
+msgstr "descrição muito extensa (máximo %d caracteres)."
 
 #: actions/editgroup.php:253
 msgid "Could not update group."
 msgstr "Não foi possível atualizar o grupo."
 
 #: actions/editgroup.php:259 classes/User_group.php:390
-#, fuzzy
 msgid "Could not create aliases."
-msgstr "Não foi possível criar a favorita."
+msgstr "Não foi possível criar os apelidos."
 
 #: actions/editgroup.php:269
 msgid "Options saved."
@@ -1046,7 +1034,7 @@ msgstr "Configurações do e-mail"
 #: actions/emailsettings.php:71
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
-msgstr "Configure o recebimento de e-mails do %%site.name%%."
+msgstr "Configure o recebimento de e-mails de %%site.name%%."
 
 #: actions/emailsettings.php:100 actions/imsettings.php:100
 #: actions/smssettings.php:104
@@ -1082,7 +1070,7 @@ msgstr "Endereço de e-mail"
 
 #: actions/emailsettings.php:123
 msgid "Email address, like \"UserName@example.org\""
-msgstr "Endereço de e-mail, ex: \"usuario@example.org\""
+msgstr "Endereço de e-mail, ex: \"usuario@exemplo.org\""
 
 #: actions/emailsettings.php:126 actions/imsettings.php:133
 #: actions/smssettings.php:145
@@ -1122,16 +1110,17 @@ msgstr ""
 
 #: actions/emailsettings.php:169
 msgid "Send me email when someone sends me a private message."
-msgstr "Envie-me um e-mail quando alguém enviar-me uma mensagem particular."
+msgstr "Envie-me um e-mail quando alguém me mandar uma mensagem particular."
 
 #: actions/emailsettings.php:174
-#, fuzzy
 msgid "Send me email when someone sends me an \"@-reply\"."
-msgstr "Envie-me um e-mail quando alguém enviar-me uma mensagem particular."
+msgstr ""
+"Envie-me um e-mail quando alguém mandar uma mensagem citando meu nome "
+"(\"@nome\")."
 
 #: actions/emailsettings.php:179
 msgid "Allow friends to nudge me and send me an email."
-msgstr "Permitir que meus amigos chamem minha atenção e enviem-me um e-mail."
+msgstr "Permita que meus amigos chamem minha atenção e enviem-me e-mails."
 
 #: actions/emailsettings.php:185
 msgid "I want to post notices by email."
@@ -1154,7 +1143,7 @@ msgstr "Nenhum endereço de e-mail."
 msgid "Cannot normalize that email address"
 msgstr "Não foi possível normalizar este endereço de e-mail"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Não é um endereço de e-mail válido"
 
@@ -1187,12 +1176,12 @@ msgstr "Nenhuma confirmação pendente para cancelar."
 
 #: actions/emailsettings.php:383 actions/imsettings.php:355
 msgid "That is the wrong IM address."
-msgstr "Isso é um endereço de IM errado."
+msgstr "Isso é um endereço de MI errado."
 
 #: actions/emailsettings.php:395 actions/imsettings.php:367
 #: actions/smssettings.php:386
 msgid "Confirmation cancelled."
-msgstr "Confirmação cancelada."
+msgstr "A confirmação foi cancelada."
 
 #: actions/emailsettings.php:413
 msgid "That is not your email address."
@@ -1227,7 +1216,7 @@ msgstr "Essa mensagem já é uma favorita!"
 
 #: actions/favor.php:92 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr "Excluir a favorita"
+msgstr "Desmarcar a favorita"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:88
 #: lib/publicgroupnav.php:93
@@ -1246,12 +1235,16 @@ msgstr "As etiquetas mais populares no site agora."
 #: actions/favorited.php:150
 msgid "Favorite notices appear on this page but no one has favorited one yet."
 msgstr ""
+"As mensagens favoritas aparecem nesta página, mas ninguém ainda marcou "
+"nenhuma como favorita."
 
 #: actions/favorited.php:153
 msgid ""
 "Be the first to add a notice to your favorites by clicking the fave button "
 "next to any notice you like."
 msgstr ""
+"Seja o primeiro a marcar uma mensagem como favorita, clicando no botão "
+"próximo a qualquer uma que você goste."
 
 #: actions/favorited.php:156
 #, php-format
@@ -1259,6 +1252,8 @@ msgid ""
 "Why not [register an account](%%action.register%%) and be the first to add a "
 "notice to your favorites!"
 msgstr ""
+"Por que você não [registra uma conta](%%action.register%%) pra ser o "
+"primeiro a adicionar uma mensagem aos favoritos?"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
 #: lib/personalgroupnav.php:115
@@ -1267,51 +1262,46 @@ msgid "%s's favorite notices"
 msgstr "Mensagens favoritas de %s"
 
 #: actions/favoritesrss.php:115
-#, fuzzy, php-format
+#, php-format
 msgid "Updates favored by %1$s on %2$s!"
-msgstr "Atualizações de %1$s no %2$s!"
+msgstr "Mensagens favoritas de %1$s no %2$s!"
 
 #: actions/featured.php:69 lib/featureduserssection.php:87
 #: lib/publicgroupnav.php:89
 msgid "Featured users"
-msgstr "Usuários de destaque"
+msgstr "Usuários em destaque"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr "Usuários de destaque, pág. %d"
+msgstr "Usuários em destaque, pág. %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr ""
+msgid "A selection of some great users on %s"
+msgstr "Uma seleção de alguns grandes usuários no%s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Nova mensagem"
+msgstr "Sem ID da mensagem."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Nova mensagem"
+msgstr "Nenhuma mensagem."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Esse documento não existe."
+msgstr "Nenhum anexo."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "Esse documento não existe."
+msgstr "Nenhum anexo enviado."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
 msgstr "Não esperava por esta resposta!"
 
 #: actions/finishremotesubscribe.php:80
-#, fuzzy
 msgid "User being listened to does not exist."
 msgstr "O usuário que está está sendo acompanhado não existe."
 
@@ -1325,40 +1315,34 @@ msgstr "Esse usuário bloqueou o seu pedido de assinatura."
 
 #: actions/finishremotesubscribe.php:110
 msgid "You are not authorized."
-msgstr "Não autorizado."
+msgstr "Você não está autorizado."
 
 #: actions/finishremotesubscribe.php:113
-#, fuzzy
 msgid "Could not convert request token to access token."
-msgstr ""
-"Não foi possível converter os tokens de requisição para tokens de acesso."
+msgstr "Não foi possível converter o token de requisição para token de acesso."
 
 #: actions/finishremotesubscribe.php:118
-#, fuzzy
 msgid "Remote service uses unknown version of OMB protocol."
-msgstr "Versão desconhecida do protocolo OMB."
+msgstr "O serviço remoto usa uma versão desconhecida do protocolo OMB."
 
 #: actions/finishremotesubscribe.php:138 lib/oauthstore.php:306
 msgid "Error updating remote profile"
-msgstr "Erro na atualização do perfil remoto"
+msgstr "Ocorreu um erro na atualização do perfil remoto"
 
 #: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
 #: actions/grouprss.php:98 actions/groupunblock.php:86
 #: actions/leavegroup.php:83 actions/makeadmin.php:86 lib/command.php:212
 #: lib/command.php:263
-#, fuzzy
 msgid "No such group."
-msgstr "Essa etiqueta não existe."
+msgstr "Esse grupo não existe."
 
 #: actions/getfile.php:75
-#, fuzzy
 msgid "No such file."
-msgstr "Essa mensagem não existe."
+msgstr "Esse arquivo não existe."
 
 #: actions/getfile.php:79
-#, fuzzy
 msgid "Cannot read file."
-msgstr "Nosso arquivo foi perdido."
+msgstr "Não foi possível ler o arquivo."
 
 #: actions/groupblock.php:71 actions/groupunblock.php:71
 #: actions/makeadmin.php:71 actions/subedit.php:46
@@ -1374,28 +1358,24 @@ msgstr "Não foi encontrado nenhum perfil com esse ID."
 
 #: actions/groupblock.php:81 actions/groupunblock.php:81
 #: actions/makeadmin.php:81
-#, fuzzy
 msgid "No group specified."
-msgstr "Não foi especificado nenhum perfil."
+msgstr "Não foi especificado nenhum grupo."
 
 #: actions/groupblock.php:91
 msgid "Only an admin can block group members."
-msgstr "Apenas o administrador pode bloquear usuários do grupo."
+msgstr "Somente um administrador pode bloquear usuários no grupo."
 
 #: actions/groupblock.php:95
-#, fuzzy
 msgid "User is already blocked from group."
-msgstr "O usuário bloqueou você."
+msgstr "O usuário já está bloqueado no grupo."
 
 #: actions/groupblock.php:100
-#, fuzzy
 msgid "User is not a member of group."
-msgstr "Você não está assinando esse perfil."
+msgstr "O usuário não é um membro do grupo"
 
 #: actions/groupblock.php:136 actions/groupmembers.php:314
-#, fuzzy
 msgid "Block user from group"
-msgstr "Bloquear usuário"
+msgstr "Bloquear o usuário no grupo"
 
 #: actions/groupblock.php:162
 #, php-format
@@ -1404,57 +1384,57 @@ msgid ""
 "be removed from the group, unable to post, and unable to subscribe to the "
 "group in the future."
 msgstr ""
+"Tem certeza que deseja bloquear o usuário \"%s\" no grupo \"%s\"? Ele será "
+"removido do grupo e impossibilitado de publicar e de se juntar ao grupo "
+"futuramente."
 
 #: actions/groupblock.php:178
-#, fuzzy
 msgid "Do not block this user from this group"
-msgstr "Não é possível acompanhar o usuário: Usuário não encontrado."
+msgstr "Não bloquear este usuário neste grupo"
 
 #: actions/groupblock.php:179
-#, fuzzy
 msgid "Block this user from this group"
-msgstr "Bloquear usuário"
+msgstr "Bloquear este usuário neste grupo"
 
 #: actions/groupblock.php:196
 msgid "Database error blocking user from group."
 msgstr ""
+"Ocorreu um erro no banco de dados ao tentar bloquear o usuário no grupo."
 
 #: actions/groupbyid.php:74
 msgid "No ID"
-msgstr ""
+msgstr "Sem ID"
 
 #: actions/groupdesignsettings.php:68
 msgid "You must be logged in to edit a group."
-msgstr "Você deve estar logado para editar um grupo."
+msgstr "Você precisa estar autenticado para editar um grupo."
 
 #: actions/groupdesignsettings.php:141
-#, fuzzy
 msgid "Group design"
-msgstr "Outras opções"
+msgstr "Aparência do grupo"
 
 #: actions/groupdesignsettings.php:152
 msgid ""
 "Customize the way your group looks with a background image and a colour "
 "palette of your choice."
 msgstr ""
+"Personalize a aparência do grupo com uma imagem de fundo e uma paleta de "
+"cores à sua escolha."
 
 #: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
 #: lib/designsettings.php:391 lib/designsettings.php:413
-#, fuzzy
 msgid "Couldn't update your design."
-msgstr "Não foi possível atualizar o usuário."
+msgstr "Não foi possível atualizar a aparência."
 
 #: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
 #: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
 #: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
-#, fuzzy
 msgid "Unable to save your design settings!"
-msgstr "Não foi possível salvar suas configurações do Twitter!"
+msgstr "Não foi possível salvar suas configurações da aparência!"
 
 #: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
-#, fuzzy
 msgid "Design preferences saved."
-msgstr "As preferências de sincronização foram salvas."
+msgstr "As configurações da aparência foram salvas."
 
 #: actions/grouplogo.php:139 actions/grouplogo.php:192
 msgid "Group logo"
@@ -1465,35 +1445,36 @@ msgstr "Logo do grupo"
 msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr ""
+"Você pode enviar uma imagem de logo para o seu grupo. O tamanho máximo do "
+"arquivo é %s."
 
 #: actions/grouplogo.php:362
-#, fuzzy
 msgid "Pick a square area of the image to be the logo."
-msgstr "Selecione uma área quadrada da imagem para ser seu avatar"
+msgstr "Selecione uma área quadrada da imagem para definir a logo"
 
 #: actions/grouplogo.php:396
 msgid "Logo updated."
-msgstr "O avatar foi atualizado."
+msgstr "A logo foi atualizada."
 
 #: actions/grouplogo.php:398
 msgid "Failed updating logo."
-msgstr "Não foi possível atualizar o avatar."
+msgstr "Não foi possível atualizar a logo."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:92
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "Membros do grupo %s"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "Membros do grupo %s, pág. %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "Uma lista dos usuários deste grupo."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Admin"
 
@@ -1502,33 +1483,31 @@ msgid "Block"
 msgstr "Bloquear"
 
 #: actions/groupmembers.php:441
-#, fuzzy
 msgid "Make user an admin of the group"
-msgstr "Você deve ser o administrador do grupo para editá-lo"
+msgstr "Tornar o usuário um administrador do grupo"
 
 #: actions/groupmembers.php:473
-#, fuzzy
 msgid "Make Admin"
-msgstr "Admin"
+msgstr "Tornar administrador"
 
 #: actions/groupmembers.php:473
 msgid "Make this user an admin"
-msgstr ""
+msgstr "Torna este usuário um administrador"
 
 #: actions/grouprss.php:133
-#, fuzzy, php-format
+#, php-format
 msgid "Updates from members of %1$s on %2$s!"
-msgstr "Atualizações de %1$s no %2$s!"
+msgstr "Atualizações dos membros de %1$s no %2$s!"
 
 #: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
 msgid "Groups"
-msgstr ""
+msgstr "Grupos"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Groupos, pág. %d"
 
 #: actions/groups.php:90
 #, php-format
@@ -1539,32 +1518,33 @@ msgid ""
 "for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
 "%%%%)"
 msgstr ""
+"Os grupos de %%%%site.name%%%% lhe permite encontrar e conversar com pessoas "
+"que tenham interesses similares. Após  associar-se a um grupo, você pode "
+"enviar mensagens para todos os seus membros usando a sintaxe \"!nomedogrupo"
+"\". Não encontrou um grupo que lhe agrade? Experimente [procurar por um](%%%%"
+"action.groupsearch%%%%) ou [criar o seu próprio!](%%%%action.newgroup%%%%)"
 
 #: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
-#, fuzzy
 msgid "Create a new group"
-msgstr "Criar uma nova conta"
+msgstr "Criar um novo grupo"
 
 #: actions/groupsearch.php:52
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
 "Separate the terms by spaces; they must be 3 characters or more."
 msgstr ""
-"Procurar por pessoas em %%site.name%% por seus nomes, localidade ou "
-"interesses. Separe os termos da busca com espaços; eles devem ter 3 "
-"caracteres ou mais."
+"Procurar grupos no %%site.name%% por seus nomes, localização ou descrição. "
+"Separe os termos com espaços; eles devem ter 3 ou mais caracteres."
 
 #: actions/groupsearch.php:58
-#, fuzzy
 msgid "Group search"
-msgstr "Procurar pessoas"
+msgstr "Procurar grupos"
 
 #: actions/groupsearch.php:79 actions/noticesearch.php:117
 #: actions/peoplesearch.php:83
-#, fuzzy
 msgid "No results."
-msgstr "Nenhum resultado"
+msgstr "Nenhum resultado."
 
 #: actions/groupsearch.php:82
 #, php-format
@@ -1572,6 +1552,8 @@ msgid ""
 "If you can't find the group you're looking for, you can [create it](%%action."
 "newgroup%%) yourself."
 msgstr ""
+"Caso não encontre o grupo que está procurando, você pode [criá-lo](%%action."
+"newgroup%%)."
 
 #: actions/groupsearch.php:85
 #, php-format
@@ -1579,23 +1561,24 @@ msgid ""
 "Why not [register an account](%%action.register%%) and [create the group](%%"
 "action.newgroup%%) yourself!"
 msgstr ""
+"Por que você não [se cadastra](%%action.register%%) e [cria o grupo](%%"
+"action.newgroup%%) você mesmo?"
 
 #: actions/groupunblock.php:91
 msgid "Only an admin can unblock group members."
-msgstr ""
+msgstr "Somente um administrador pode desbloquear membros do grupo."
 
 #: actions/groupunblock.php:95
-#, fuzzy
 msgid "User is not blocked from group."
-msgstr "O usuário bloqueou você."
+msgstr "O usuário não está bloqueado no grupo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erro na remoção do bloqueio."
 
 #: actions/imsettings.php:59
 msgid "IM Settings"
-msgstr "Configurações do IM"
+msgstr "Configurações do MI"
 
 #: actions/imsettings.php:70
 #, php-format
@@ -1603,13 +1586,12 @@ msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
 "doc.im%%). Configure your address and settings below."
 msgstr ""
-"Você pode enviar e receber mensagens através dos [instant messages](%%doc.im%"
-"%) Jabber/GTalk. Configure seu endereço e opções abaixo."
+"Você pode enviar e receber mensagens através dos [mensageiros instantâneos](%"
+"%doc.im%%) Jabber/GTalk. Configure seu endereço e opções abaixo."
 
 #: actions/imsettings.php:89
-#, fuzzy
 msgid "IM is not available."
-msgstr "Esta página não está disponível em um "
+msgstr "MI não está disponível"
 
 #: actions/imsettings.php:106
 msgid "Current confirmed Jabber/GTalk address."
@@ -1627,7 +1609,7 @@ msgstr ""
 
 #: actions/imsettings.php:124
 msgid "IM Address"
-msgstr "Endereço do IM"
+msgstr "Endereço do MI"
 
 #: actions/imsettings.php:126
 #, php-format
@@ -1635,13 +1617,13 @@ msgid ""
 "Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
 "add %s to your buddy list in your IM client or on GTalk."
 msgstr ""
-"Endereço de Jabber ou GTalk, ex: \"usuario@example.org\". Primeiro, "
-"certifique-se de adicionar %s à sua lista de contatos no seu cliente de IM "
+"Endereço de Jabber ou GTalk, ex: \"usuario@exemplo.org\". Primeiro, "
+"certifique-se de adicionar %s à sua lista de contatos em seu cliente de MI "
 "ou no GTalk."
 
 #: actions/imsettings.php:143
 msgid "Send me notices through Jabber/GTalk."
-msgstr "Envie-me as mensagens via Jabber/GTalk."
+msgstr "Envie-me mensagens via Jabber/GTalk."
 
 #: actions/imsettings.php:148
 msgid "Post a notice when my Jabber/GTalk status changes."
@@ -1650,7 +1632,7 @@ msgstr "Publicar uma mensagem quando eu mudar de status no Jabber/GTalk."
 #: actions/imsettings.php:153
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr ""
-"Envie-me respostas de pessoas que eu não estou seguindo através do Jabber/"
+"Envie-me respostas de pessoas que eu não estou assinando através do Jabber/"
 "GTalk."
 
 #: actions/imsettings.php:159
@@ -1708,17 +1690,18 @@ msgstr ""
 
 #: actions/invite.php:39
 msgid "Invites have been disabled."
-msgstr ""
+msgstr "Os convites foram desabilitados."
 
 #: actions/invite.php:41
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr "Você deve estar logado para convidar outros usuários para usar o %s"
+msgstr ""
+"Você deve estar autenticado para convidar outros usuários para usar o %s"
 
 #: actions/invite.php:72
 #, php-format
 msgid "Invalid email address: %s"
-msgstr "Não é um endereço de e-mail válido: %s"
+msgstr "Endereço de e-mail inválido: %s"
 
 #: actions/invite.php:110
 msgid "Invitation(s) sent"
@@ -1740,7 +1723,7 @@ msgstr "%s (%s)"
 #: actions/invite.php:136
 msgid ""
 "These people are already users and you were automatically subscribed to them:"
-msgstr "Estas pessoas já são usuárias e você as acompanha automaticamente:"
+msgstr "Estas pessoas já são usuárias e você as assinou automaticamente:"
 
 #: actions/invite.php:144
 msgid "Invitation(s) sent to the following people:"
@@ -1777,14 +1760,14 @@ msgstr "Mensagem pessoal"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Você pode, opcionalmente, adicionar uma mensagem pessoal ao convite."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Enviar"
 
 #: actions/invite.php:226
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr "%1$s convidou você para se juntar ao %2$s"
+msgstr "%1$s convidou você para se juntar a %2$s"
 
 #: actions/invite.php:228
 #, php-format
@@ -1816,13 +1799,13 @@ msgid ""
 "\n"
 "Sincerely, %2$s\n"
 msgstr ""
-"%1$s convidou você para se juntar ao %2$s (%3$s).\n"
+"%1$s convidou você para se juntar a %2$s (%3$s).\n"
 "\n"
-"%2$s é um serviço de microblogagem que lhe permite manter-se atualizado com "
-"as pessoas que você conhece e com as que lhe interessam.\n"
+"%2$s é um serviço de microblog que lhe permite manter-se atualizado com as "
+"pessoas que você conhece e com as que lhe interessam.\n"
 "\n"
-"Você também pode compartilhar notícias sobre você mesmo, seus pensamentos, "
-"ou sua vida on-line com as pessoas que lhe conhecem. Também é ótimo para "
+"Você também pode compartilhar notícias sobre você mesmo, seus pensamentos ou "
+"sua vida on-line com as pessoas que lhe conhecem. Também é ótimo para "
 "encontrar novas pessoas que compartilham os mesmos interesses que você.\n"
 "\n"
 "%1$s disse:\n"
@@ -1844,84 +1827,76 @@ msgstr ""
 "Cordialmente, %2$s\n"
 
 #: actions/joingroup.php:60
-#, fuzzy
 msgid "You must be logged in to join a group."
-msgstr ""
-"Você deve estar autenticado para convidar outros usuários para usar o %s"
+msgstr "Você deve estar autenticado para se associar a um grupo."
 
 #: actions/joingroup.php:90 lib/command.php:217
-#, fuzzy
 msgid "You are already a member of that group"
-msgstr "Você já está assinando esses usuários:"
+msgstr "Você já é um membro desse grupo."
 
 #: actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "Não é possível acompanhar o usuário: Usuário não encontrado."
+msgstr "Não foi possível associar o usuário %s ao grupo %s"
 
 #: actions/joingroup.php:135 lib/command.php:239
-#, fuzzy, php-format
+#, php-format
 msgid "%s joined group %s"
-msgstr "%s / Favoritas de %s"
+msgstr "%s associou-se ao grupo %s"
 
 #: actions/leavegroup.php:60
-#, fuzzy
 msgid "You must be logged in to leave a group."
-msgstr ""
-"Você deve estar autenticado para convidar outros usuários para usar o %s"
+msgstr "Você deve estar autenticado para sair de um grupo."
 
 #: actions/leavegroup.php:90 lib/command.php:268
-#, fuzzy
 msgid "You are not a member of that group."
-msgstr "Você não está assinando esse perfil."
+msgstr "Você não é um membro desse grupo."
 
 #: actions/leavegroup.php:119 lib/command.php:278
-#, fuzzy
 msgid "Could not find membership record."
-msgstr "Não foi possível atualizar o registro do usuário."
+msgstr "Não foi possível encontrar o registro do membro."
 
 #: actions/leavegroup.php:127 lib/command.php:284
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "Não é possível acompanhar o usuário: Usuário não encontrado."
+msgstr "Não foi possível remover o usuário %s do grupo %s"
 
 #: actions/leavegroup.php:134 lib/command.php:289
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s deixou o grupo %s"
 
 #: actions/login.php:83 actions/register.php:137
 msgid "Already logged in."
-msgstr "Já está logado."
+msgstr "Já está autenticado."
 
 #: actions/login.php:114 actions/login.php:124
-#, fuzzy
 msgid "Invalid or expired token."
-msgstr "O conteúdo da mensagem é inválido"
+msgstr "Token inválido ou expirado."
 
 #: actions/login.php:147
 msgid "Incorrect username or password."
 msgstr "Nome de usuário e/ou senha incorreto(s)."
 
 #: actions/login.php:153
-#, fuzzy
 msgid "Error setting user. You are probably not authorized."
-msgstr "Não autorizado."
+msgstr ""
+"Erro na configuração do usuário. Você provavelmente não tem autorização."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
-msgstr "Logar"
+msgstr "Entrar"
 
 #: actions/login.php:247
 msgid "Login to site"
-msgstr ""
+msgstr "Autenticar-se no site"
 
 #: actions/login.php:250 actions/profilesettings.php:106
 #: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
 #: lib/groupeditform.php:152 lib/userprofile.php:131
 msgid "Nickname"
-msgstr "Apelido"
+msgstr "Usuário"
 
 #: actions/login.php:253 actions/register.php:428
 #: lib/accountsettingsaction.php:116
@@ -1935,8 +1910,8 @@ msgstr "Lembrar neste computador"
 #: actions/login.php:257 actions/register.php:479
 msgid "Automatically login in the future; not for shared computers!"
 msgstr ""
-"Entrar automaticamente sem pedir a senha. Não use em computadores "
-"compartilhados!"
+"Entra automaticamente da próxima vez, sem pedir a senha. Não use em "
+"computadores compartilhados!"
 
 #: actions/login.php:267
 msgid "Lost or forgotten password?"
@@ -1951,46 +1926,46 @@ msgstr ""
 "senha antes de alterar suas configurações."
 
 #: actions/login.php:290
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Login with your username and password. Don't have a username yet? [Register]"
 "(%%action.register%%) a new account."
 msgstr ""
-"Logar-se com seu nome de usuário e senha. Não tem um nome de usuário ainda? "
-"[Registre](%%action.register%%) uma nova conta, ou use uma [OpenID](%%action."
-"openidlogin%%)."
+"Digite seu nome de usuário e senha. Ainda não possui um usuário? [Registre](%"
+"%action.register%%) uma nova conta."
 
 #: actions/makeadmin.php:91
 msgid "Only an admin can make another user an admin."
 msgstr ""
+"Somente um administrador pode dar privilégios de administração para outro "
+"usuário."
 
 #: actions/makeadmin.php:95
 #, php-format
 msgid "%s is already an admin for group \"%s\"."
-msgstr ""
+msgstr "%s já é um administrador do grupo \"%s\"."
 
 #: actions/makeadmin.php:132
 #, php-format
 msgid "Can't get membership record for %s in group %s"
-msgstr ""
+msgstr "Não foi possível obter o registro de membro de %s no grupo %s"
 
 #: actions/makeadmin.php:145
 #, php-format
 msgid "Can't make %s an admin for group %s"
-msgstr ""
+msgstr "Não foi possível tornar %s um administrador do grupo %s"
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr "Nenhum status atual"
+msgstr "Nenhuma mensagem atual"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Novo grupo"
 
 #: actions/newgroup.php:110
-#, fuzzy
 msgid "Use this form to create a new group."
-msgstr "Você pode criar uma nova conta usando esse formulário. "
+msgstr "Utilize este formulário para criar um novo grupo."
 
 #: actions/newmessage.php:71 actions/newmessage.php:231
 msgid "New message"
@@ -1998,7 +1973,7 @@ msgstr "Nova mensagem"
 
 #: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:367
 msgid "You can't send a message to this user."
-msgstr "Você não pode enviar uma mensagem para esse usuário."
+msgstr "Você não pode enviar mensagens para este usuário."
 
 #: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:351
 #: lib/command.php:484
@@ -2007,26 +1982,25 @@ msgstr "Nenhum conteúdo!"
 
 #: actions/newmessage.php:158
 msgid "No recipient specified."
-msgstr "Nenhum destinatário especificado."
+msgstr "Não foi especificado nenhum destinatário."
 
 #: actions/newmessage.php:164 lib/command.php:370
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
-"Não envie uma mensagem para você mesmo(a); ao invés disso, apenas diga-a "
-"para si."
+"Não envie mensagens para você mesmo(a); ao invés disso, apenas diga-a para "
+"si, discretamente."
 
 #: actions/newmessage.php:181
-#, fuzzy
 msgid "Message sent"
-msgstr "Nova mensagem"
+msgstr "A mensagem foi enviada"
 
 #: actions/newmessage.php:185 lib/command.php:376
 #, php-format
 msgid "Direct message to %s sent"
 msgstr "A mensagem direta para %s foi enviada"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Erro no Ajax"
 
@@ -2034,9 +2008,9 @@ msgstr "Erro no Ajax"
 msgid "New notice"
 msgstr "Nova mensagem"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
-msgstr "Mensagem publicada"
+msgstr "A mensagem foi publicada"
 
 #: actions/noticesearch.php:68
 #, php-format
@@ -2044,17 +2018,17 @@ msgid ""
 "Search for notices on %%site.name%% by their contents. Separate search terms "
 "by spaces; they must be 3 characters or more."
 msgstr ""
-"Procurar mensagens em %%site.name%% por seu conteúdo. Separe os termos da "
-"busca com espaços; eles devem ter 3 caracteres ou mais."
+"Procurar mensagens no %%site.name%% por seu conteúdo. Separe os termos da "
+"busca com espaços; eles devem ter 3 ou mais caracteres."
 
 #: actions/noticesearch.php:78
 msgid "Text search"
 msgstr "Procurar por texto"
 
 #: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
 msgid "Search results for \"%s\" on %s"
-msgstr " Procurar por \"%s\" no fluxo de mensagens"
+msgstr "Resultados da procura por \"%s\" no %s"
 
 #: actions/noticesearch.php:121
 #, php-format
@@ -2062,6 +2036,8 @@ msgid ""
 "Be the first to [post on this topic](%%%%action.newnotice%%%%?"
 "status_textarea=%s)!"
 msgstr ""
+"Seja o primeiro a [publicar sobre este tópico](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
 
 #: actions/noticesearch.php:124
 #, php-format
@@ -2069,16 +2045,19 @@ msgid ""
 "Why not [register an account](%%%%action.register%%%%) and be the first to "
 "[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
 msgstr ""
+"Por que você não [registra uma conta](%%%%action.register%%%%) pra ser o "
+"primeiro a [publicar sobre este tópico](%%%%action.newnotice%%%%?"
+"status_textarea=%s)?"
 
 #: actions/noticesearchrss.php:96
 #, php-format
 msgid "Updates with \"%s\""
-msgstr ""
+msgstr "Mensagens com \"%s\""
 
 #: actions/noticesearchrss.php:98
-#, fuzzy, php-format
+#, php-format
 msgid "Updates matching search term \"%1$s\" on %2$s!"
-msgstr "Todas as atualizações correspondentes ao termo \"%s\""
+msgstr "Mensagens correspondentes aos termos \"%1$s\" no %2$s!"
 
 #: actions/nudge.php:85
 msgid ""
@@ -2089,11 +2068,11 @@ msgstr ""
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr "Chamada de atenção enviada"
+msgstr "A chamada de atenção foi enviada"
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr "Chamada de atenção enviada!"
+msgstr "A chamada de atenção foi enviada!"
 
 #: actions/oembed.php:79 actions/shownotice.php:100
 msgid "Notice has no profile"
@@ -2102,28 +2081,28 @@ msgstr "A mensagem não está associada a nenhum perfil"
 #: actions/oembed.php:86 actions/shownotice.php:180
 #, php-format
 msgid "%1$s's status on %2$s"
-msgstr "Mensagem de %1$s em %2$s"
+msgstr "Mensagem de %1$s no %2$s"
 
 #: actions/oembed.php:157
 msgid "content type "
-msgstr ""
+msgstr "tipo de conteúdo "
 
 #: actions/oembed.php:160
 msgid "Only "
-msgstr ""
+msgstr "Apenas "
 
 #: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
 #: lib/api.php:1059 lib/api.php:1169
 msgid "Not a supported data format."
-msgstr "Formato de dados não suportado."
+msgstr "Não é um formato de dados suportado."
 
 #: actions/opensearch.php:64
 msgid "People Search"
-msgstr "Procurar Pessoas"
+msgstr "Procurar pessoas"
 
 #: actions/opensearch.php:67
 msgid "Notice Search"
-msgstr "Procurar mensagem"
+msgstr "Procurar mensagens"
 
 #: actions/othersettings.php:60
 msgid "Other Settings"
@@ -2131,28 +2110,27 @@ msgstr "Outras configurações"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr "Gerenciar várias outras opções."
+msgstr "Gerencia várias outras opções."
 
 #: actions/othersettings.php:108
 msgid " (free service)"
-msgstr ""
+msgstr " (serviço livre)"
 
 #: actions/othersettings.php:116
 msgid "Shorten URLs with"
-msgstr ""
+msgstr "Encolher URLs com"
 
 #: actions/othersettings.php:117
 msgid "Automatic shortening service to use."
 msgstr "Serviço de encolhimento automático a ser utilizado."
 
 #: actions/othersettings.php:122
-#, fuzzy
 msgid "View profile designs"
-msgstr "Configurações do perfil"
+msgstr "Visualizar aparências do perfil"
 
 #: actions/othersettings.php:123
 msgid "Show or hide profile designs."
-msgstr ""
+msgstr "Exibir ou esconder as aparências do perfil."
 
 #: actions/othersettings.php:153
 msgid "URL shortening service is too long (max 50 chars)."
@@ -2161,12 +2139,12 @@ msgstr "O serviço de encolhimento de URL é muito extenso (máx. 50 caracteres)
 #: actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr "Enviadas para %s - pág. %d"
+msgstr "Enviadas de %s - pág. %d"
 
 #: actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr "Envidas para %s"
+msgstr "Enviadas de %s"
 
 #: actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
@@ -2179,22 +2157,20 @@ msgid "Change password"
 msgstr "Alterar a senha"
 
 #: actions/passwordsettings.php:69
-#, fuzzy
 msgid "Change your password."
-msgstr "Altera a sua senha"
+msgstr "Altere a sua senha"
 
 #: actions/passwordsettings.php:96 actions/recoverpassword.php:231
-#, fuzzy
 msgid "Password change"
-msgstr "A senha foi salva."
+msgstr "Alterar a senha"
 
 #: actions/passwordsettings.php:104
 msgid "Old password"
-msgstr "Senha antiga"
+msgstr "Senha anterior"
 
 #: actions/passwordsettings.php:108 actions/recoverpassword.php:235
 msgid "New password"
-msgstr "Nova senha"
+msgstr "Senha nova"
 
 #: actions/passwordsettings.php:109
 msgid "6 or more characters"
@@ -2215,7 +2191,7 @@ msgstr "Alterar"
 
 #: actions/passwordsettings.php:154 actions/register.php:230
 msgid "Password must be 6 or more characters."
-msgstr "A senha deve ter 6 ou mais caracteres."
+msgstr "A senha deve ter, no mínimo, 6 caracteres."
 
 #: actions/passwordsettings.php:157 actions/register.php:233
 msgid "Passwords don't match."
@@ -2223,7 +2199,7 @@ msgstr "As senhas não coincidem."
 
 #: actions/passwordsettings.php:165
 msgid "Incorrect old password"
-msgstr "A senha antiga está incorreta"
+msgstr "A senha anterior está errada"
 
 #: actions/passwordsettings.php:181
 msgid "Error saving user; invalid."
@@ -2239,111 +2215,141 @@ msgstr "A senha foi salva."
 
 #: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:308
 msgid "Paths"
-msgstr ""
+msgstr "Caminhos"
 
 #: actions/pathsadminpanel.php:70
 msgid "Path and server settings for this StatusNet site."
-msgstr ""
+msgstr "Configurações dos caminhos e do servidor para este site StatusNet."
 
 #: actions/pathsadminpanel.php:140
-#, fuzzy, php-format
+#, php-format
 msgid "Theme directory not readable: %s"
-msgstr "Esta página não está disponível em um "
+msgstr "Sem permissão de leitura no diretório de temas: %s"
 
 #: actions/pathsadminpanel.php:146
 #, php-format
 msgid "Avatar directory not writable: %s"
-msgstr ""
+msgstr "Sem permissão de escrita no diretório de avatares: %s"
 
 #: actions/pathsadminpanel.php:152
 #, php-format
 msgid "Background directory not writable: %s"
-msgstr ""
+msgstr "Sem permissão de escrita no diretório de imagens de fundo: %s"
 
 #: actions/pathsadminpanel.php:160
 #, php-format
 msgid "Locales directory not readable: %s"
+msgstr "Sem permissão de leitura no diretório de locales: %s"
+
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
 msgstr ""
+"Servidor SSL inválido. O comprimento máximo deve ser de 255 caracteres."
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
-#, fuzzy
 msgid "Site"
-msgstr "Convidar"
+msgstr "Site"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
-msgstr ""
+msgstr "Caminho"
 
-#: actions/pathsadminpanel.php:216
-#, fuzzy
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
-msgstr "Nova mensagem"
+msgstr "Caminho do site"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
-msgstr ""
+msgstr "Caminho para os locales"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
-msgstr ""
+msgstr "Caminho do diretório de locales"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
-msgstr ""
+msgstr "Tema"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
-msgstr ""
+msgstr "Servidor de temas"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
-msgstr ""
+msgstr "Caminho dos temas"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
-msgstr ""
+msgstr "Diretório dos temas"
 
-#: actions/pathsadminpanel.php:247
-#, fuzzy
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
-msgstr "Avatar"
+msgstr "Avatares"
 
-#: actions/pathsadminpanel.php:252
-#, fuzzy
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
-msgstr "Configurações do avatar"
+msgstr "Servidor de avatares"
 
-#: actions/pathsadminpanel.php:256
-#, fuzzy
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
-msgstr "O avatar foi atualizado."
+msgstr "Caminho dos avatares"
 
-#: actions/pathsadminpanel.php:260
-#, fuzzy
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
-msgstr "O avatar foi atualizado."
+msgstr "Diretório dos avatares"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
-msgstr ""
+msgstr "Imagens de fundo"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
-msgstr ""
+msgstr "Servidor de imagens de fundo"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
-msgstr ""
+msgstr "Caminho das imagens de fundo"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
-msgstr ""
+msgstr "Diretório das imagens de fundo"
+
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Nunca"
 
 #: actions/pathsadminpanel.php:297
-#, fuzzy
-msgid "Save paths"
-msgstr "Nova mensagem"
+msgid "Sometimes"
+msgstr "Algumas vezes"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Sempre"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Usar SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Quando usar SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "Servidor SSL"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Servidor para onde devem ser direcionadas as requisições SSL"
+
+#: actions/pathsadminpanel.php:325
+msgid "Save paths"
+msgstr "Salvar caminhos"
 
 #: actions/peoplesearch.php:52
 #, php-format
@@ -2351,9 +2357,8 @@ msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
 "Separate the terms by spaces; they must be 3 characters or more."
 msgstr ""
-"Procurar por pessoas em %%site.name%% por seus nomes, localidade ou "
-"interesses. Separe os termos da busca com espaços; eles devem ter 3 "
-"caracteres ou mais."
+"Procurar pessoas no %%site.name%% por seus nomes, localidade ou interesses. "
+"Separe os termos da busca com espaços; eles devem ter 3 ou mais caracteres."
 
 #: actions/peoplesearch.php:58
 msgid "People search"
@@ -2377,6 +2382,7 @@ msgstr "O conteúdo da mensagem é inválido"
 #, php-format
 msgid "Notice license ‘%s’ is not compatible with site license ‘%s’."
 msgstr ""
+"A licença ‘%s’ da mensagem não é compatível com a licença ‘%s’ do site."
 
 #: actions/profilesettings.php:60
 msgid "Profile settings"
@@ -2390,9 +2396,8 @@ msgstr ""
 "saibam mais sobre você."
 
 #: actions/profilesettings.php:99
-#, fuzzy
 msgid "Profile information"
-msgstr "Perfil desconhecido"
+msgstr "Informações do perfil"
 
 #: actions/profilesettings.php:108 lib/groupeditform.php:154
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
@@ -2414,14 +2419,13 @@ msgid "URL of your homepage, blog, or profile on another site"
 msgstr "URL do seu site, blog ou perfil em outro site"
 
 #: actions/profilesettings.php:122 actions/register.php:460
-#, fuzzy, php-format
+#, php-format
 msgid "Describe yourself and your interests in %d chars"
-msgstr "Descreva a si mesmo e seus interesses em 140 caracteres."
+msgstr "Descreva a si mesmo e os seus interesses em %d caracteres"
 
 #: actions/profilesettings.php:125 actions/register.php:463
-#, fuzzy
 msgid "Describe yourself and your interests"
-msgstr "Descreva a si mesmo e seus interesses em 140 caracteres."
+msgstr "Descreva a si mesmo e os seus interesses"
 
 #: actions/profilesettings.php:127 actions/register.php:465
 msgid "Bio"
@@ -2438,106 +2442,112 @@ msgstr "Localização"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Onde você está, ex: \"cidade, estado (ou região), país\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Compartilhe minha localização atual ao publicar mensagens"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
-msgstr "Tags"
+msgstr "Etiquetas"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Suas etiquetas (letras, números, -, ., e _), separadas por vírgulas ou "
 "espaços"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Idioma"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Idioma preferencial"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Fuso horário"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Em que fuso horário você normalmente está?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
-msgstr "Assinar automaticamente à quem me assinar"
+msgstr ""
+"Assinar automaticamente à quem me assinar (melhor para perfis não humanos)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
-#, fuzzy, php-format
+#: actions/profilesettings.php:228 actions/register.php:223
+#, php-format
 msgid "Bio is too long (max %d chars)."
-msgstr "Descrição muito extensa (máximo 140 caracteres)."
+msgstr "A descrição é muito extensa (máximo %d caracteres)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "O fuso horário não foi selecionado."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "O nome do idioma é muito extenso (máx. 50 caracteres)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Etiqueta inválida: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Não foi possível atualizar o usuário para assinar automaticamente."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Não foi possível salvar as preferências de localização."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Não foi possível salvar o perfil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Não foi possível salvar as etiquetas."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "As configurações foram salvas."
 
 #: actions/public.php:83
 #, php-format
 msgid "Beyond the page limit (%s)"
-msgstr ""
+msgstr "Além do limite da página (%s)"
 
 #: actions/public.php:92
 msgid "Could not retrieve public stream."
 msgstr "Não foi possível recuperar o fluxo público."
 
 #: actions/public.php:129
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "Mensagens públicas"
+msgstr "Mensagens públicas, pág. %d"
 
 #: actions/public.php:131 lib/publicgroupnav.php:79
 msgid "Public timeline"
 msgstr "Mensagens públicas"
 
 #: actions/public.php:151
-#, fuzzy
 msgid "Public Stream Feed (RSS 1.0)"
-msgstr "Feed de mensagens públicas"
+msgstr "Fonte de mensagens públicas (RSS 1.0)"
 
 #: actions/public.php:155
-#, fuzzy
 msgid "Public Stream Feed (RSS 2.0)"
-msgstr "Feed de mensagens públicas"
+msgstr "Fonte de mensagens públicas (RSS 2.0)"
 
 #: actions/public.php:159
-#, fuzzy
 msgid "Public Stream Feed (Atom)"
-msgstr "Feed de mensagens públicas"
+msgstr "Fonte de mensagens públicas (Atom)"
 
 #: actions/public.php:179
 #, php-format
@@ -2545,16 +2555,20 @@ msgid ""
 "This is the public timeline for %%site.name%% but no one has posted anything "
 "yet."
 msgstr ""
+"Esse é o fluxo de mensagens públicas de %%site.name%%, mas ninguém publicou "
+"nada ainda."
 
 #: actions/public.php:182
 msgid "Be the first to post!"
-msgstr ""
+msgstr "Seja o primeiro a publicar!"
 
 #: actions/public.php:186
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post!"
 msgstr ""
+"Por que você não [registra uma conta](%%action.register%%) pra ser o "
+"primeiro a publicar?"
 
 #: actions/public.php:233
 #, php-format
@@ -2564,35 +2578,39 @@ msgid ""
 "tool. [Join now](%%action.register%%) to share notices about yourself with "
 "friends, family, and colleagues! ([Read more](%%doc.help%%))"
 msgstr ""
+"Este é %%site.name%%, um serviço de [microblog](http://pt.wikipedia.org/wiki/"
+"Microblogging) baseado no software livre [StatusNet](http://status.net/). "
+"[Cadastre-se agora](%%action.register%%) para compartilhar notícias sobre "
+"você com seus amigos, família e colegas! ([Saiba mais](%%doc.help%%))"
 
 #: actions/public.php:238
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
 "blogging) service based on the Free Software [StatusNet](http://status.net/) "
 "tool."
 msgstr ""
-"Este é %%site.name%%, um serviço de [micro-blogging](http://pt.wikipedia.org/"
-"wiki/Microblogging)"
+"Este é %%site.name%%, um serviço de [microblog](http://pt.wikipedia.org/wiki/"
+"Microblogging) baseado no software livre [StatusNet](http://status.net/)."
 
 #: actions/publictagcloud.php:57
-#, fuzzy
 msgid "Public tag cloud"
-msgstr "Fluxo de mensagens públicas"
+msgstr "Nuvem de etiquetas públicas"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "Estas são as etiquetas recentes mais populares no %s "
 
 #: actions/publictagcloud.php:69
 #, php-format
 msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
 msgstr ""
+"Ninguém publicou nenhuma mensagem com a [etiqueta](%%doc.tags%%) ainda."
 
 #: actions/publictagcloud.php:72
 msgid "Be the first to post one!"
-msgstr ""
+msgstr "Seja o primeiro a publicar uma!"
 
 #: actions/publictagcloud.php:75
 #, php-format
@@ -2600,14 +2618,16 @@ msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post "
 "one!"
 msgstr ""
+"Por que você não [registra uma conta](%%action.register%%) pra ser o "
+"primeiro a publicar?"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
-msgstr ""
+msgstr "Nuvem de etiquetas"
 
 #: actions/recoverpassword.php:36
 msgid "You are already logged in!"
-msgstr "Você já está logado!"
+msgstr "Você já está autenticado!"
 
 #: actions/recoverpassword.php:62
 msgid "No such recovery code."
@@ -2639,22 +2659,24 @@ msgid ""
 "If you have forgotten or lost your password, you can get a new one sent to "
 "the email address you have stored in your account."
 msgstr ""
+"Se você esqueceu ou perdeu a sua senha, você pode receber uma nova no "
+"endereço de e-mail que cadastrou na sua conta."
 
 #: actions/recoverpassword.php:158
 msgid "You have been identified. Enter a new password below. "
-msgstr ""
+msgstr "Você foi identificado. Digite uma nova senha abaixo. "
 
 #: actions/recoverpassword.php:188
 msgid "Password recovery"
-msgstr ""
+msgstr "Recuperação de senha"
 
 #: actions/recoverpassword.php:191
 msgid "Nickname or email address"
-msgstr ""
+msgstr "Identificação ou endereço de e-mail"
 
 #: actions/recoverpassword.php:193
 msgid "Your nickname on this server, or your registered email address."
-msgstr "Seu apelido neste servidor, ou seu e-mail registrado."
+msgstr "Sua identificação neste servidor, ou seu e-mail cadastrado."
 
 #: actions/recoverpassword.php:199 actions/recoverpassword.php:200
 msgid "Recover"
@@ -2686,7 +2708,7 @@ msgstr "Restaurar"
 
 #: actions/recoverpassword.php:252
 msgid "Enter a nickname or email address."
-msgstr "Entre com o apelido ou endereço de e-mail."
+msgstr "Digite a identificação ou endereço de e-mail."
 
 #: actions/recoverpassword.php:272
 msgid "No user with that email address or username."
@@ -2700,7 +2722,7 @@ msgstr "Nenhum endereço de e-mail registrado para esse usuário."
 
 #: actions/recoverpassword.php:301
 msgid "Error saving address confirmation."
-msgstr "Erro ao salvar o endereço de confirmação"
+msgstr "Erro ao salvar o endereço de confirmação."
 
 #: actions/recoverpassword.php:325
 msgid ""
@@ -2716,7 +2738,7 @@ msgstr "Restauração inesperada da senha."
 
 #: actions/recoverpassword.php:352
 msgid "Password must be 6 chars or more."
-msgstr "A senha deve ter 6 caracteres ou mais."
+msgstr "A senha deve ter 6 ou mais caracteres."
 
 #: actions/recoverpassword.php:356
 msgid "Password and confirmation do not match."
@@ -2729,25 +2751,25 @@ msgstr "Erro na configuração do usuário."
 #: actions/recoverpassword.php:382
 msgid "New password successfully saved. You are now logged in."
 msgstr ""
-"A nova senha foi salva com sucesso. A partir de agora você já está logado."
+"A nova senha foi salva com sucesso. A partir de agora você já está "
+"autenticado."
 
 #: actions/register.php:85 actions/register.php:189 actions/register.php:404
 msgid "Sorry, only invited people can register."
-msgstr "Desculpe, somente convidados podem se registrar."
+msgstr "Desculpe, mas somente convidados podem se registrar."
 
 #: actions/register.php:92
-#, fuzzy
 msgid "Sorry, invalid invitation code."
-msgstr "Erro com o código de confirmação."
+msgstr "Desculpe, mas o código do convite é inválido."
 
 #: actions/register.php:112
 msgid "Registration successful"
 msgstr "Registro realizado com sucesso"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
-msgstr "Registrar"
+msgstr "Registrar-se"
 
 #: actions/register.php:135
 msgid "Registration not allowed."
@@ -2774,6 +2796,8 @@ msgid ""
 "With this form you can create  a new account. You can then post notices and "
 "link up to friends and colleagues. "
 msgstr ""
+"Através deste formulário você pode criar uma nova conta. A partir daí você "
+"pode publicar mensagens e se conectar a amigos e colegas. "
 
 #: actions/register.php:424
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
@@ -2789,7 +2813,7 @@ msgid "Same as password above. Required."
 msgstr "Igual à senha acima. Obrigatório."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-mail"
 
@@ -2799,7 +2823,7 @@ msgstr "Usado apenas para atualizações, anúncios e recuperações de senha"
 
 #: actions/register.php:449
 msgid "Longer name, preferably your \"real\" name"
-msgstr "Nome completo (nome e sobrenome), de preferência seu nome \"real\""
+msgstr "Nome completo, de preferência seu nome \"real\""
 
 #: actions/register.php:493
 msgid "My text and files are available under "
@@ -2807,16 +2831,15 @@ msgstr "Meus textos e arquivos estão disponíveis sob "
 
 #: actions/register.php:495
 msgid "Creative Commons Attribution 3.0"
-msgstr ""
+msgstr "Creative Commons Attribution 3.0"
 
 #: actions/register.php:496
-#, fuzzy
 msgid ""
 " except this private data: password, email address, IM address, and phone "
 "number."
 msgstr ""
-" exceto estes dados privados: senha, endereço de e-mail, endereço de IM, "
-"número de telefone."
+" exceto estes dados particulares: senha, endereço de e-mail, endereço de MI "
+"número de telefone."
 
 #: actions/register.php:537
 #, php-format
@@ -2836,14 +2859,14 @@ msgid ""
 "\n"
 "Thanks for signing up and we hope you enjoy using this service."
 msgstr ""
-"Parabéns, %s! E bem-vindo(a) ao %%%%site.name%%%%. A partir daqui, você pode "
-"querer...\n"
+"Parabéns, %s! E bem-vindo(a) a %%%%site.name%%%%. A partir daqui, você "
+"pode...\n"
 "\n"
 "* Acessar [seu perfil](%s) e publicar sua primeira mensagem.\n"
 "* Adicionar um [endereço de Jabber/GTalk](%%%%action.imsettings%%%%) para "
 "que você possa publicar via mensagens instantâneas.\n"
-"* [Procurar por pessoas](%%%%action.peoplesearch%%%%) que você conheça ou "
-"que tenham os mesmos interesses que você. \n"
+"* [Procurar pessoas](%%%%action.peoplesearch%%%%) que você conheça ou que "
+"tenham os mesmos interesses que você. \n"
 "* Atualizar suas [configurações de perfil](%%%%action.profilesettings%%%%) "
 "para que outras pessoas saibam mais sobre você. \n"
 "* Ler a [documentação on-line](%%%%doc.help%%%%) para conhecer os recursos "
@@ -2868,7 +2891,7 @@ msgid ""
 msgstr ""
 "Para assinar, você pode [autenticar-se](%%action.login%%), ou [registrar](%%"
 "action.register%%) uma nova conta. Se você já tem uma conta em um [site de "
-"microblogagem compatível](%%doc.openmublog%%), informe a URL do seu perfil "
+"microblog compatível](%%doc.openmublog%%), informe a URL do seu perfil "
 "abaixo."
 
 #: actions/remotesubscribe.php:112
@@ -2876,25 +2899,24 @@ msgid "Remote subscribe"
 msgstr "Assinatura remota"
 
 #: actions/remotesubscribe.php:124
-#, fuzzy
 msgid "Subscribe to a remote user"
-msgstr "Assinar este usuário"
+msgstr "Assinar um usuário remoto"
 
 #: actions/remotesubscribe.php:129
 msgid "User nickname"
-msgstr "Apelido do usuário"
+msgstr "Identificação do usuário"
 
 #: actions/remotesubscribe.php:130
 msgid "Nickname of the user you want to follow"
-msgstr "Apelido do usuário que você quer seguir"
+msgstr "Identificação do usuário que você quer seguir"
 
 #: actions/remotesubscribe.php:133
 msgid "Profile URL"
-msgstr "URL do Perfil"
+msgstr "URL do perfil"
 
 #: actions/remotesubscribe.php:134
 msgid "URL of your profile on another compatible microblogging service"
-msgstr "URL do seu perfil em outro serviço de microblogagem compatível"
+msgstr "URL do seu perfil em outro serviço de microblog compatível"
 
 #: actions/remotesubscribe.php:137 lib/subscribeform.php:139
 #: lib/userprofile.php:365
@@ -2906,49 +2928,41 @@ msgid "Invalid profile URL (bad format)"
 msgstr "A URL do perfil é inválida (formato inválido)"
 
 #: actions/remotesubscribe.php:168
-#, fuzzy
 msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
-msgstr "Não é uma URL de perfil válida (nenhum documento YADIS)."
+msgstr ""
+"Não é uma URL de perfil válida (nenhum documento YADIS ou XRDS inválido)."
 
 #: actions/remotesubscribe.php:176
-#, fuzzy
 msgid "That’s a local profile! Login to subscribe."
 msgstr "Esse é um perfil local! Autentique-se para assinar."
 
 #: actions/remotesubscribe.php:183
-#, fuzzy
 msgid "Couldn’t get a request token."
 msgstr "Não foi possível obter um token de requisição."
 
 #: actions/repeat.php:57
-#, fuzzy
 msgid "Only logged-in users can repeat notices."
-msgstr "As caixas postais são legíveis somente pelo seu próprio usuário."
+msgstr "Apenas usuários autenticados podem repetir mensagens."
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "Não foi especificado nenhum perfil."
+msgstr "Não foi especificada nenhuma mensagem."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "Você não pode se registrar se não aceitar a licença."
+msgstr "Você não pode repetir sua própria mensagem."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "Você já bloqueou esse usuário."
+msgstr "Você já repetiu essa mensagem."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "Criar"
+msgstr "Repetida"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "Criar"
+msgstr "Repetida!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -2957,24 +2971,24 @@ msgid "Replies to %s"
 msgstr "Respostas para %s"
 
 #: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %s, page %d"
-msgstr "Respostas para %s"
+msgstr "Respostas para %s, pag. %d"
 
 #: actions/replies.php:144
 #, php-format
 msgid "Replies feed for %s (RSS 1.0)"
-msgstr ""
+msgstr "Fonte de respostas para %s (RSS 1.0)"
 
 #: actions/replies.php:151
 #, php-format
 msgid "Replies feed for %s (RSS 2.0)"
-msgstr ""
+msgstr "Fonte de respostas para %s (RSS 2.0)"
 
 #: actions/replies.php:158
-#, fuzzy, php-format
+#, php-format
 msgid "Replies feed for %s (Atom)"
-msgstr "Mensagens de %s"
+msgstr "Fonte de respostas para %s (Atom)"
 
 #: actions/replies.php:198
 #, php-format
@@ -2982,6 +2996,8 @@ msgid ""
 "This is the timeline showing replies to %s but %s hasn't received a notice "
 "to his attention yet."
 msgstr ""
+"Esse é o fluxo de mensagens de resposta para %s, mas %s ainda não recebeu "
+"nenhuma mensagem direcionada a ele(a)."
 
 #: actions/replies.php:203
 #, php-format
@@ -2989,6 +3005,8 @@ msgid ""
 "You can engage other users in a conversation, subscribe to more people or "
 "[join groups](%%action.groups%%)."
 msgstr ""
+"Você pode envolver outros usuários na conversa. Pra isso, assine mais "
+"pessoas ou [associe-se a grupos](%%action.groups%%)."
 
 #: actions/replies.php:205
 #, php-format
@@ -2996,51 +3014,54 @@ msgid ""
 "You can try to [nudge %s](../%s) or [post something to his or her attention]"
 "(%%%%action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"Você pode tentar [chamar a atenção de %s](../%s) ou [publicar alguma coisa "
+"que desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%s)."
 
 #: actions/repliesrss.php:72
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %1$s on %2$s!"
-msgstr "Mensagem para %1$s no %2$s"
+msgstr "Respostas para %1$s no %2$s"
 
 #: actions/sandbox.php:65 actions/unsandbox.php:65
-#, fuzzy
 msgid "You cannot sandbox users on this site."
-msgstr "Você não pode enviar uma mensagem para esse usuário."
+msgstr "Você não pode colocar usuários deste site em isolamento."
 
 #: actions/sandbox.php:72
-#, fuzzy
 msgid "User is already sandboxed."
-msgstr "O usuário bloqueou você."
+msgstr "O usuário já está em isolamento."
 
 #: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
 msgid "%s's favorite notices, page %d"
-msgstr "Mensagens favoritas de %s"
+msgstr "Mensagens favoritas de %s, pág. %d"
 
 #: actions/showfavorites.php:132
 msgid "Could not retrieve favorite notices."
 msgstr "Não foi possível recuperar as mensagens favoritas."
 
 #: actions/showfavorites.php:170
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for favorites of %s (RSS 1.0)"
-msgstr "Feed para favoritas de %s"
+msgstr "Fonte para favoritas de %s (RSS 1.0)"
 
 #: actions/showfavorites.php:177
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for favorites of %s (RSS 2.0)"
-msgstr "Feed para favoritas de %s"
+msgstr "Fonte para favoritas de %s (RSS 2.0)"
 
 #: actions/showfavorites.php:184
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for favorites of %s (Atom)"
-msgstr "Feed para favoritas de %s"
+msgstr "Fonte para favoritas de %s (Atom)"
 
 #: actions/showfavorites.php:205
 msgid ""
 "You haven't chosen any favorite notices yet. Click the fave button on "
 "notices you like to bookmark them for later or shed a spotlight on them."
 msgstr ""
+"Você ainda não marcou nenhuma mensagem como favorita. Clique no botão "
+"\"Favorita\" nas mensagens que você quer guardar para referência futura ou "
+"para destacar."
 
 #: actions/showfavorites.php:207
 #, php-format
@@ -3048,6 +3069,8 @@ msgid ""
 "%s hasn't added any notices to his favorites yet. Post something interesting "
 "they would add to their favorites :)"
 msgstr ""
+"%s não adicionou nenhuma mensagem às suas favoritas. Publique alguma coisa "
+"interessante para para as pessoas marcarem como favorita. :)"
 
 #: actions/showfavorites.php:211
 #, php-format
@@ -3056,90 +3079,87 @@ msgid ""
 "account](%%%%action.register%%%%) and then post something interesting they "
 "would add to their favorites :)"
 msgstr ""
+"%s não adicionou nenhuma mensagem às suas favoritas. Por que você não "
+"[registra uma conta](%%%%action.register%%%%) e publica alguma coisa "
+"interessante para as pessoas marcarem como favorita?  :)"
 
 #: actions/showfavorites.php:242
 msgid "This is a way to share what you like."
-msgstr ""
+msgstr "Esta é uma forma de compartilhar o que você gosta."
 
 #: actions/showgroup.php:82 lib/groupnav.php:86
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "Grupo %s"
 
 #: actions/showgroup.php:84
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "Grupo %s, pág. %d"
 
 #: actions/showgroup.php:218
-#, fuzzy
 msgid "Group profile"
-msgstr "Esse perfil não existe."
+msgstr "Perfil do grupo"
 
 #: actions/showgroup.php:263 actions/tagother.php:118
 #: actions/userauthorization.php:167 lib/userprofile.php:177
 msgid "URL"
-msgstr ""
+msgstr "Site"
 
 #: actions/showgroup.php:274 actions/tagother.php:128
 #: actions/userauthorization.php:179 lib/userprofile.php:194
-#, fuzzy
 msgid "Note"
-msgstr "Mensagens"
+msgstr "Mensagem"
 
 #: actions/showgroup.php:284 lib/groupeditform.php:184
 msgid "Aliases"
-msgstr ""
+msgstr "Apelidos"
 
 #: actions/showgroup.php:293
-#, fuzzy
 msgid "Group actions"
-msgstr "Outras opções"
+msgstr "Ações do grupo"
 
 #: actions/showgroup.php:328
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
-msgstr "Mensagens de %s"
+msgstr "Fonte de mensagens do grupo %s (RSS 1.0)"
 
 #: actions/showgroup.php:334
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
-msgstr "Mensagens de %s"
+msgstr "Fonte de mensagens do grupo %s (RSS 2.0)"
 
 #: actions/showgroup.php:340
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group (Atom)"
-msgstr "Mensagens de %s"
+msgstr "Fonte de mensagens do grupo %s (Atom)"
 
 #: actions/showgroup.php:345
-#, fuzzy, php-format
+#, php-format
 msgid "FOAF for %s group"
-msgstr "Mensagens de %s"
+msgstr "FOAF para o grupo %s"
 
 #: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
-#, fuzzy
 msgid "Members"
-msgstr "Membro desde"
+msgstr "Membros"
 
 #: actions/showgroup.php:386 lib/profileaction.php:117
 #: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
 #: lib/tagcloudsection.php:71
-#, fuzzy
 msgid "(None)"
-msgstr "(nenhum)"
+msgstr "(Nenhum)"
 
 #: actions/showgroup.php:392
 msgid "All members"
-msgstr ""
+msgstr "Todos os membros"
 
 #: actions/showgroup.php:429 lib/profileaction.php:174
 msgid "Statistics"
 msgstr "Estatísticas"
 
 #: actions/showgroup.php:432
-#, fuzzy
 msgid "Created"
-msgstr "Criar"
+msgstr "Criado"
 
 #: actions/showgroup.php:448
 #, php-format
@@ -3150,22 +3170,29 @@ msgid ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
+"**%s** é usuário de um grupo no %%%%site.name%%%%, um serviço de [microblog]"
+"(http://pt.wikipedia.org/wiki/Micro-blogging) baseado no software livre "
+"[StatusNet](http://status.net/). Seus membros compartilham mensagens curtas "
+"sobre suas vidas e interesses. [Associe-se agora](%%%%action.register%%%%) "
+"para se tornar parte deste grupo e muito mais! ([Saiba mais](%%%%doc.help%%%"
+"%))"
 
 #: actions/showgroup.php:454
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "**%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. "
 msgstr ""
-"Este é %%site.name%%, um serviço de [micro-blogging](http://pt.wikipedia.org/"
-"wiki/Microblogging)"
+"**%s** é usuário de um grupo no %%%%site.name%%%%, um serviço de [microblog]"
+"(http://pt.wikipedia.org/wiki/Micro-blogging) baseado no software livre "
+"[StatusNet](http://status.net/). Seus membros compartilham mensagens curtas "
+"sobre suas vidas e interesses. "
 
 #: actions/showgroup.php:482
-#, fuzzy
 msgid "Admins"
-msgstr "Admin"
+msgstr "Administradores"
 
 #: actions/showmessage.php:81
 msgid "No such message."
@@ -3173,7 +3200,7 @@ msgstr "Essa mensagem não existe."
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient may read this message."
-msgstr "Apenas o remetente e o destinatário podem ler essa mensagem."
+msgstr "Apenas o remetente e o destinatário podem ler esta mensagem."
 
 #: actions/showmessage.php:108
 #, php-format
@@ -3186,55 +3213,57 @@ msgid "Message from %1$s on %2$s"
 msgstr "Mensagem de %1$s no %2$s"
 
 #: actions/shownotice.php:90
-#, fuzzy
 msgid "Notice deleted."
-msgstr "Mensagem publicada"
+msgstr "A mensagem excluída."
 
 #: actions/showstream.php:73
-#, fuzzy, php-format
+#, php-format
 msgid " tagged %s"
-msgstr "Mensagens etiquetadas com %s"
+msgstr " etiquetada %s"
 
 #: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
 msgid "%s, page %d"
-msgstr "Recebidas por %s - pág. %d"
+msgstr "%s, pág. %d"
 
 #: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s tagged %s (RSS 1.0)"
-msgstr "Mensagens de %s"
+msgstr "Fonte de mensagens de %s etiquetada %s (RSS 1.0)"
 
 #: actions/showstream.php:129
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (RSS 1.0)"
-msgstr "Feed de mensagens de %s"
+msgstr "Fonte de mensagens de %s (RSS 1.0)"
 
 #: actions/showstream.php:136
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (RSS 2.0)"
-msgstr "Feed de mensagens de %s"
+msgstr "Fonte de mensagens de %s (RSS 2.0)"
 
 #: actions/showstream.php:143
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s (Atom)"
-msgstr "Feed de mensagens de %s"
+msgstr "Fonte de mensagens de %s (Atom)"
 
 #: actions/showstream.php:148
-#, fuzzy, php-format
+#, php-format
 msgid "FOAF for %s"
-msgstr "Envidas para %s"
+msgstr "FOAF de %s"
 
 #: actions/showstream.php:191
 #, php-format
 msgid "This is the timeline for %s but %s hasn't posted anything yet."
 msgstr ""
+"Este é o fluxo público de mensagens de %s, mas %s não publicou nada ainda."
 
 #: actions/showstream.php:196
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
+"Viu alguma coisa interessante recentemente? Você ainda não publicou nenhuma "
+"mensagem. Que tal começar agora? :)"
 
 #: actions/showstream.php:198
 #, php-format
@@ -3242,6 +3271,8 @@ msgid ""
 "You can try to nudge %s or [post something to his or her attention](%%%%"
 "action.newnotice%%%%?status_textarea=%s)."
 msgstr ""
+"Você pode tentar chamar a atenção de %s ou [publicar alguma coisa que "
+"desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%s)."
 
 #: actions/showstream.php:234
 #, php-format
@@ -3251,278 +3282,230 @@ 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.name%%%%, um serviço de [microblog](http://"
+"pt.wikipedia.org/wiki/Micro-blogging) baseado no software livre [StatusNet]"
+"(http://status.net/). [Cadastre-se agora](%%%%action.register%%%%) para "
+"acompanhar as mensagens de **%s** e muito mais! ([Saiba mais](%%%%doc.help%%%"
+"%))"
 
 #: actions/showstream.php:239
-#, fuzzy, php-format
+#, 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 ""
-"Este é %%site.name%%, um serviço de [micro-blogging](http://pt.wikipedia.org/"
-"wiki/Microblogging)"
+"**%s** tem uma conta no %%%%site.name%%%%, um serviço de [microblog](http://"
+"pt.wikipedia.org/wiki/Micro-blogging) baseado no software livre [StatusNet]"
+"(http://status.net/). "
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "Respostas para %s"
+msgstr "Repetição de %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
-#, fuzzy
 msgid "You cannot silence users on this site."
-msgstr "Você não pode enviar uma mensagem para esse usuário."
+msgstr "Você não pode silenciar os usuários neste site."
 
 #: actions/silence.php:72
-#, fuzzy
 msgid "User is already silenced."
-msgstr "O usuário bloqueou você."
+msgstr "O usuário já está silenciado."
 
 #: actions/siteadminpanel.php:69
 msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "Configurações básicas para esta instância do StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "Você deve digitar alguma coisa para o nome do site."
 
-#: actions/siteadminpanel.php:155
-#, fuzzy
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
-msgstr "Não é um endereço de e-mail válido"
+msgstr "Você deve ter um endereço de e-mail para contato válido."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "Idioma desconhecido \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
-msgstr ""
+msgstr "A URL para o envio das estatísticas é inválida."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
-msgstr ""
+msgstr "O valor de execução da obtenção das estatísticas é inválido."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
-msgstr ""
+msgstr "A frequência de geração de estatísticas deve ser um número."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
-msgstr ""
+msgstr "O comprimento máximo do texto é de 140 caracteres."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
-msgstr ""
+msgstr "O limite de duplicatas deve ser de um ou mais segundos."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
-msgstr ""
+msgstr "Geral"
 
-#: actions/siteadminpanel.php:269
-#, fuzzy
+#: actions/siteadminpanel.php:256
 msgid "Site name"
-msgstr "Nova mensagem"
+msgstr "Nome do site"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
-msgstr ""
+msgstr "O nome do seu site, por exemplo \"Microblog da Sua Empresa\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
-msgstr ""
+msgstr "Disponibilizado por"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
-msgstr ""
+msgstr "Texto utilizado para o link de créditos no rodapé de cada página"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
-msgstr ""
+msgstr "URL do disponibilizado por"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
-msgstr ""
+msgstr "URL utilizada para o link de créditos no rodapé de cada página"
 
-#: actions/siteadminpanel.php:284
-#, fuzzy
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
-msgstr "Novo endereço de e-mail para postar para %s"
+msgstr "Endereço de e-mail para contatos do seu site"
 
-#: actions/siteadminpanel.php:290
-#, fuzzy
+#: actions/siteadminpanel.php:277
 msgid "Local"
-msgstr "Localização"
+msgstr "Local"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
-msgstr ""
+msgstr "Fuso horário padrão"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "Fuso horário padrão para o seu site; geralmente UTC."
 
-#: actions/siteadminpanel.php:308
-#, fuzzy
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
-msgstr "Idioma preferencial"
+msgstr "Idioma padrão do site"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
-msgstr ""
+msgstr "URLs"
 
-#: actions/siteadminpanel.php:319
-#, fuzzy
+#: actions/siteadminpanel.php:306
 msgid "Server"
-msgstr "Recuperar"
+msgstr "Servidor"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
-msgstr ""
+msgstr "Nome de host do servidor do site."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
-msgstr ""
+msgstr "URLs limpas"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
-msgstr ""
+msgstr "Utilizar URLs limpas (mais legíveis e memorizáveis)?"
 
-#: actions/siteadminpanel.php:331
-#, fuzzy
+#: actions/siteadminpanel.php:318
 msgid "Access"
-msgstr "Aceitar"
+msgstr "Acesso"
 
-#: actions/siteadminpanel.php:334
-#, fuzzy
+#: actions/siteadminpanel.php:321
 msgid "Private"
-msgstr "Privacidade"
+msgstr "Particular"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr ""
+msgstr "Impedir usuários anônimos (não autenticados) de visualizar o site?"
 
-#: actions/siteadminpanel.php:340
-#, fuzzy
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
-msgstr "Convidar"
+msgstr "Somente convidados"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
-msgstr ""
+msgstr "Cadastro liberado somente para convidados."
 
-#: actions/siteadminpanel.php:346
-#, fuzzy
+#: actions/siteadminpanel.php:333
 msgid "Closed"
-msgstr "Bloquear"
+msgstr "Fechado"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
-msgstr ""
+msgstr "Desabilita novos registros."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
-msgstr ""
+msgstr "Estatísticas"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
-msgstr ""
+msgstr "Aleatoriamente durante o funcionamento"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
-msgstr ""
-
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Recuperar"
+msgstr "Em horários pré-definidos"
 
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
-msgstr ""
+msgstr "Estatísticas dos dados"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
-msgstr ""
+msgstr "Quando enviar dados estatísticos para os servidores status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
-msgstr ""
+msgstr "Frequentemente"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+msgstr "As estatísticas serão enviadas uma vez a cada N usos da web"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
-msgstr ""
+msgstr "URL para envio"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
-msgstr ""
-
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Mensagens"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
+msgstr "As estatísticas serão enviadas para esta URL"
 
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
-msgstr ""
+msgstr "Limites"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
-msgstr ""
+msgstr "Limite do texto"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
-msgstr ""
+msgstr "Número máximo de caracteres para as mensagens."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
-msgstr ""
+msgstr "Limite de duplicatas"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
+"Quanto tempo (em segundos) os usuários devem esperar para publicar a mesma "
+"coisa novamente."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
-#, fuzzy
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
-msgstr "Configurações do avatar"
+msgstr "Salvar as configurações do site"
 
 #: actions/smssettings.php:58
 msgid "SMS Settings"
@@ -3531,12 +3514,11 @@ msgstr "Configuração de SMS"
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr "Você pode receber mensagens SMS do %%site.name%% através do e-mail."
+msgstr "Você pode receber mensagens SMS de %%site.name%% através do e-mail."
 
 #: actions/smssettings.php:91
-#, fuzzy
 msgid "SMS is not available."
-msgstr "Esta página não está disponível em um "
+msgstr "SMS não está disponível."
 
 #: actions/smssettings.php:112
 msgid "Current confirmed SMS-enabled phone number."
@@ -3587,14 +3569,12 @@ msgid "That phone number already belongs to another user."
 msgstr "Esse número de telefone já pertence à outro usuário."
 
 #: actions/smssettings.php:347
-#, fuzzy
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your phone "
 "for the code and instructions on how to use it."
 msgstr ""
 "Um código de confirmação foi enviado para o número de telefone que você "
-"informou. Verifique sua caixa de entrada (e de spam!) para o código e "
-"instruções sobre como usá-lo."
+"informou. Verifique no seu telefone o código e instruções sobre como usá-lo."
 
 #: actions/smssettings.php:374
 msgid "That is the wrong confirmation number."
@@ -3605,9 +3585,8 @@ msgid "That is not your phone number."
 msgstr "Esse não é seu número de telefone."
 
 #: actions/smssettings.php:465
-#, fuzzy
 msgid "Mobile carrier"
-msgstr "Selecione uma operadora"
+msgstr "Operadora de celular"
 
 #: actions/smssettings.php:469
 msgid "Select a carrier"
@@ -3619,9 +3598,8 @@ msgid ""
 "Mobile carrier for your phone. If you know a carrier that accepts SMS over "
 "email but isn't listed here, send email to let us know at %s."
 msgstr ""
-"A operadora móvel do seu celular. Se você conhece uma operadora que aceita "
-"SMS via e-mail que não está listada aqui, informe-nos enviando uma mensagem "
-"para %s."
+"A operadora do seu celular. Se você conhece uma operadora que aceita SMS via "
+"e-mail que não está listada aqui, informe-nos enviando uma mensagem para %s."
 
 #: actions/smssettings.php:498
 msgid "No code entered"
@@ -3644,14 +3622,14 @@ msgid "Subscribed"
 msgstr "Assinado"
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "Assinantes"
+msgstr "Assinantes de %s"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "Assinantes de %s, pág. %d"
 
 #: actions/subscribers.php:63
 msgid "These are the people who listen to your notices."
@@ -3667,11 +3645,13 @@ msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
 "return the favor"
 msgstr ""
+"Você não tem nenhum assinante. Experimente assinar pessoas que você conhece "
+"e eles podem devolver o favor"
 
 #: actions/subscribers.php:110
 #, php-format
 msgid "%s has no subscribers. Want to be the first?"
-msgstr ""
+msgstr "%s não possui nenhum assinante. Quer ser o(a) primeiro(a)?"
 
 #: actions/subscribers.php:114
 #, php-format
@@ -3679,16 +3659,18 @@ msgid ""
 "%s has no subscribers. Why not [register an account](%%%%action.register%%%"
 "%) and be the first?"
 msgstr ""
+"%s não possui nenhum assinante. Por que você não [registra uma conta](%%%%"
+"action.register%%%%) e se torna o(a) primeiro(a)?"
 
 #: actions/subscriptions.php:52
 #, php-format
 msgid "%s subscriptions"
-msgstr "%s assinaturas"
+msgstr "Assinaturas de %s"
 
 #: actions/subscriptions.php:54
 #, php-format
 msgid "%s subscriptions, page %d"
-msgstr "%s assinaturas, página %d"
+msgstr "Assinaturas de %s, pág. %d"
 
 #: actions/subscriptions.php:65
 msgid "These are the people whose notices you listen to."
@@ -3708,11 +3690,17 @@ msgid ""
 "featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can "
 "automatically subscribe to people you already follow there."
 msgstr ""
+"Você não está acompanhando as mensagens de ninguém. Experimente assinar "
+"algumas pessoas que você conhece. Você pode [procurar por pessoas](%%action."
+"peoplesearch%%) e verificar os membros nos grupos que você está interessado "
+"e nossos [usuários de destaque](%%action.featured%%). Se você for um "
+"[usuário do Twitter](%%action.twittersettings%%), você pode assinar "
+"automaticamente as pessoas que já segue lá."
 
 #: actions/subscriptions.php:123 actions/subscriptions.php:127
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not listening to anyone."
-msgstr "%1$s agora está acompanhando "
+msgstr "%s não está acompanhando ninguém."
 
 #: actions/subscriptions.php:194
 msgid "Jabber"
@@ -3723,56 +3711,53 @@ msgid "SMS"
 msgstr "SMS"
 
 #: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "Mensagens etiquetadas com %s"
+msgstr "Mensagens etiquetadas com %s, pág. %d"
 
 #: actions/tag.php:86
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "Feed de mensagens de %s"
+msgstr "Fonte de mensagens de %s (RSS 1.0)"
 
 #: actions/tag.php:92
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "Feed de mensagens de %s"
+msgstr "Fonte de mensagens de %s (RSS 2.0)"
 
 #: actions/tag.php:98
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for tag %s (Atom)"
-msgstr "Feed de mensagens de %s"
+msgstr "Fonte de mensagens de %s (Atom)"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
 msgstr "Nenhum argumento de ID."
 
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr "Tag %s"
+msgstr "Etiqueta %s"
 
 #: actions/tagother.php:77 lib/userprofile.php:75
-#, fuzzy
 msgid "User profile"
-msgstr "O usuário não tem perfil."
+msgstr "Perfil do usuário"
 
 #: actions/tagother.php:81 lib/userprofile.php:102
 msgid "Photo"
-msgstr ""
+msgstr "Imagem"
 
 #: actions/tagother.php:141
-#, fuzzy
 msgid "Tag user"
-msgstr "Etiquetas"
+msgstr "Etiquetar o usuário"
 
 #: actions/tagother.php:151
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
-"Etiquetas desse usuário (letras, números, -, ., e _), separadas por vírgulas "
-"ou espaços"
+"Etiquetas para este usuário (letras, números, -, ., e _), separadas por "
+"vírgulas ou espaços"
 
 #: actions/tagother.php:193
 msgid ""
@@ -3791,26 +3776,23 @@ msgstr ""
 
 #: actions/tagrss.php:35
 msgid "No such tag."
-msgstr "Essa etiqueta não existe."
+msgstr "Esta etiqueta não existe."
 
 #: actions/twitapitrends.php:87
 msgid "API method under construction."
 msgstr "O método da API está em construção."
 
 #: actions/unblock.php:59
-#, fuzzy
 msgid "You haven't blocked that user."
-msgstr "Você  bloqueou esse usuário."
+msgstr "Você não bloqueou esse usuário."
 
 #: actions/unsandbox.php:72
-#, fuzzy
 msgid "User is not sandboxed."
-msgstr "O usuário bloqueou você."
+msgstr "O usuário não está em isolamento."
 
 #: actions/unsilence.php:72
-#, fuzzy
 msgid "User is not silenced."
-msgstr "O usuário não tem perfil."
+msgstr "O usuário não está silenciado."
 
 #: actions/unsubscribe.php:77
 msgid "No profile id in request."
@@ -3828,6 +3810,8 @@ msgstr "Cancelado"
 #, php-format
 msgid "Listenee stream license ‘%s’ is not compatible with site license ‘%s’."
 msgstr ""
+"A licença '%s' do fluxo do usuário não é compatível com a licença '%s' do "
+"site."
 
 #: actions/useradminpanel.php:58 lib/adminpanelaction.php:305
 #: lib/personalgroupnav.php:115
@@ -3836,20 +3820,21 @@ msgstr "Usuário"
 
 #: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site."
-msgstr ""
+msgstr "Configurações de usuário para este site StatusNet."
 
 #: actions/useradminpanel.php:149
 msgid "Invalid bio limit. Must be numeric."
-msgstr ""
+msgstr "Limite da descrição inválido. Seu valor deve ser numérico."
 
 #: actions/useradminpanel.php:155
 msgid "Invalid welcome text. Max length is 255 characters."
 msgstr ""
+"Mensagem de boas vindas inválida. O comprimento máximo é de 255 caracteres."
 
 #: actions/useradminpanel.php:165
 #, php-format
 msgid "Invalid default subscripton: '%1$s' is not user."
-msgstr ""
+msgstr "Assinatura padrão inválida: '%1$s' não é um usuário."
 
 #: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
 #: lib/personalgroupnav.php:109
@@ -3858,87 +3843,81 @@ msgstr "Perfil"
 
 #: actions/useradminpanel.php:222
 msgid "Bio Limit"
-msgstr ""
+msgstr "Limite da descrição"
 
 #: actions/useradminpanel.php:223
 msgid "Maximum length of a profile bio in characters."
-msgstr ""
+msgstr "Comprimento máximo da descrição do perfil, em caracteres."
 
 #: actions/useradminpanel.php:231
-#, fuzzy
 msgid "New users"
-msgstr "Convidar novos usuários"
+msgstr "Novos usuários"
 
 #: actions/useradminpanel.php:235
 msgid "New user welcome"
-msgstr ""
+msgstr "Boas vindas aos novos usuários"
 
 #: actions/useradminpanel.php:236
 msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+msgstr "Texto de boas vindas para os novos usuários (máx. 255 caracteres)."
 
 #: actions/useradminpanel.php:241
-#, fuzzy
 msgid "Default subscription"
-msgstr "Todas as assinaturas"
+msgstr "Assinatura padrão"
 
 #: actions/useradminpanel.php:242
-#, fuzzy
 msgid "Automatically subscribe new users to this user."
-msgstr "Assinar automaticamente à quem me assinar"
+msgstr "Os novos usuários assinam esse usuário automaticamente."
 
 #: actions/useradminpanel.php:251
-#, fuzzy
 msgid "Invitations"
-msgstr "Convite(s) enviado(s)"
+msgstr "Convites"
 
 #: actions/useradminpanel.php:256
-#, fuzzy
 msgid "Invitations enabled"
-msgstr "Convite(s) enviado(s)"
+msgstr "Convites habilitados"
 
 #: actions/useradminpanel.php:258
 msgid "Whether to allow users to invite new users."
-msgstr ""
+msgstr "Define se os usuários podem ou não convidar novos usuários."
 
 #: actions/useradminpanel.php:265
 msgid "Sessions"
-msgstr ""
+msgstr "Sessões"
 
 #: actions/useradminpanel.php:270
 msgid "Handle sessions"
-msgstr ""
+msgstr "Gerenciar sessões"
 
 #: actions/useradminpanel.php:272
 msgid "Whether to handle sessions ourselves."
-msgstr ""
+msgstr "Define se nós cuidamos do gerenciamento das sessões."
 
 #: actions/useradminpanel.php:276
 msgid "Session debugging"
-msgstr ""
+msgstr "Depuração da sessão"
 
 #: actions/useradminpanel.php:278
 msgid "Turn on debugging output for sessions."
-msgstr ""
+msgstr "Ativa a saída de depuração para as sessões."
 
 #: actions/userauthorization.php:105
 msgid "Authorize subscription"
 msgstr "Autorizar a assinatura"
 
 #: actions/userauthorization.php:110
-#, fuzzy
 msgid ""
 "Please check these details to make sure that you want to subscribe to this "
 "user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
 "click “Reject”."
 msgstr ""
-"Por favor, verifique estes detalhes para ter certeza que você quer seguir as "
-"mensagens deste usuário. Se você não solicitou seguir as mensagens de "
-"alguém, clique em \"Cancelar\"."
+"Por favor, verifique estes detalhes para ter certeza que você quer assinar "
+"as mensagens deste usuário. Se você não solicitou assinar as mensagens de "
+"alguém, clique em \"Recusar\"."
 
 #: actions/userauthorization.php:188
 msgid "License"
-msgstr ""
+msgstr "Licença"
 
 #: actions/userauthorization.php:209
 msgid "Accept"
@@ -3954,9 +3933,8 @@ msgid "Reject"
 msgstr "Recusar"
 
 #: actions/userauthorization.php:212
-#, fuzzy
 msgid "Reject this subscription"
-msgstr "%s assinaturas"
+msgstr "Recusar esta assinatura"
 
 #: actions/userauthorization.php:225
 msgid "No authorization request!"
@@ -3967,7 +3945,6 @@ msgid "Subscription authorized"
 msgstr "A assinatura foi autorizada"
 
 #: actions/userauthorization.php:249
-#, fuzzy
 msgid ""
 "The subscription has been authorized, but no callback URL was passed. Check "
 "with the site’s instructions for details on how to authorize the "
@@ -3982,90 +3959,90 @@ msgid "Subscription rejected"
 msgstr "A assinatura foi recusada"
 
 #: actions/userauthorization.php:261
-#, fuzzy
 msgid ""
 "The subscription has been rejected, but no callback URL was passed. Check "
 "with the site’s instructions for details on how to fully reject the "
 "subscription."
 msgstr ""
 "A assinatura foi rejeitada, mas não foi informada nenhuma URL de retorno. "
-"Verifique as instruções do site para maiores detalhes em como rejeitar "
+"Verifique as instruções do site para detalhes sobre como rejeitar "
 "completamente a assinatura."
 
 #: actions/userauthorization.php:296
 #, php-format
 msgid "Listener URI ‘%s’ not found here"
-msgstr ""
+msgstr "A URI ‘%s’ do usuário não foi encontrada aqui"
 
 #: actions/userauthorization.php:301
 #, php-format
 msgid "Listenee URI ‘%s’ is too long."
-msgstr ""
+msgstr "A URI ‘%s’ do usuário é muito extensa."
 
 #: actions/userauthorization.php:307
 #, php-format
 msgid "Listenee URI ‘%s’ is a local user."
-msgstr ""
+msgstr "A URI ‘%s’ é de um usuário local."
 
 #: actions/userauthorization.php:322
 #, php-format
 msgid "Profile URL ‘%s’ is for a local user."
-msgstr ""
+msgstr "A URL ‘%s’ do perfil é de um usuário local."
 
 #: actions/userauthorization.php:338
 #, php-format
 msgid "Avatar URL ‘%s’ is not valid."
-msgstr ""
+msgstr "A URL ‘%s’ do avatar não é válida."
 
 #: actions/userauthorization.php:343
-#, fuzzy, php-format
+#, php-format
 msgid "Can’t read avatar URL ‘%s’."
-msgstr "Não é possível ler a URL '%s' do avatar"
+msgstr "Não é possível ler a URL '%s' do avatar."
 
 #: actions/userauthorization.php:348
-#, fuzzy, php-format
+#, php-format
 msgid "Wrong image type for avatar URL ‘%s’."
-msgstr "Tipo de imagem errado para '%s'"
+msgstr "Tipo de imagem errado para a URL '%s' do avatar."
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
 msgstr "Nenhuma ID."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
-#, fuzzy
 msgid "Profile design"
-msgstr "Configurações do perfil"
+msgstr "Aparência do perfil"
 
 #: actions/userdesignsettings.php:87 lib/designsettings.php:76
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
 msgstr ""
+"Personalize a aparência do seu perfil, com uma imagem de fundo e uma paleta "
+"de cores da sua preferência."
 
 #: actions/userdesignsettings.php:282
 msgid "Enjoy your hotdog!"
-msgstr ""
+msgstr "Aproveite o seu cachorro-quente!"
 
 #: actions/usergroups.php:64
 #, php-format
 msgid "%s groups, page %d"
-msgstr "Grupos de %s, página %d"
+msgstr "Grupos de %s, pág. %d"
 
 #: actions/usergroups.php:130
-#, fuzzy
 msgid "Search for more groups"
-msgstr "Pesquisar por pessoa ou texto"
+msgstr "Procurar por outros grupos"
 
 #: actions/usergroups.php:153
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not a member of any group."
-msgstr "Você não está assinando esse perfil."
+msgstr "%s não é membro de nenhum grupo."
 
 #: actions/usergroups.php:158
 #, php-format
 msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
 msgstr ""
+"Experimente [procurar por grupos](%%action.groupsearch%%) e associar-se à "
+"eles."
 
 #: classes/File.php:137
 #, php-format
@@ -4073,21 +4050,22 @@ msgid ""
 "No file may be larger than %d bytes and the file you sent was %d bytes. Try "
 "to upload a smaller version."
 msgstr ""
+"Nenhum arquivo pode ser maior que %d bytes e o arquivo que você enviou "
+"possui %d bytes. Experimente enviar uma versão menor."
 
 #: classes/File.php:147
 #, php-format
 msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgstr "Um arquivo deste tamanho excederá a sua conta de %d bytes."
 
 #: classes/File.php:154
 #, php-format
 msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgstr "Um arquivo deste tamanho excederá a sua conta mensal de %d bytes."
 
 #: classes/Message.php:45
-#, fuzzy
 msgid "You are banned from sending direct messages."
-msgstr "Ocorreu um erro durante o envio da mensagem direta."
+msgstr "Você está proibido de enviar mensagens diretas."
 
 #: classes/Message.php:61
 msgid "Could not insert message."
@@ -4100,12 +4078,11 @@ msgstr "Não foi possível atualizar a mensagem com a nova URI."
 #: classes/Notice.php:172
 #, php-format
 msgid "DB error inserting hashtag: %s"
-msgstr "Erro no banco de dados durante a inserção de hashtag: %s"
+msgstr "Erro no banco de dados durante a inserção da hashtag: %s"
 
 #: classes/Notice.php:226
-#, fuzzy
 msgid "Problem saving notice. Too long."
-msgstr "Problema ao salvar a mensagem."
+msgstr "Problema no salvamento da mensagem. Ela é muito extensa."
 
 #: classes/Notice.php:230
 msgid "Problem saving notice. Unknown user."
@@ -4119,45 +4096,43 @@ msgstr ""
 "novamente daqui a alguns minutos."
 
 #: classes/Notice.php:241
-#, fuzzy
 msgid ""
 "Too many duplicate messages too quickly; take a breather and post again in a "
 "few minutes."
 msgstr ""
-"Muitas mensagens em um período curto de tempo; dê uma respirada e publique "
-"novamente daqui a alguns minutos."
+"Muitas mensagens duplicadas em um período curto de tempo; dê uma respirada e "
+"publique novamente daqui a alguns minutos."
 
 #: classes/Notice.php:247
 msgid "You are banned from posting notices on this site."
-msgstr "Você foi banido de publicar mensagens nesse site."
+msgstr "Você está proibido de publicar mensagens neste site."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
-msgstr "Problema ao salvar a mensagem."
+msgstr "Problema no salvamento da mensagem."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Erro no banco de dados na inserção da reposta: %s"
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
 
 #: classes/User.php:368
-#, fuzzy, php-format
+#, php-format
 msgid "Welcome to %1$s, @%2$s!"
-msgstr "Mensagem para %1$s no %2$s"
+msgstr "Bem vindo(a) a %1$s, @%2$s!"
 
 #: classes/User_group.php:380
 msgid "Could not create group."
 msgstr "Não foi possível criar o grupo."
 
 #: classes/User_group.php:409
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Não foi possível salvar a assinatura."
+msgstr "Não foi possível configurar a associação ao grupo."
 
 #: lib/accountsettingsaction.php:108
 msgid "Change your profile settings"
@@ -4169,16 +4144,15 @@ msgstr "Enviar um avatar"
 
 #: lib/accountsettingsaction.php:116
 msgid "Change your password"
-msgstr "Altere a sua senha"
+msgstr "Alterar a sua senha"
 
 #: lib/accountsettingsaction.php:120
 msgid "Change email handling"
 msgstr "Configurações de uso do e-mail"
 
 #: lib/accountsettingsaction.php:124
-#, fuzzy
 msgid "Design your profile"
-msgstr "O usuário não tem perfil."
+msgstr "Mude a aparência do seu perfil"
 
 #: lib/accountsettingsaction.php:128
 msgid "Other"
@@ -4197,244 +4171,237 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Página sem título"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Navegação primária no site"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Início"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
-msgstr "Perfil pessoal e mensagens dos amigos"
+msgstr "Perfil pessoal e fluxo de mensagens dos amigos"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Conta"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
-msgstr "Alterar email, avatar, senha, perfil"
+msgstr "Mude seu e-mail, avatar, senha, perfil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Conectar"
 
-#: lib/action.php:436
-#, fuzzy
+#: lib/action.php:437
 msgid "Connect to services"
-msgstr "Não foi possível redirecionar para o servidor: %s"
+msgstr "Conecte-se a outros serviços"
 
-#: lib/action.php:440
-#, fuzzy
+#: lib/action.php:441
 msgid "Change site configuration"
-msgstr "Navegação primária no site"
+msgstr "Mude as configurações do site"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Convidar"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convide seus amigos e colegas para unir-se a você no %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Sair"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
-msgstr "Sair deste site"
+msgstr "Sai do site"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
-msgstr "Criar uma nova conta"
+msgstr "Cria uma conta"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
-msgstr "Entrar"
+msgstr "Autentique-se no site"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Ajuda"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
-msgstr "Ajuda"
+msgstr "Ajudem-me!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Procurar"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
-msgstr "Pesquisar por pessoa ou texto"
+msgstr "Procura por pessoas ou textos"
 
-#: lib/action.php:485
-#, fuzzy
+#: lib/action.php:486
 msgid "Site notice"
-msgstr "Nova mensagem"
+msgstr "Mensagem do site"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
-msgstr ""
+msgstr "Visualizações locais"
 
-#: lib/action.php:617
-#, fuzzy
+#: lib/action.php:618
 msgid "Page notice"
-msgstr "Nova mensagem"
+msgstr "Notícia da página"
 
-#: lib/action.php:719
-#, fuzzy
+#: lib/action.php:720
 msgid "Secondary site navigation"
-msgstr "Navegação pelas assinaturas"
+msgstr "Navegação secundária no site"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Sobre"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
-msgstr ""
+msgstr "Termos de uso"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Privacidade"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Fonte"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Contato"
 
-#: lib/action.php:741
-#, fuzzy
+#: lib/action.php:742
 msgid "Badge"
-msgstr "Chamar a atenção"
+msgstr "Mini-aplicativo"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
-msgstr ""
+msgstr "Licença do software StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
-"**%%site.name%%** é um serviço de microblogagem disponibilizado por [%%site."
+"**%%site.name%%** é um serviço de microblog disponibilizado por [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
-msgstr "**%%site.name%%** é um serviço de microblogagem. "
+msgstr "**%%site.name%%** é um serviço de microblog. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
 "s, available under the [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
-"Ele funciona sob o software de microblogagem [StatusNet](http://status."
-"net/), versão %s, disponível sob a [GNU Affero General Public License] "
-"(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
+"Ele funciona sobre o software de microblog [StatusNet](http://status.net/), "
+"versão %s, disponível sob a [GNU Affero General Public License] (http://www."
+"fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
-#, fuzzy
+#: lib/action.php:791
 msgid "Site content license"
-msgstr "Procure no conteúdo das mensagens"
+msgstr "Licença do conteúdo do site"
 
-#: lib/action.php:799
-#, fuzzy
+#: lib/action.php:800
 msgid "All "
-msgstr "Todas"
+msgstr "Todas "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
-msgstr "licença"
+msgstr "licença."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Paginação"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Próximo"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Anterior"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
-msgstr ""
-"Ocorreu um problema com o seu token de sessão. Tente novamente, por favor."
+msgstr "Ocorreu um problema com o seu token de sessão."
 
 #: lib/adminpanelaction.php:96
-#, fuzzy
 msgid "You cannot make changes to this site."
-msgstr "Você não pode enviar uma mensagem para esse usuário."
+msgstr "Você não pode fazer alterações neste site."
 
 #: lib/adminpanelaction.php:195
-#, fuzzy
 msgid "showForm() not implemented."
-msgstr "O comando não foi implementado ainda."
+msgstr "showForm() não implementado."
 
 #: lib/adminpanelaction.php:224
-#, fuzzy
 msgid "saveSettings() not implemented."
-msgstr "O comando não foi implementado ainda."
+msgstr "saveSettings() não implementado."
 
 #: lib/adminpanelaction.php:247
-#, fuzzy
 msgid "Unable to delete design setting."
-msgstr "Não foi possível salvar suas configurações do Twitter!"
+msgstr "Não foi possível excluir as configurações da aparência."
 
 #: lib/adminpanelaction.php:300
-#, fuzzy
 msgid "Basic site configuration"
-msgstr "Confirmação do endereço de e-mail"
+msgstr "Configuração básica do site"
 
 #: lib/adminpanelaction.php:303
-#, fuzzy
 msgid "Design configuration"
-msgstr "Confirmação de SMS"
+msgstr "Configuração da aparência"
 
 #: lib/adminpanelaction.php:306 lib/adminpanelaction.php:309
-#, fuzzy
 msgid "Paths configuration"
-msgstr "Confirmação de SMS"
+msgstr "Configuração dos caminhos"
 
 #: lib/attachmentlist.php:87
 msgid "Attachments"
-msgstr ""
+msgstr "Anexos"
 
 #: lib/attachmentlist.php:265
 msgid "Author"
-msgstr ""
+msgstr "Autor"
 
 #: lib/attachmentlist.php:278
-#, fuzzy
 msgid "Provider"
-msgstr "Perfil"
+msgstr "Operadora"
 
 #: lib/attachmentnoticesection.php:67
 msgid "Notices where this attachment appears"
-msgstr ""
+msgstr "Mensagens onde este anexo aparece"
 
 #: lib/attachmenttagcloudsection.php:48
 msgid "Tags for this attachment"
-msgstr ""
+msgstr "Etiquetas para este anexo"
+
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Alterar a senha"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Alterar a senha"
 
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
@@ -4453,19 +4420,18 @@ msgid "Sorry, this command is not yet implemented."
 msgstr "Desculpe, mas esse comando ainda não foi implementado."
 
 #: lib/command.php:88
-#, fuzzy, php-format
+#, php-format
 msgid "Could not find a user with nickname %s"
-msgstr ""
-"Não foi possível atualizar o usuário com o endereço de e-mail confirmado."
+msgstr "Não foi possível encontrar um usuário com a identificação %s"
 
 #: lib/command.php:92
 msgid "It does not make a lot of sense to nudge yourself!"
-msgstr ""
+msgstr "Não faz muito sentido chamar a sua própria atenção!"
 
 #: lib/command.php:99
-#, fuzzy, php-format
+#, php-format
 msgid "Nudge sent to %s"
-msgstr "Chamada de atenção enviada"
+msgstr "Foi enviada a chamada de atenção para %s"
 
 #: lib/command.php:126
 #, php-format
@@ -4474,10 +4440,13 @@ msgid ""
 "Subscribers: %2$s\n"
 "Notices: %3$s"
 msgstr ""
+"Assinaturas: %1$s\n"
+"Assinantes: %2$s\n"
+"Mensagens: %3$s"
 
 #: lib/command.php:152 lib/command.php:399 lib/command.php:460
 msgid "Notice with that id does not exist"
-msgstr ""
+msgstr "Não existe uma mensagem com essa id"
 
 #: lib/command.php:168 lib/command.php:415 lib/command.php:476
 #: lib/command.php:532
@@ -4514,50 +4483,46 @@ msgid "About: %s"
 msgstr "Sobre: %s"
 
 #: lib/command.php:358 scripts/xmppdaemon.php:301
-#, fuzzy, php-format
+#, php-format
 msgid "Message too long - maximum is %d characters, you sent %d"
 msgstr ""
-"A mensagem é muito extensa - o máximo são 140 caracteres e você enviou %d"
+"A mensagem é muito extensa - o máximo são %d caracteres e você enviou %d"
 
 #: lib/command.php:378
 msgid "Error sending direct message."
 msgstr "Ocorreu um erro durante o envio da mensagem direta."
 
 #: lib/command.php:422
-#, fuzzy
 msgid "Cannot repeat your own notice"
-msgstr "Não é possível ligar a notificação."
+msgstr "Você não pode repetir sua própria mensagem"
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "Excluir esta mensagem"
+msgstr "Você já repetiu essa mensagem"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Mensagem publicada"
+msgstr "Mensagem de %s repetida"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "Problema ao salvar a mensagem."
+msgstr "Erro na repetição da mensagem."
 
 #: lib/command.php:491
-#, fuzzy, php-format
+#, php-format
 msgid "Notice too long - maximum is %d characters, you sent %d"
 msgstr ""
-"A mensagem é muito extensa - o máximo são 140 caracteres e você enviou %d"
+"A mensagem é muito extensa - o máximo são %d caracteres e você enviou %d"
 
 #: lib/command.php:500
-#, fuzzy, php-format
+#, php-format
 msgid "Reply to %s sent"
-msgstr "Responder a esta mensagem"
+msgstr "A resposta a %s foi enviada"
 
 #: lib/command.php:502
-#, fuzzy
 msgid "Error saving notice."
-msgstr "Problema ao salvar a mensagem."
+msgstr "Erro no salvamento da mensagem."
 
 #: lib/command.php:556
 msgid "Specify the name of the user to subscribe to"
@@ -4570,7 +4535,7 @@ msgstr "Efetuada a assinatura de %s"
 
 #: lib/command.php:584
 msgid "Specify the name of the user to unsubscribe from"
-msgstr "Especifique o nome do usuário que deixará de ser assinado"
+msgstr "Especifique o nome do usuário cuja assinatura será cancelada"
 
 #: lib/command.php:591
 #, php-format
@@ -4587,7 +4552,7 @@ msgstr "Notificação desligada."
 
 #: lib/command.php:614
 msgid "Can't turn off notification."
-msgstr "Não é possível desligar a notificação"
+msgstr "Não é possível desligar a notificação."
 
 #: lib/command.php:635
 msgid "Notification on."
@@ -4599,50 +4564,49 @@ msgstr "Não é possível ligar a notificação."
 
 #: lib/command.php:650
 msgid "Login command is disabled"
-msgstr ""
+msgstr "O comando para autenticação está desabilitado"
 
 #: lib/command.php:664
-#, fuzzy, php-format
+#, php-format
 msgid "Could not create login token for %s"
-msgstr "Não foi possível criar a favorita."
+msgstr "Não foi possível criar o token de autenticação para %s"
 
 #: lib/command.php:669
 #, php-format
 msgid "This link is useable only once, and is good for only 2 minutes: %s"
 msgstr ""
+"Este link é utilizável somente uma vez e é válido somente por dois minutos: %"
+"s"
 
 #: lib/command.php:685
-#, fuzzy
 msgid "You are not subscribed to anyone."
-msgstr "Você não está assinando esse perfil."
+msgstr "Você não está assinando ninguém."
 
 #: lib/command.php:687
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
-msgstr[0] "Você já está assinando esses usuários:"
-msgstr[1] "Você já está assinando esses usuários:"
+msgstr[0] "Você já está assinando esta pessoa:"
+msgstr[1] "Você já está assinando estas pessoas:"
 
 #: lib/command.php:707
-#, fuzzy
 msgid "No one is subscribed to you."
-msgstr "Não foi possível fazer com que o outros o sigam."
+msgstr "Ninguém o assinou ainda."
 
 #: lib/command.php:709
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
-msgstr[0] "Não foi possível fazer com que o outros o sigam."
-msgstr[1] "Não foi possível fazer com que o outros o sigam."
+msgstr[0] "Esta pessoa está assinando você:"
+msgstr[1] "Estas pessoas estão assinando você:"
 
 #: lib/command.php:729
-#, fuzzy
 msgid "You are not a member of any groups."
-msgstr "Você não está assinando esse perfil."
+msgstr "Você não é membro de nenhum grupo."
 
 #: lib/command.php:731
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
-msgstr[0] "Você não é membro deste grupo."
-msgstr[1] "Você não é membro deste grupo."
+msgstr[0] "Você é membro deste grupo:"
+msgstr[1] "Você é membro destes grupos:"
 
 #: lib/command.php:745
 msgid ""
@@ -4684,32 +4648,68 @@ msgid ""
 "tracks - not yet implemented.\n"
 "tracking - not yet implemented.\n"
 msgstr ""
+"Comandos:\n"
+"on - ativa as notificações\n"
+"off - desativa as notificações\n"
+"help - exibe esta ajuda\n"
+"follow <identificação> - assina o usuário\n"
+"groups - lista os grupos aos quais você se associou\n"
+"subscriptions - lista as pessoas que você segue\n"
+"subscribers - lista as pessoas que seguem você\n"
+"leave <identificação> - deixa de assinar o usuário\n"
+"d <identificação> <texto> - mensagem direta para o usuário\n"
+"get <nickname> - obtém a última mensagem do usuário\n"
+"whois <nickname> - obtém as informações do perfil do usuário\n"
+"fav <identificação> - adiciona a último mensagem do usuário como uma "
+"'favorita'\n"
+"fav #<id_da_mensagem> - adiciona a mensagem identificada como 'favorita'\n"
+"repeat #<id_da_mensagem> - repete a mensagem identificada\n"
+"repeat <identificação> - repete a última mensagem do usuário\n"
+"reply #<id_da_mensagem> - responde a mensagem identificada\n"
+"reply <identificação> - responde a última mensagem do usuário\n"
+"join <grupo> - associa-se ao grupo\n"
+"login - obtém um link para se autenticar na interface web\n"
+"drop <grupo> - deixa o grupo\n"
+"stats - obtém suas estatísticas\n"
+"stop - o mesmo que 'off'\n"
+"quit - o mesmo que 'off'\n"
+"sub <identificação> - o mesmo que 'follow'\n"
+"unsub <identificação> - o mesmo que 'leave'\n"
+"last <identificação> - o mesmo que 'get'\n"
+"on <identificação> - não implementado ainda\n"
+"off <identificação> - não implementado ainda\n"
+"nudge <identificação> - chama a atenção do usuário\n"
+"invite <número_de_ telefone> - não implementado ainda\n"
+"track <palavra> - não implementado ainda\n"
+"untrack <palavra> - não implementado ainda\n"
+"track off -  não implementado ainda\n"
+"untrack all -  não implementado ainda\n"
+"tracks -  não implementado ainda\n"
+"tracking -  não implementado ainda\n"
 
 #: lib/common.php:199
-#, fuzzy
 msgid "No configuration file found. "
-msgstr "Nenhum código de confirmação."
+msgstr "Não foi encontrado nenhum arquivo de configuração. "
 
 #: lib/common.php:200
 msgid "I looked for configuration files in the following places: "
-msgstr ""
+msgstr "Eu procurei pelos arquivos de configuração nos seguintes lugares: "
 
 #: lib/common.php:201
 msgid "You may wish to run the installer to fix this."
-msgstr ""
+msgstr "Você pode querer executar o instalador para corrigir isto."
 
 #: lib/common.php:202
-#, fuzzy
 msgid "Go to the installer."
-msgstr "Entrar"
+msgstr "Ir para o instalador."
 
 #: lib/connectsettingsaction.php:110
 msgid "IM"
-msgstr "IM"
+msgstr "MI"
 
 #: lib/connectsettingsaction.php:111
 msgid "Updates by instant messenger (IM)"
-msgstr "Atualizações via instant messenger (IM)"
+msgstr "Atualizações via mensageiro instantâneo (MI)"
 
 #: lib/connectsettingsaction.php:116
 msgid "Updates by SMS"
@@ -4717,26 +4717,25 @@ msgstr "Atualizações via SMS"
 
 #: lib/dberroraction.php:60
 msgid "Database error"
-msgstr ""
+msgstr "Erro no banco de dados"
 
 #: lib/designsettings.php:105
-#, fuzzy
 msgid "Upload file"
-msgstr "Enviar"
+msgstr "Enviar arquivo"
 
 #: lib/designsettings.php:109
-#, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
-msgstr "Você pode enviar seu avatar pessoal. O tamanho máximo do arquivo é %s"
+msgstr ""
+"Você pode enviar sua imagem de fundo. O tamanho máximo do arquivo é de 2Mb."
 
 #: lib/designsettings.php:418
 msgid "Design defaults restored."
-msgstr ""
+msgstr "A aparência padrão foi restaurada."
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr "Tirar das favoritas"
+msgstr "Excluir das favoritas"
 
 #: lib/favorform.php:114 lib/favorform.php:140
 msgid "Favor this notice"
@@ -4748,19 +4747,19 @@ msgstr "Tornar favorita"
 
 #: lib/feed.php:85
 msgid "RSS 1.0"
-msgstr ""
+msgstr "RSS 1.0"
 
 #: lib/feed.php:87
 msgid "RSS 2.0"
-msgstr ""
+msgstr "RSS 2.0"
 
 #: lib/feed.php:89
 msgid "Atom"
-msgstr ""
+msgstr "Atom"
 
 #: lib/feed.php:91
 msgid "FOAF"
-msgstr ""
+msgstr "FOAF"
 
 #: lib/feedlist.php:64
 msgid "Export data"
@@ -4775,9 +4774,8 @@ msgid "All"
 msgstr "Todas"
 
 #: lib/galleryaction.php:139
-#, fuzzy
 msgid "Select tag to filter"
-msgstr "Selecione uma operadora"
+msgstr "Selecione a etiqueta para filtrar"
 
 #: lib/galleryaction.php:140
 msgid "Tag"
@@ -4793,17 +4791,16 @@ msgstr "Ir"
 
 #: lib/groupeditform.php:163
 msgid "URL of the homepage or blog of the group or topic"
-msgstr "URL para seu site, blog ou perfil em outro site"
+msgstr "URL para o site ou blog do grupo ou tópico"
 
 #: lib/groupeditform.php:168
-#, fuzzy
 msgid "Describe the group or topic"
-msgstr "Descreva o grupo ou tópico em 140 caracteres."
+msgstr "Descreva o grupo ou tópico"
 
 #: lib/groupeditform.php:170
-#, fuzzy, php-format
+#, php-format
 msgid "Describe the group or topic in %d characters"
-msgstr "Descreva o grupo ou tópico em 140 caracteres."
+msgstr "Descreva o grupo ou tópico em %d caracteres."
 
 #: lib/groupeditform.php:172
 msgid "Description"
@@ -4812,26 +4809,28 @@ msgstr "Descrição"
 #: lib/groupeditform.php:179
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "Onde você está, ex: \"cidade, estado (ou região), país\""
+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 ""
+"Apelidos extras para o grupo, separado por vírgulas ou espaços, no máximo %d"
 
 #: lib/groupnav.php:85
 msgid "Group"
 msgstr "Grupo"
 
 #: lib/groupnav.php:101
-#, fuzzy
 msgid "Blocked"
-msgstr "Bloquear"
+msgstr "Bloqueados"
 
 #: lib/groupnav.php:102
-#, fuzzy, php-format
+#, php-format
 msgid "%s blocked users"
-msgstr "Bloquear usuário"
+msgstr "%s usuários bloqueados"
 
 #: lib/groupnav.php:108
 #, php-format
@@ -4848,9 +4847,9 @@ msgid "Add or edit %s logo"
 msgstr "Adicionar ou editar logo de %s"
 
 #: lib/groupnav.php:120
-#, fuzzy, php-format
+#, php-format
 msgid "Add or edit %s design"
-msgstr "Adicionar ou editar logo de %s"
+msgstr "Adicionar ou editar a aparência de %s"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
@@ -4870,9 +4869,9 @@ msgid "This page is not available in a media type you accept"
 msgstr "Esta página não está disponível em um tipo de mídia que você aceita"
 
 #: lib/imagefile.php:75
-#, fuzzy, php-format
+#, php-format
 msgid "That file is too big. The maximum file size is %s."
-msgstr "Você pode enviar seu avatar pessoal."
+msgstr "O arquivo é muito grande. O tamanho máximo é de %s."
 
 #: lib/imagefile.php:80
 msgid "Partial upload."
@@ -4900,16 +4899,16 @@ msgstr "Tipo de arquivo desconhecido"
 
 #: lib/imagefile.php:217
 msgid "MB"
-msgstr ""
+msgstr "Mb"
 
 #: lib/imagefile.php:219
 msgid "kB"
-msgstr ""
+msgstr "Kb"
 
 #: lib/jabber.php:191
 #, php-format
 msgid "[%s]"
-msgstr ""
+msgstr "[%s]"
 
 #: lib/joinform.php:114
 msgid "Join"
@@ -4921,7 +4920,7 @@ msgstr "Sair"
 
 #: lib/logingroupnav.php:80
 msgid "Login with a username and password"
-msgstr "Autentique-se com um nome de usuário e senha"
+msgstr "Autentique-se com um nome de usuário e uma senha"
 
 #: lib/logingroupnav.php:86
 msgid "Sign up for a new account"
@@ -4947,14 +4946,26 @@ msgid ""
 "Thanks for your time, \n"
 "%s\n"
 msgstr ""
+"Olá, %s.\n"
+"\n"
+"Alguém digitou este endereço de e-mail no %s.\n"
+"\n"
+"Se foi você, e caso queira confirmar a sua entrada, use a URL abaixo:\n"
+"\n"
+"\t%s\n"
+"\n"
+"Caso contrário, simplesmente ignore esta mesagem.\n"
+"\n"
+"Obrigado pela sua atenção, \n"
+"%s\n"
 
 #: lib/mail.php:236
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s agora está acompanhando suas mensagens em %2$s."
+msgstr "%1$s agora está acompanhando suas mensagens no %2$s."
 
 #: lib/mail.php:241
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "%1$s is now listening to your notices on %2$s.\n"
 "\n"
@@ -4967,12 +4978,16 @@ msgid ""
 "----\n"
 "Change your email address or notification options at %8$s\n"
 msgstr ""
-"%1$s agora está acompanhando suas mensagens em %2$s.\n"
+"%1$s agora está acompanhando suas mensagens no %2$s.\n"
 "\n"
 "\t%3$s\n"
 "\n"
-"Cordialmente,\n"
-"%4$s.\n"
+"%4$s%5$s%6$s\n"
+"Atenciosamente,\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Altere seu endereço de e-mail e suas opções de notificação em %8$s\n"
 
 #: lib/mail.php:254
 #, php-format
@@ -4996,7 +5011,7 @@ msgstr ""
 #: lib/mail.php:286
 #, php-format
 msgid "New email address for posting to %s"
-msgstr "Novo endereço de e-mail para postar para %s"
+msgstr "Novo endereço de e-mail para publicar no %s"
 
 #: lib/mail.php:289
 #, php-format
@@ -5022,7 +5037,7 @@ msgstr ""
 #: lib/mail.php:413
 #, php-format
 msgid "%s status"
-msgstr "Status de %s"
+msgstr "Mensagem de %s"
 
 #: lib/mail.php:439
 msgid "SMS confirmation"
@@ -5048,6 +5063,17 @@ msgid ""
 "With kind regards,\n"
 "%4$s\n"
 msgstr ""
+"%1$s (%2$s) quer saber notícias suas e o está convidando para publicar "
+"alguma mensagem..\n"
+"\n"
+"Por isso, vamos ouvir o que você tem a dizer. :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"Não responda este e-mail, pois ele não chegará ao remetente.\n"
+"\n"
+"Atenciosamente,\n"
+"%4$s\n"
 
 #: lib/mail.php:510
 #, php-format
@@ -5072,11 +5098,25 @@ msgid ""
 "With kind regards,\n"
 "%5$s\n"
 msgstr ""
+"%1$s (%2$s) lhe enviou uma mensagem particular:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"Você pode responder a mensagem aqui:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Não responda este e-mail, pois ele não chegará ao remetente.\n"
+"\n"
+"Atenciosamente,\n"
+"%5$s\n"
 
 #: lib/mail.php:559
-#, fuzzy, php-format
+#, php-format
 msgid "%s (@%s) added your notice as a favorite"
-msgstr "%s marcaram sua mensagem como favorita"
+msgstr "%s (@%s) marcou sua mensagem como favorita"
 
 #: lib/mail.php:561
 #, php-format
@@ -5098,13 +5138,29 @@ msgid ""
 "Faithfully yours,\n"
 "%6$s\n"
 msgstr ""
+"%1$s (@%7$s) acabou de adicionar sua mensagem do %2$s como uma favorita.\n"
+"\n"
+"A URL da sua mensagem é:\n"
+"\n"
+"%3$s\n"
+"\n"
+"O texto da sua mensagem é:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Você pode ver a lista de favoritas de %1$saqui:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Atenciosamente,\n"
+"%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) enviou uma mensagem citando você"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5118,6 +5174,17 @@ msgid ""
 "\t%4$s\n"
 "\n"
 msgstr ""
+"%1$s (@%9$s) acabou de enviar uma mensagem citando você ('@usuário') no %2"
+"$s.\n"
+"\n"
+"A mensagem está aqui:\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"Está escrito:\n"
+"\n"
+"\t%4$s\n"
+"\n"
 
 #: lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
@@ -5128,64 +5195,71 @@ msgid ""
 "You have no private messages. You can send private message to engage other "
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
+"Você não tem nenhuma mensagem particular. Você pode enviar mensagens "
+"privadas para envolver outras pessoas em uma conversa. Você também pode "
+"receber mensagens privadas."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
-#, fuzzy
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
-msgstr " de "
+msgstr "de"
 
 #: lib/mediafile.php:98 lib/mediafile.php:123
 msgid "There was a database error while saving your file. Please try again."
 msgstr ""
+"Ocorreu um erro no banco de dados durante o salvamento do seu arquivo. Por "
+"favor, tente novamente."
 
 #: lib/mediafile.php:142
 msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
 msgstr ""
+"O arquivo a ser enviado é maior do que o limite definido no parâmetro "
+"upload_max_filesize do php.ini."
 
 #: lib/mediafile.php:147
 msgid ""
 "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
 "the HTML form."
 msgstr ""
+"O arquivo a ser enviado é maior do que o limite definido no parâmetro "
+"MAX_FILE_SIZE do formulário HTML."
 
 #: lib/mediafile.php:152
 msgid "The uploaded file was only partially uploaded."
-msgstr ""
+msgstr "O arquivo foi apenas parcialmente enviado."
 
 #: lib/mediafile.php:159
 msgid "Missing a temporary folder."
-msgstr ""
+msgstr "Falta uma pasta temporária."
 
 #: lib/mediafile.php:162
 msgid "Failed to write file to disk."
-msgstr ""
+msgstr "Erro ao salvar o arquivo no disco."
 
 #: lib/mediafile.php:165
 msgid "File upload stopped by extension."
-msgstr ""
+msgstr "O arquivo a ser enviado foi barrado por causa de sua extensão."
 
 #: lib/mediafile.php:179 lib/mediafile.php:216
 msgid "File exceeds user's quota!"
-msgstr ""
+msgstr "O arquivo excede a quota do usuário!"
 
 #: lib/mediafile.php:196 lib/mediafile.php:233
 msgid "File could not be moved to destination directory."
-msgstr ""
+msgstr "Não foi possível mover o arquivo para o diretório de destino."
 
 #: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
 msgid "Could not determine file's mime-type!"
-msgstr "Não foi possível excluir a favorita."
+msgstr "Não foi possível determinar o mime-type do arquivo!"
 
 #: lib/mediafile.php:270
 #, php-format
 msgid " Try using another %s format."
-msgstr ""
+msgstr " Tente usar outro formato %s."
 
 #: lib/mediafile.php:275
 #, php-format
 msgid "%s is not a supported filetype on this server."
-msgstr ""
+msgstr "%s não é um tipo de arquivo suportado neste servidor."
 
 #: lib/messageform.php:120
 msgid "Send a direct notice"
@@ -5195,75 +5269,75 @@ msgstr "Enviar uma mensagem direta"
 msgid "To"
 msgstr "Para"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Caracteres disponíveis"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Enviar uma mensagem"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "E aí, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
-msgstr ""
+msgstr "Anexo"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
-msgstr ""
+msgstr "Anexar um arquivo"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Indique a sua localização"
 
-#: lib/noticelist.php:420
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
-msgstr ""
+msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
-#, fuzzy
+#: lib/noticelist.php:429
 msgid "N"
-msgstr "Não"
+msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
-msgstr ""
+msgstr "S"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
-msgstr ""
+msgstr "L"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
-msgstr ""
+msgstr "O"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
-msgstr ""
+msgstr "em"
 
-#: lib/noticelist.php:523
-#, fuzzy
+#: lib/noticelist.php:531
 msgid "in context"
-msgstr "Nenhum conteúdo!"
+msgstr "no contexto"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "Criar"
+msgstr "Repetida por"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Responder a esta mensagem"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Responder"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Mensagem publicada"
+msgstr "Mensagem repetida"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5290,14 +5364,12 @@ msgid "Error inserting remote profile"
 msgstr "Erro na inserção do perfil remoto"
 
 #: lib/oauthstore.php:345
-#, fuzzy
 msgid "Duplicate notice"
-msgstr "Excluir a mensagem"
+msgstr "Duplicar a mensagem"
 
 #: lib/oauthstore.php:466 lib/subs.php:48
-#, fuzzy
 msgid "You have been banned from subscribing."
-msgstr "Esse usuário bloqueou o seu pedido de assinatura."
+msgstr "Você está proibido de assinar."
 
 #: lib/oauthstore.php:491
 msgid "Couldn't insert new subscription."
@@ -5349,14 +5421,12 @@ msgid "Subscribers"
 msgstr "Assinantes"
 
 #: lib/profileaction.php:157
-#, fuzzy
 msgid "All subscribers"
-msgstr "Assinantes"
+msgstr "Todos os assinantes"
 
 #: lib/profileaction.php:178
-#, fuzzy
 msgid "User ID"
-msgstr "Usuário"
+msgstr "ID do usuário"
 
 #: lib/profileaction.php:183
 msgid "Member since"
@@ -5364,16 +5434,15 @@ msgstr "Membro desde"
 
 #: lib/profileaction.php:245
 msgid "All groups"
-msgstr ""
+msgstr "Todos os grupos"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "Nenhum argumento de ID."
+msgstr "Sem argumentos return-to."
 
 #: lib/profileformaction.php:137
 msgid "Unimplemented method."
-msgstr ""
+msgstr "Método não implementado."
 
 #: lib/publicgroupnav.php:78
 msgid "Public"
@@ -5389,45 +5458,39 @@ msgstr "Etiquetas recentes"
 
 #: lib/publicgroupnav.php:88
 msgid "Featured"
-msgstr "Destacada"
+msgstr "Em destaque"
 
 #: lib/publicgroupnav.php:92
 msgid "Popular"
 msgstr "Popular"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat this notice"
-msgstr "Responder a esta mensagem"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Repetir esta mensagem?"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "Restaurar"
+msgid "Repeat this notice"
+msgstr "Repetir esta mensagem"
 
 #: lib/sandboxform.php:67
-#, fuzzy
 msgid "Sandbox"
-msgstr "Recebidas"
+msgstr "Isolamento"
 
 #: lib/sandboxform.php:78
-#, fuzzy
 msgid "Sandbox this user"
-msgstr "Desbloquear este usuário"
+msgstr "Colocar este usuário em isolamento"
 
 #: lib/searchaction.php:120
-#, fuzzy
 msgid "Search site"
-msgstr "Procurar"
+msgstr "Procurar no site"
 
 #: lib/searchaction.php:126
 msgid "Keyword(s)"
-msgstr ""
+msgstr "Palavra(s)-chave"
 
 #: lib/searchaction.php:162
-#, fuzzy
 msgid "Search help"
-msgstr "Procurar"
+msgstr "Ajuda da procura"
 
 #: lib/searchgroupnav.php:80
 msgid "People"
@@ -5435,15 +5498,15 @@ msgstr "Pessoas"
 
 #: lib/searchgroupnav.php:81
 msgid "Find people on this site"
-msgstr "Procure por pessoas neste site"
+msgstr "Encontre pessoas neste site"
 
 #: lib/searchgroupnav.php:83
 msgid "Find content of notices"
-msgstr "Procure no conteúdo das mensagens"
+msgstr "Encontre conteúdo de mensagens"
 
 #: lib/searchgroupnav.php:85
 msgid "Find groups on this site"
-msgstr "Procurar por grupos neste site"
+msgstr "Encontre grupos neste site"
 
 #: lib/section.php:89
 msgid "Untitled section"
@@ -5451,22 +5514,20 @@ msgstr "Seção sem título"
 
 #: lib/section.php:106
 msgid "More..."
-msgstr ""
+msgstr "Mais..."
 
 #: lib/silenceform.php:67
-#, fuzzy
 msgid "Silence"
-msgstr "Nova mensagem"
+msgstr "Silenciar"
 
 #: lib/silenceform.php:78
-#, fuzzy
 msgid "Silence this user"
-msgstr "Bloquear usuário"
+msgstr "Silenciar este usuário"
 
 #: lib/subgroupnav.php:83
 #, php-format
 msgid "People %s subscribes to"
-msgstr "Pessoas que %s assina"
+msgstr "Assinaturas de %s"
 
 #: lib/subgroupnav.php:91
 #, php-format
@@ -5476,11 +5537,11 @@ msgstr "Assinantes de %s"
 #: lib/subgroupnav.php:99
 #, php-format
 msgid "Groups %s is a member of"
-msgstr "O grupo %s é membro de"
+msgstr "Grupos dos quais %s é membro"
 
 #: lib/subs.php:52
 msgid "Already subscribed!"
-msgstr ""
+msgstr "Já assinado!"
 
 #: lib/subs.php:56
 msgid "User has blocked you."
@@ -5492,17 +5553,15 @@ msgstr "Não foi possível assinar."
 
 #: lib/subs.php:79
 msgid "Could not subscribe other to you."
-msgstr "Não foi possível fazer com que o outros o sigam."
+msgstr "Não foi possível fazer com que outros o assinem."
 
 #: lib/subs.php:128
-#, fuzzy
 msgid "Not subscribed!"
-msgstr "Não é seguido!"
+msgstr "Não assinado!"
 
 #: lib/subs.php:133
-#, fuzzy
 msgid "Couldn't delete self-subscription."
-msgstr "Não foi possível excluir a assinatura."
+msgstr "Não foi possível excluir a auto-assinatura."
 
 #: lib/subs.php:146
 msgid "Couldn't delete subscription."
@@ -5511,16 +5570,16 @@ msgstr "Não foi possível excluir a assinatura."
 #: lib/subscriberspeopleselftagcloudsection.php:48
 #: lib/subscriptionspeopleselftagcloudsection.php:48
 msgid "People Tagcloud as self-tagged"
-msgstr ""
+msgstr "Nuvem de etiquetas pessoais definidas pelas próprios usuários"
 
 #: lib/subscriberspeopletagcloudsection.php:48
 #: lib/subscriptionspeopletagcloudsection.php:48
 msgid "People Tagcloud as tagged"
-msgstr ""
+msgstr "Nuvem de etiquetas pessoais definidas pelos outros usuário"
 
 #: lib/subscriptionlist.php:126
 msgid "(none)"
-msgstr "(nenhum)"
+msgstr "(nada)"
 
 #: lib/tagcloudsection.php:56
 msgid "None"
@@ -5532,21 +5591,19 @@ msgstr "Quem mais publica"
 
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
-msgstr ""
+msgstr "Tirar do isolamento"
 
 #: lib/unsandboxform.php:80
-#, fuzzy
 msgid "Unsandbox this user"
-msgstr "Desbloquear este usuário"
+msgstr "Tirar este usuário do isolamento"
 
 #: lib/unsilenceform.php:67
 msgid "Unsilence"
-msgstr ""
+msgstr "Encerrar silenciamento"
 
 #: lib/unsilenceform.php:78
-#, fuzzy
 msgid "Unsilence this user"
-msgstr "Desbloquear este usuário"
+msgstr "Encerrar o silenciamento deste usuário"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
@@ -5557,91 +5614,86 @@ msgid "Unsubscribe"
 msgstr "Cancelar"
 
 #: lib/userprofile.php:116
-#, fuzzy
 msgid "Edit Avatar"
-msgstr "Avatar"
+msgstr "Editar o avatar"
 
 #: lib/userprofile.php:236
-#, fuzzy
 msgid "User actions"
-msgstr "Outras opções"
+msgstr "Ações do usuário"
 
 #: lib/userprofile.php:248
-#, fuzzy
 msgid "Edit profile settings"
-msgstr "Configurações do perfil"
+msgstr "Editar as configurações do perfil"
 
 #: lib/userprofile.php:249
 msgid "Edit"
-msgstr ""
+msgstr "Editar"
 
 #: lib/userprofile.php:272
-#, fuzzy
 msgid "Send a direct message to this user"
-msgstr "Você não pode enviar uma mensagem para esse usuário."
+msgstr "Enviar uma mensagem para este usuário."
 
 #: lib/userprofile.php:273
-#, fuzzy
 msgid "Message"
-msgstr "Nova mensagem"
+msgstr "Mensagem"
 
 #: lib/userprofile.php:311
 msgid "Moderate"
-msgstr ""
+msgstr "Moderar"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
-msgstr "segundos atrás"
+msgstr "alguns segundos atrás"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
-msgstr "1 min atrás"
+msgstr "cerca de 1 minuto atrás"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
-msgstr "%d mins atrás"
+msgstr "cerca de %d minutos atrás"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
-msgstr "1 hora atrás"
+msgstr "cerca de 1 hora atrás"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
-msgstr "%d horas atrás"
+msgstr "cerca de %d horas atrás"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
-msgstr "1 dia atrás"
+msgstr "cerca de 1 dia atrás"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
-msgstr "%d dias atrás"
+msgstr "cerca de %d dias atrás"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
-msgstr "1 mês atrás"
+msgstr "cerca de 1 mês atrás"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
-msgstr "%d meses atrás"
+msgstr "cerca de %d meses atrás"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
-msgstr "1 ano atrás"
+msgstr "cerca de 1 ano atrás"
 
 #: lib/webcolor.php:82
-#, fuzzy, php-format
+#, php-format
 msgid "%s is not a valid color!"
-msgstr "A URL do site informada não é válida."
+msgstr "%s não é uma cor válida!"
 
 #: lib/webcolor.php:123
 #, php-format
 msgid "%s is not a valid color! Use 3 or 6 hex chars."
-msgstr ""
+msgstr "%s não é uma cor válida! Utilize 3 ou 6 caracteres hexadecimais."
 
 #: scripts/maildaemon.php:48
 msgid "Could not parse message."
@@ -5657,4 +5709,4 @@ msgstr "Desculpe-me, mas este não é seu endereço de e-mail para recebimento."
 
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr "Desculpe-me, mas não é permitido o recebimento de emails."
+msgstr "Desculpe-me, mas não é permitido o recebimento de e-mails."
index 6f92e3832be9ddf9a0da8af3870ab98e42761946..b5301b1ab6f5ff5c5b07697ea11df302b8c0402e 100644 (file)
@@ -10,12 +10,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:00+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:28+0000\n"
 "Language-Team: Russian\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ru\n"
 "X-Message-Group: out-statusnet\n"
@@ -198,11 +198,11 @@ msgstr "Не удаётся обновить ваше оформление."
 msgid "You cannot block yourself!"
 msgstr "Вы не можете заблокировать самого себя!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Неудача при блокировке пользователя."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Неудача при разблокировке пользователя."
 
@@ -320,32 +320,32 @@ msgid "Could not find target user."
 msgstr "Не удаётся найти целевого пользователя."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 "Имя должно состоять только из прописных букв и цифр и не иметь пробелов."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Такое имя уже используется. Попробуйте какое-нибудь другое."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Неверное имя."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "URL Главной страницы неверен."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Полное имя слишком длинное (не больше 255 знаков)."
@@ -356,7 +356,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Слишком длинное описание (максимум %d символов)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Слишком длинное месторасположение (максимум 255 знаков)."
@@ -446,14 +446,12 @@ msgid "No such notice."
 msgstr "Нет такой записи."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Ð\95Ñ\81Ñ\82Ñ\8c Ð¾Ð¿Ð¾Ð²ÐµÑ\89ение."
+msgstr "Ð\9dевозможно Ð¿Ð¾Ð²Ñ\82оÑ\80иÑ\82Ñ\8c Ñ\81обÑ\81Ñ\82веннÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "УдалиÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c"
+msgstr "Ð\97апиÑ\81Ñ\8c Ñ\83же Ð¿Ð¾Ð²Ñ\82оÑ\80ена."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -473,7 +471,7 @@ msgstr "Слишком длинная запись. Максимальная д
 msgid "Not found"
 msgstr "Не найдено"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr "Максимальная длина записи — %d символов, включая URL вложения."
@@ -527,17 +525,17 @@ msgstr "Обновления %s от всех!"
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Повторено %s"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "Ð\9eÑ\82веÑ\82Ñ\8b для %s"
+msgstr "Ð\9fовÑ\82оÑ\80ено для %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "Ð\9eÑ\82веÑ\82Ñ\8b Ð´Ð»Ñ\8f %s"
+msgstr "Ð\9fовÑ\82оÑ\80Ñ\8b Ð·Ð° %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -603,7 +601,7 @@ msgid "Preview"
 msgstr "Просмотр"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Удалить"
 
@@ -616,13 +614,13 @@ msgid "Crop"
 msgstr "Обрезать"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -687,6 +685,7 @@ msgstr "Не блокировать этого пользователя"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Да"
 
@@ -694,7 +693,7 @@ msgstr "Да"
 msgid "Block this user"
 msgstr "Заблокировать пользователя."
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Не удаётся сохранить информацию о блокировании."
 
@@ -766,7 +765,7 @@ msgstr "Этот адрес уже подтверждён."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Не удаётся обновить пользователя."
@@ -828,7 +827,7 @@ msgstr "Вы уверены, что хотите удалить эту запи
 msgid "Do not delete this notice"
 msgstr "Не удалять эту запись"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Удалить эту запись"
 
@@ -966,8 +965,8 @@ msgstr "Восстановить значения по умолчанию"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1147,7 +1146,7 @@ msgstr "Нет электронного адреса."
 msgid "Cannot normalize that email address"
 msgstr "Не удаётся стандартизировать этот электронный адрес"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Неверный электронный адрес"
 
@@ -1281,28 +1280,24 @@ msgstr "Особые пользователи, страница %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "СпиÑ\81ок Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð°ÐºÑ\82ивнÑ\8bÑ\85, Ð·Ð½Ð°Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8bÑ\85 Ð¸ Ñ\83важаемых пользователей на %s"
+msgid "A selection of some great users on %s"
+msgstr "Ð\9dекоÑ\82оÑ\80Ñ\8bе Ð¸Ð· Ð¸Ð·Ð²ÐµÑ\81Ñ\82ных пользователей на %s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Ð\97апиÑ\81Ñ\8c Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82"
+msgstr "Ð\9dеÑ\82 ID Ð·Ð°Ð¿Ð¸Ñ\81и."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Запись отсутствует"
+msgstr "Запись отсутствует."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Нет вложений"
+msgstr "Нет вложений."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "Нет загруженных вложений"
+msgstr "Нет загруженных вложений."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1480,7 +1475,7 @@ msgstr "Участники группы %s, страница %d"
 msgid "A list of the users in this group."
 msgstr "Список пользователей, являющихся членами этой группы."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Настройки"
 
@@ -1578,7 +1573,7 @@ msgstr "Только администратор может разблокиро
 msgid "User is not blocked from group."
 msgstr "Пользователь не заблокировал вас из группы."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Ошибка при удалении данного блока."
 
@@ -1765,7 +1760,7 @@ msgstr "Личное сообщение"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Можно добавить к приглашению личное сообщение."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "ОК"
 
@@ -1887,7 +1882,7 @@ msgstr "Некорректное имя или пароль."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Ошибка установки пользователя. Вы, вероятно, не авторизованы."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Вход"
@@ -1999,7 +1994,7 @@ msgstr "Сообщение отправлено"
 msgid "Direct message to %s sent"
 msgstr "Прямое сообщение для %s послано"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ошибка AJAX"
 
@@ -2007,7 +2002,7 @@ msgstr "Ошибка AJAX"
 msgid "New notice"
 msgstr "Новая запись"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Запись опубликована"
 
@@ -2239,76 +2234,112 @@ msgstr "Директория фоновых изображений не дост
 msgid "Locales directory not readable: %s"
 msgstr "Директория локализаций не доступна для чтения: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Неверный SSL-сервер. Максимальная длина составляет 255 символов."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Сайт"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Путь"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Путь к сайту"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Пусть к локализациям"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Путь к директории локализаций"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Тема"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Сервер темы"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Путь темы"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Директория темы"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Аватары"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Сервер аватар"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Путь к аватарам"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Директория аватар"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Фоновые изображения"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Сервер фонового изображения"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Путь к фоновому изображению"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Директория фонового изображения"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Никогда"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Иногда"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Всегда"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Использовать SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Когда использовать SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-сервер"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Сервер, которому направлять SSL-запросы"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Сохранить пути"
 
@@ -2402,71 +2433,80 @@ msgstr "Месторасположение"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Где вы находитесь, например «Город, область, страна»"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Теги"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Теги для самого себя (буквы, цифры, -, ., и _), разделенные запятой или "
 "пробелом"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Язык"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Предпочитаемый язык"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Часовой пояс"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "В каком часовом поясе Вы обычно находитесь?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr "Автоматически подписываться на всех, кто подписался на меня"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Слишком длинная биография (максимум %d символов)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Часовой пояс не выбран."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Слишком длинный язык (более 50 символов). "
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Неверный тег: «%s»"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Не удаётся обновить пользователя для автоподписки."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Не удаётся сохранить теги."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Не удаётся сохранить профиль."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Не удаётся сохранить теги."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Настройки сохранены."
 
@@ -2571,7 +2611,7 @@ msgstr ""
 "Почему бы не [зарегистрироваться](%%action.register%%), чтобы отправить "
 "первым?"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Облако тегов"
 
@@ -2711,7 +2751,7 @@ msgstr "Извините, неверный пригласительный код
 msgid "Registration successful"
 msgstr "Регистрация успешна!"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Регистрация"
@@ -2762,7 +2802,7 @@ msgid "Same as password above. Required."
 msgstr "Тот же пароль что и сверху. Обязательное поле."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Email"
 
@@ -2888,36 +2928,28 @@ msgid "Couldn’t get a request token."
 msgstr "Не удаётся получить получить ключ запроса."
 
 #: actions/repeat.php:57
-#, fuzzy
 msgid "Only logged-in users can repeat notices."
-msgstr "ТолÑ\8cко Ñ\81ам Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c Ð¼Ð¾Ð¶ÐµÑ\82 Ñ\87иÑ\82аÑ\82Ñ\8c Ñ\81обÑ\81Ñ\82веннÑ\8bй Ð¿Ð¾Ñ\87Ñ\82овÑ\8bй Ñ\8fÑ\89ик."
+msgstr "Ð\9fовÑ\82оÑ\80Ñ\8fÑ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81и Ð¼Ð¾Ð³Ñ\83Ñ\82 Ñ\82олÑ\8cко Ð²Ð¾Ñ\88едÑ\88ие Ð¿Ð¾Ð»Ñ\8cзоваÑ\82ели."
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "Ð\9fÑ\80оÑ\84илÑ\8c Ð½Ðµ Ð¾Ð¿Ñ\80еделен."
+msgstr "Ð\9dе Ñ\83казана Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr ""
-"Вы не можете зарегистрироваться, если Вы не подтверждаете лицензионного "
-"соглашения."
+msgstr "Вы не можете повторить собственную запись."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "Ð\92Ñ\8b Ñ\83же Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ\80овали Ñ\8dÑ\82ого Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f."
+msgstr "Ð\92Ñ\8b Ñ\83же Ð¿Ð¾Ð²Ñ\82оÑ\80или Ñ\8dÑ\82Ñ\83 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "Создано"
+msgstr "Ð\9fовÑ\82оÑ\80ено"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "Создано"
+msgstr "Ð\9fовÑ\82оÑ\80ено!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
@@ -3256,9 +3288,9 @@ msgstr ""
 "net/)."
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "Ð\9eÑ\82веÑ\82Ñ\8b Ð´Ð»Ñ\8f %s"
+msgstr "Ð\9fовÑ\82оÑ\80 Ð·Ð° %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
@@ -3272,236 +3304,196 @@ msgstr "Пользователь уже заглушён."
 msgid "Basic settings for this StatusNet site."
 msgstr "Основные настройки для этого сайта StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Имя сайта должно быть ненулевой длины."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "У вас должен быть действительный контактный email-адрес"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Неизвестный язык «%s»"
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "Неверный URL отчёта снимка."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Неверное значение запуска снимка."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "Частота снимков должна быть числом."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Вы должны указать SSL-сервер при включении SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Неверный SSL-сервер. Максимальная длина составляет 255 символов."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "Минимальное ограничение текста составляет 140 символов."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "Ограничение дублирования должно составлять 1 или более секунд."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Базовые"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Имя сайта"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "Имя вашего сайта, например, «Yourcompany Microblog»"
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Предоставлено"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 "Текст, используемый для указания авторов в нижнем колонтитуле каждой страницы"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "URL-адрес поставщика услуг"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 "URL, используемый для ссылки на авторов в нижнем колонтитуле каждой страницы"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Контактный email-адрес для вашего сайта"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Внутренние настройки"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Часовой пояс по умолчанию"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Часовой пояс по умолчанию для сайта; обычно UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Язык сайта по умолчанию"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL-адреса"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Сервер"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Имя хоста сервера сайта."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "Короткие URL"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Использовать ли короткие (более читаемые и запоминаемые) URL-адреса?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Принять"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Личное"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 "Запретить анонимным (не авторизовавшимся) пользователям просматривать сайт?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Только по приглашениям"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Разрешить регистрацию только по приглашениям."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Закрыта"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Отключить новые регистрации."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Снимки"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "При случайном посещении"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "По заданному графику"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Никогда"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Снимки данных"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "Когда отправлять статистические данные на сервера status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Частота"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Снимки будут отправляться каждые N посещений"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "URL отчёта"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Снимки будут отправляться по этому URL-адресу"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Иногда"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Всегда"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Использовать SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Когда использовать SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "SSL-сервер"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Сервер, которому направлять SSL-запросы"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Границы"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Границы текста"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Максимальное число символов для записей."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Предел дубликатов"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Сколько нужно ждать пользователям (в секундах) для отправки того же ещё раз."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Сохранить настройки сайта"
 
@@ -3732,9 +3724,8 @@ msgid "Notice feed for tag %s (Atom)"
 msgstr "Лента записей для тега %s (Atom)"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
-msgstr "Нет ID аргумента."
+msgstr "Нет аргумента ID."
 
 #: actions/tagother.php:65
 #, php-format
@@ -4004,9 +3995,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Неверный тип изображения для URL аватары «%s»."
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "Нет ID"
+msgstr "Нет ID."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 msgid "Profile design"
@@ -4107,19 +4097,19 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Вам запрещено поститься на этом сайте (бан)"
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Проблемы с сохранением записи."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Ошибка баз данных при вставке ответа для %s"
 
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
 msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
 
 #: classes/User.php:368
 #, php-format
@@ -4171,128 +4161,128 @@ msgstr "%s (%s)"
 msgid "Untitled page"
 msgstr "Страница без названия"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Главная навигация"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Моё"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Личный профиль и лента друзей"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Настройки"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Изменить ваш email, аватару, пароль, профиль"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Соединить"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Соединить с сервисами"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Изменить конфигурацию сайта"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Пригласить"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Пригласи друзей и коллег стать такими же как ты участниками %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Выход"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Выйти"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Создать новый аккаунт"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Войти"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Помощь"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Помощь"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Поиск"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Искать людей или текст"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Новая запись"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Локальные виды"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Новая запись"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Навигация по подпискам"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "О проекте"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "ЧаВо"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "TOS"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Пользовательское соглашение"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Исходный код"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Контактная информация"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Бедж"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "StatusNet лицензия"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4301,12 +4291,12 @@ msgstr ""
 "**%%site.name%%** — это сервис микроблогинга, созданный для вас при помощи [%"
 "%site.broughtby%%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** — сервис микроблогинга. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4318,31 +4308,31 @@ msgstr ""
 "лицензией [GNU Affero General Public License](http://www.fsf.org/licensing/"
 "licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Лицензия содержимого сайта"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "All "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "license."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Разбиение на страницы"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Сюда"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Туда"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Проблема с Вашей сессией. Попробуйте ещё раз, пожалуйста."
 
@@ -4394,6 +4384,16 @@ msgstr "Сообщает, где появляется это вложение"
 msgid "Tags for this attachment"
 msgstr "Теги для этого вложения"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Пароль сохранён."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Пароль сохранён."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Команда исполнена"
@@ -4483,24 +4483,21 @@ msgid "Error sending direct message."
 msgstr "Ошибка при отправке прямого сообщения."
 
 #: lib/command.php:422
-#, fuzzy
 msgid "Cannot repeat your own notice"
-msgstr "Ð\95Ñ\81Ñ\82Ñ\8c Ð¾Ð¿Ð¾Ð²ÐµÑ\89ение."
+msgstr "Ð\9dевозможно Ð¿Ð¾Ð²Ñ\82оÑ\80иÑ\82Ñ\8c Ñ\81обÑ\81Ñ\82веннÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c."
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "УдалиÑ\82Ñ\8c Ñ\8dÑ\82Ñ\83 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c"
+msgstr "ЭÑ\82а Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ñ\83же Ð¿Ð¾Ð²Ñ\82оÑ\80ена"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Запись опубликована"
+msgstr "Запись %s повторена"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "Ð\9fÑ\80облемÑ\8b Ñ\81 Ñ\81оÑ\85Ñ\80анением записи."
+msgstr "Ð\9eÑ\88ибка Ð¿Ñ\80и Ð¿Ð¾Ð²Ñ\82оÑ\80ении записи."
 
 #: lib/command.php:491
 #, php-format
@@ -4602,7 +4599,6 @@ msgstr[1] "Вы являетесь участником следующих гр
 msgstr[2] "Вы являетесь участником следующих групп:"
 
 #: lib/command.php:745
-#, fuzzy
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -4656,6 +4652,8 @@ msgstr ""
 "whois <nickname> — получить информацию из профиля пользователя\n"
 "fav <nickname> — добавить последнюю запись пользователя в число любимых\n"
 "fav #<notice_id> — добавить запись с заданным id в число любимых\n"
+"repeat #<notice_id> — повторить уведомление с заданным id\n"
+"repeat <nickname> — повторить последнее уведомление от пользователя\n"
 "reply #<notice_id> — ответить на запись с заданным id\n"
 "reply <nickname> — ответить на последнюю запись пользователя\n"
 "join <group> — присоединиться к группе\n"
@@ -4954,7 +4952,7 @@ msgstr ""
 #: lib/mail.php:236
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s Ñ\81ейÑ\87аÑ\81 Ñ\81лÑ\83Ñ\88аеÑ\82 Ð²Ð°Ñ\88и Ð·Ð°Ð¼ÐµÑ\82ки на %2$s."
+msgstr "%1$s Ñ\82епеÑ\80Ñ\8c Ñ\81ледиÑ\82 Ð·Ð° Ð²Ð°Ñ\88ими Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8fми на %2$s."
 
 #: lib/mail.php:241
 #, php-format
@@ -5147,12 +5145,12 @@ msgstr ""
 "С уважением,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s)  отправил запись для вашего внимания"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5191,7 +5189,7 @@ msgstr ""
 "вовлечения других пользователей в разговор. Сообщения, получаемые от других "
 "людей, видите только вы."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "от "
 
@@ -5258,73 +5256,75 @@ msgstr "Послать прямую запись"
 msgid "To"
 msgstr "Для"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "6 или больше знаков"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Послать запись"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Что нового, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Прикрепить"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Прикрепить файл"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\" %4$s %5$u°%6$u'%7$u\" %8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "с. ш."
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "ю. ш."
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "в. д."
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "з. д."
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "на"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "в контексте"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "Создано"
+msgstr "Ð\9fовÑ\82оÑ\80ено"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Ответить на эту запись"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Ответить"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Запись удалена."
+msgstr "Запись повторена"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5424,14 +5424,12 @@ msgid "All groups"
 msgstr "Все группы"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "Нет аргумента return-to"
+msgstr "Нет аргумента return-to."
 
 #: lib/profileformaction.php:137
-#, fuzzy
 msgid "Unimplemented method."
-msgstr "неÑ\80еализованнÑ\8bй Ð¼ÐµÑ\82од"
+msgstr "Ð\9dеÑ\80еализованнÑ\8bй Ð¼ÐµÑ\82од."
 
 #: lib/publicgroupnav.php:78
 msgid "Public"
@@ -5453,15 +5451,13 @@ msgstr "Особые"
 msgid "Popular"
 msgstr "Популярное"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat this notice"
-msgstr "Ответить на эту запись"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Повторить эту запись?"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "Сбросить"
+msgid "Repeat this notice"
+msgstr "Повторить эту запись"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5632,47 +5628,47 @@ msgstr "Сообщение"
 msgid "Moderate"
 msgstr "Модерировать"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "пару секунд назад"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "около минуты назад"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "около %d минут(ы) назад"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "около часа назад"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "около %d часа(ов) назад"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "около дня назад"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "около %d дня(ей) назад"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "около месяца назад"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "около %d месяца(ев) назад"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "около года назад"
 
index 3f52a091db41e7c76dc4304e0cc0cbcfd2b873da..44a0d92fc3f87501ca3bf61cd5a62195007a86bf 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+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"
@@ -184,11 +184,11 @@ msgstr ""
 msgid "You cannot block yourself!"
 msgstr ""
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -300,31 +300,31 @@ msgid "Could not find target user."
 msgstr ""
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr ""
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr ""
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr ""
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr ""
@@ -335,7 +335,7 @@ msgid "Description is too long (max %d chars)."
 msgstr ""
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr ""
@@ -450,7 +450,7 @@ msgstr ""
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -579,7 +579,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr ""
 
@@ -592,13 +592,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -660,6 +660,7 @@ msgstr ""
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr ""
 
@@ -667,7 +668,7 @@ msgstr ""
 msgid "Block this user"
 msgstr ""
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -739,7 +740,7 @@ msgstr ""
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr ""
@@ -799,7 +800,7 @@ msgstr ""
 msgid "Do not delete this notice"
 msgstr ""
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr ""
 
@@ -933,8 +934,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1102,7 +1103,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1227,7 +1228,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1415,7 +1416,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1502,7 +1503,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr ""
 
@@ -1671,7 +1672,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr ""
 
@@ -1767,7 +1768,7 @@ msgstr ""
 msgid "Error setting user. You are probably not authorized."
 msgstr ""
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr ""
@@ -1874,7 +1875,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1882,7 +1883,7 @@ msgstr ""
 msgid "New notice"
 msgstr ""
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr ""
 
@@ -2104,76 +2105,112 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr ""
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr ""
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr ""
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr ""
 
@@ -2263,69 +2300,77 @@ msgstr ""
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr ""
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr ""
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr ""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr ""
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr ""
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr ""
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr ""
 
@@ -2418,7 +2463,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2554,7 +2599,7 @@ msgstr ""
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr ""
@@ -2598,7 +2643,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr ""
 
@@ -2718,7 +2763,7 @@ msgstr ""
 msgid "You already repeated that notice."
 msgstr ""
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr ""
 
@@ -3041,232 +3086,192 @@ msgstr ""
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr ""
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr ""
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr ""
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr ""
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr ""
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr ""
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr ""
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr ""
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr ""
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr ""
 
@@ -3828,16 +3833,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr ""
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -3892,140 +3897,140 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr ""
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr ""
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr ""
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr ""
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr ""
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr ""
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr ""
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr ""
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr ""
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr ""
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr ""
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr ""
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4033,31 +4038,31 @@ msgid ""
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr ""
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr ""
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr ""
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4109,6 +4114,14 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+msgid "Password changing failed"
+msgstr ""
+
+#: lib/authenticationplugin.php:197
+msgid "Password changing is not allowed"
+msgstr ""
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4739,12 +4752,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4769,7 +4782,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr ""
 
@@ -4833,69 +4846,73 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr ""
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr ""
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr ""
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr ""
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr ""
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr ""
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 msgid "Notice repeated"
 msgstr ""
 
@@ -5024,12 +5041,12 @@ msgstr ""
 msgid "Popular"
 msgstr ""
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
 msgstr ""
 
 #: lib/repeatform.php:132
-msgid "Repeat"
+msgid "Repeat this notice"
 msgstr ""
 
 #: lib/sandboxform.php:67
@@ -5201,47 +5218,47 @@ msgstr ""
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr ""
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr ""
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr ""
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr ""
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr ""
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr ""
 
index 27f6bd6596f83789fe881fc2569e769174d25a73..9d1e7b9c6bcfb64e1bfdf7b8ec6d8e7577a29a3a 100644 (file)
@@ -9,12 +9,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:03+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:32+0000\n"
 "Language-Team: Swedish\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: sv\n"
 "X-Message-Group: out-statusnet\n"
@@ -196,11 +196,11 @@ msgstr "Kunde inte uppdatera din profils utseende."
 msgid "You cannot block yourself!"
 msgstr "Du kan inte blockera dig själv!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Blockering av användare misslyckades."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Hävning av blockering av användare misslyckades."
 
@@ -312,32 +312,32 @@ msgid "Could not find target user."
 msgstr ""
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 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."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Smeknamnet används redan. Försök med ett annat."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Inte ett giltigt smeknamn."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Hemsida är inte en giltig URL."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Fullständigt namn är för långt (max 255 tecken)."
@@ -348,7 +348,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Beskrivning är för lång (max 140 tecken)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Beskrivning av plats är för lång (max 255 tecken)."
@@ -438,14 +438,12 @@ msgid "No such notice."
 msgstr "Ingen sådan notis."
 
 #: actions/apistatusesretweet.php:83
-#, fuzzy
 msgid "Cannot repeat your own notice."
-msgstr "Kan inte stänga av notifikation."
+msgstr "Kan inte upprepa din egen notis."
 
 #: actions/apistatusesretweet.php:91
-#, fuzzy
 msgid "Already repeated that notice."
-msgstr "Ta bort denna notis"
+msgstr "Redan upprepat denna notis."
 
 #: actions/apistatusesshow.php:138
 msgid "Status deleted."
@@ -465,7 +463,7 @@ msgstr "Det är för långt. Maximal notisstorlek är %d tecken."
 msgid "Not found"
 msgstr "Hittades inte"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr "Maximal notisstorlek är %d tecken, inklusive bilage-URL."
@@ -519,17 +517,17 @@ msgstr "%s uppdateringar från alla!"
 #: actions/apitimelineretweetedbyme.php:112
 #, php-format
 msgid "Repeated by %s"
-msgstr ""
+msgstr "Upprepat av %s"
 
 #: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
 msgid "Repeated to %s"
-msgstr "Svarat på %s"
+msgstr "Upprepat till %s"
 
 #: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
 msgid "Repeats of %s"
-msgstr "Svarat på %s"
+msgstr "Upprepningar av %s"
 
 #: actions/apitimelinetag.php:102 actions/tag.php:66
 #, php-format
@@ -595,7 +593,7 @@ msgid "Preview"
 msgstr "Förhandsgranska"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Ta bort"
 
@@ -608,13 +606,13 @@ msgid "Crop"
 msgstr "Beskär"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -679,6 +677,7 @@ msgstr "Blockera inte denna användare"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Ja"
 
@@ -686,7 +685,7 @@ msgstr "Ja"
 msgid "Block this user"
 msgstr "Blockera denna användare"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Misslyckades att spara blockeringsinformation."
 
@@ -759,7 +758,7 @@ msgstr "Denna adress har redan blivit bekräftad."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Kunde inte uppdatera användare."
@@ -821,7 +820,7 @@ msgstr "Är du säker på att du vill ta bort denna notis?"
 msgid "Do not delete this notice"
 msgstr "Ta inte bort denna notis"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Ta bort denna notis"
 
@@ -959,8 +958,8 @@ msgstr "Återställ till standardvärde"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1131,7 +1130,7 @@ msgstr "Ingen e-postadress."
 msgid "Cannot normalize that email address"
 msgstr "Kan inte normalisera den e-postadressen"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Inte en giltig e-postadress"
 
@@ -1262,29 +1261,25 @@ msgid "Featured users, page %d"
 msgstr "Profilerade användare, sida %d"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "Ett urval av några av de stora användarna på% s"
 
 #: actions/file.php:34
-#, fuzzy
 msgid "No notice ID."
-msgstr "Ingen notis"
+msgstr "Ingen notis-ID."
 
 #: actions/file.php:38
-#, fuzzy
 msgid "No notice."
-msgstr "Ingen notis"
+msgstr "Ingen notis."
 
 #: actions/file.php:42
-#, fuzzy
 msgid "No attachments."
-msgstr "Inga bilagor"
+msgstr "Inga bilagor."
 
 #: actions/file.php:51
-#, fuzzy
 msgid "No uploaded attachments."
-msgstr "Inga uppladdade bilagor"
+msgstr "Inga uppladdade bilagor."
 
 #: actions/finishremotesubscribe.php:69
 msgid "Not expecting this response!"
@@ -1461,7 +1456,7 @@ msgstr "%s gruppmedlemmar, sida %d"
 msgid "A list of the users in this group."
 msgstr "En lista av användarna i denna grupp."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Administratör"
 
@@ -1560,7 +1555,7 @@ msgstr "Bara en administratör kan häva blockering av gruppmedlemmar."
 msgid "User is not blocked from group."
 msgstr "Användare är inte blockerad från grupp."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Fel vid hävning av blockering."
 
@@ -1746,7 +1741,7 @@ msgstr "Personligt meddelande"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Om du vill, skriv ett personligt meddelande till inbjudan."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Skicka"
 
@@ -1842,7 +1837,7 @@ msgstr "Felaktigt användarnamn eller lösenord."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Fel vid inställning av användare. Du har sannolikt inte tillstånd."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Logga in"
@@ -1955,7 +1950,7 @@ msgstr "Meddelande skickat"
 msgid "Direct message to %s sent"
 msgstr "Direktmeddelande till %s skickat"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "AJAX-fel"
 
@@ -1963,7 +1958,7 @@ msgstr "AJAX-fel"
 msgid "New notice"
 msgstr "Ny notis"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Notis postad"
 
@@ -2193,76 +2188,112 @@ msgstr "Katalog med bakgrunder är inte skrivbar: %s"
 msgid "Locales directory not readable: %s"
 msgstr "Katalog med lokaliseringfiler (locales) är inte läsbar. %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Ogiltigt SSL-servernamn. Den maximala längden är 255 tecken."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Webbplats"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Sökväg"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Sökväg till webbplats"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Sökväg till lokaliseringfiler (locales)"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Katalogsökväg till lokaliseringfiler (locales)"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Teman"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Server med teman"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Sökväg till teman"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Katalog med teman"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Avatarer"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Server med avatarer"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Sökväg till avatarer"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Katalog med avatarer"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Bakgrunder"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Server med bakgrunder"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Sökväg till bakgrunder"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Katalog med bakgrunder"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Aldrig"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Ibland"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Alltid"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Använd SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "När SSL skall användas"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-server"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Server att dirigera SSL-förfrågningar till"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Spara sökvägar"
 
@@ -2356,72 +2387,81 @@ msgstr "Plats"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Var du håller till, såsom \"Stad, Län, Land\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Taggar"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Taggar för dig själv (bokstäver, nummer, -, ., och _), separerade med "
 "kommatecken eller mellanslag"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Språk"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Föredraget språk"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Tidszon"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "I vilken tidszon befinner du dig normalt?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Prenumerera automatiskt på den prenumererar på mig (bäst för icke-människa) "
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Biografin är för lång (max %d tecken)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Tidszon inte valt."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Språknamn är för långt (max 50 tecken)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Ogiltig tagg: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Kunde inte uppdatera användaren för automatisk prenumeration."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Kunde inte spara taggar."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Kunde inte spara profil."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Kunde inte spara taggar."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Inställningar sparade."
 
@@ -2527,7 +2567,7 @@ msgstr ""
 "Varför inte [registrera ett konto](%%action.register%%) och bli först att "
 "posta en!"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Taggmoln"
 
@@ -2668,7 +2708,7 @@ msgstr "Ledsen, ogiltig inbjudningskod."
 msgid "Registration successful"
 msgstr "Registreringen genomförd"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Registrera"
@@ -2716,7 +2756,7 @@ msgid "Same as password above. Required."
 msgstr "Samma som lösenordet ovan. Måste fyllas i."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "E-post"
 
@@ -2833,40 +2873,34 @@ msgid "Couldn’t get a request token."
 msgstr "Kunde inte få en förfrågnings-token."
 
 #: actions/repeat.php:57
-#, fuzzy
 msgid "Only logged-in users can repeat notices."
-msgstr "Bara användaren kan läsa sina egna brevlådor."
+msgstr "Bara inloggade användaren kan upprepa notiser."
 
 #: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
 msgid "No notice specified."
-msgstr "Ingen profil angiven."
+msgstr "Ingen notis angiven."
 
 #: actions/repeat.php:76
-#, fuzzy
 msgid "You can't repeat your own notice."
-msgstr "Du kan inte registrera dig om du inte godkänner licensen."
+msgstr "Du kan inte upprepa din egna notis."
 
 #: actions/repeat.php:90
-#, fuzzy
 msgid "You already repeated that notice."
-msgstr "Du har redan blockerat denna användare."
+msgstr "Du har redan upprepat denna notis."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
-msgstr "Skapad"
+msgstr "Upprepad"
 
 #: actions/repeat.php:119
-#, fuzzy
 msgid "Repeated!"
-msgstr "Skapad"
+msgstr "Upprepad!"
 
 #: actions/replies.php:125 actions/repliesrss.php:68
 #: lib/personalgroupnav.php:105
 #, php-format
 msgid "Replies to %s"
-msgstr "Svarat  %s"
+msgstr "Svarat till %s"
 
 #: actions/replies.php:127
 #, php-format
@@ -3189,9 +3223,9 @@ msgstr ""
 "[StatusNet](http://status.net/). "
 
 #: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
 msgid "Repeat of %s"
-msgstr "Svarat på %s"
+msgstr "Upprepning av %s"
 
 #: actions/silence.php:65 actions/unsilence.php:65
 msgid "You cannot silence users on this site."
@@ -3205,235 +3239,195 @@ msgstr "Användaren är redan nedtystad."
 msgid "Basic settings for this StatusNet site."
 msgstr "Grundinställningar för din StatusNet-webbplats"
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Webbplatsnamnet måste vara minst ett tecken långt."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Du måste ha en giltig kontakte-postadress"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Okänt språk \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "Ogiltig rapport-URL för ögonblicksbild"
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Ogiltigt körvärde för ögonblicksbild."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "Frekvens för ögonblicksbilder måste vara ett nummer."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Du måste ange en SSL-server när du aktiverar SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Ogiltigt SSL-servernamn. Den maximala längden är 255 tecken."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "Minsta textbegränsning är 140 tecken."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr "Begränsning av duplikat måste vara en eller fler sekuner."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Allmänt"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Webbplatsnamn"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "Namnet på din webbplats, t.ex.  \"Företagsnamn mikroblogg\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Tillhandahållen av"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr "Text som används för tillskrivningslänkar i sidfoten på varje sida."
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "Tillhandahållen av URL"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr "URL som används för tillskrivningslänkar i sidfoten på varje sida"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Kontakte-postadress för din webbplats"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Lokal"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Standardtidszon"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Standardtidzon för denna webbplats; vanligtvis UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Webbplatsens standardspråk"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL:er"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Server"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Värdnamn för webbplatsens server."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "Utsmyckade URL:er"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 "Skall utsmyckade URL:er användas (mer läsbara och lättare att komma ihåg)?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Åtkomst"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Privat"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 "Skall anonyma användare (inte inloggade) förhindras från att se webbplatsen?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Endast inbjudan"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Gör så att registrering endast sker genom inbjudan."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Stängd"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Inaktivera nya registreringar."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Ögonblicksbild"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "I ett schemalagt jobb"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Aldrig"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Ögonblicksbild av data"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "När statistikdata skall skickas till status.net-servrar"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Frekvens"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Ögonblicksbild kommer skickas var N:te webbträff"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "Rapport-URL"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Ögonblicksbild kommer skickat till denna URL"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Ibland"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Alltid"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Använd SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "När SSL skall användas"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "SSL-server"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Server att dirigera SSL-förfrågningar till"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Begränsningar"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Textbegränsning"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Maximala antalet tecken för notiser."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Duplikatbegränsning"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 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/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Spara webbplatsinställningar"
 
@@ -3656,7 +3650,6 @@ msgid "Notice feed for tag %s (Atom)"
 msgstr "Flöde av notiser för tagg %s (Atom)"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No ID argument."
 msgstr "Inget ID-argument."
 
@@ -3933,9 +3926,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Fel bildtyp för avatar-URL '%s'."
 
 #: actions/userbyid.php:70
-#, fuzzy
 msgid "No ID."
-msgstr "Ingen ID"
+msgstr "Ingen ID."
 
 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
 msgid "Profile design"
@@ -4035,19 +4027,19 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Du är utestängd från att posta notiser på denna webbplats."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Problem med att spara notis."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Databasfel vid infogning av svar: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
-msgstr ""
+msgstr "RT @%1$s %2$s"
 
 #: classes/User.php:368
 #, php-format
@@ -4099,128 +4091,128 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr "Namnlös sida"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Primär webbplatsnavigation"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Hem"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Personlig profil och vänners tidslinje"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Konto"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Ändra din e-post, avatar, lösenord, profil"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Anslut"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "Anslut till tjänster"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Ändra webbplatskonfiguration"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Bjud in"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Bjud in vänner och kollegor att gå med dig på %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Logga ut"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Logga ut från webbplatsen"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Skapa ett konto"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Logga in på webbplatsen"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Hjälp"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Hjälp mig!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Sök"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Sök efter personer eller text"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Webbplatsnotis"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Lokala vyer"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Sidnotis"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Sekundär webbplatsnavigation"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Om"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "Frågor & svar"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "Användarvillkor"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Sekretess"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Källa"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Kontakt"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Emblem"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Programvarulicens för StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4229,12 +4221,12 @@ msgstr ""
 "**%%site.name%%** är en mikrobloggtjänst tillhandahållen av [%%site.broughtby"
 "%%](%%site.broughtbyurl%%)"
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** är en mikrobloggtjänst."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4245,31 +4237,31 @@ msgstr ""
 "version %s, tillgänglig under [GNU Affero General Public License](http://www."
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Licens för webbplatsinnehåll"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Alla "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "licens."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Numrering av sidor"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Senare"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Tidigare"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Det var ett problem med din sessions-token."
 
@@ -4321,6 +4313,16 @@ msgstr "Notiser där denna bilaga förekommer"
 msgid "Tags for this attachment"
 msgstr "Taggar för denna billaga"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Byte av lösenord"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Byte av lösenord"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Resultat av kommando"
@@ -4378,7 +4380,7 @@ msgstr "Notis markerad som favorit."
 #: lib/command.php:315
 #, php-format
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s (%2$s)"
 
 #: lib/command.php:318
 #, php-format
@@ -4410,24 +4412,21 @@ msgid "Error sending direct message."
 msgstr "Fel vid sändning av direktmeddelande."
 
 #: lib/command.php:422
-#, fuzzy
 msgid "Cannot repeat your own notice"
-msgstr "Kan inte stänga av notifikation."
+msgstr "Kan inte upprepa din egen notis"
 
 #: lib/command.php:427
-#, fuzzy
 msgid "Already repeated that notice"
-msgstr "Ta bort denna notis"
+msgstr "Redan upprepat denna notis"
 
 #: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
 msgid "Notice from %s repeated"
-msgstr "Notis postad"
+msgstr "Notis fron %s upprepad"
 
 #: lib/command.php:437
-#, fuzzy
 msgid "Error repeating notice."
-msgstr "Fel vid sparande av notis."
+msgstr "Fel vid upprepning av notis."
 
 #: lib/command.php:491
 #, php-format
@@ -4486,9 +4485,9 @@ msgid "Login command is disabled"
 msgstr "Inloggningskommando är inaktiverat"
 
 #: lib/command.php:664
-#, fuzzy, php-format
+#, php-format
 msgid "Could not create login token for %s"
-msgstr "Kunde inte skapa alias."
+msgstr "Kunde inte skapa inloggnings-token för %s"
 
 #: lib/command.php:669
 #, php-format
@@ -4786,7 +4785,7 @@ msgstr "kB"
 #: lib/jabber.php:191
 #, php-format
 msgid "[%s]"
-msgstr ""
+msgstr "[%s]"
 
 #: lib/joinform.php:114
 msgid "Join"
@@ -4970,12 +4969,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s) skickade en notis för din uppmärksamhet"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5003,7 +5002,7 @@ msgstr ""
 "engagera andra användare i konversationen. Folk kan skicka meddelanden till "
 "dig som bara du ser."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "från"
 
@@ -5071,73 +5070,75 @@ msgstr "Skicka ett direktinlägg"
 msgid "To"
 msgstr "Till"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Tillgängliga tecken"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Skicka ett inlägg"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Vad är på gång, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Bifoga"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Bifoga en fil"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "N"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "S"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "Ö"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "V"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "på"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "i sammanhang"
 
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
 msgid "Repeated by"
-msgstr "Skapad"
+msgstr "Upprepad av"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Svara på detta inlägg"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Svara"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Notis borttagen."
+msgstr "Notis upprepad"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5237,14 +5238,12 @@ msgid "All groups"
 msgstr "Alla grupper"
 
 #: lib/profileformaction.php:123
-#, fuzzy
 msgid "No return-to arguments."
-msgstr "Inga \"return-to\"-argument"
+msgstr "Inga \"return-to\"-argument."
 
 #: lib/profileformaction.php:137
-#, fuzzy
 msgid "Unimplemented method."
-msgstr "inte implementerad metod"
+msgstr "Inte implementerad metod."
 
 #: lib/publicgroupnav.php:78
 msgid "Public"
@@ -5266,15 +5265,14 @@ msgstr "Profilerade"
 msgid "Popular"
 msgstr "Populärt"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
-msgstr "Svara på detta inlägg"
+msgid "Repeat this notice?"
+msgstr "Upprepa detta inlägg"
 
 #: lib/repeatform.php:132
-#, fuzzy
-msgid "Repeat"
-msgstr "Återställ"
+msgid "Repeat this notice"
+msgstr "Upprepa detta inlägg"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5446,51 +5444,50 @@ msgid "Message"
 msgstr "Meddelande"
 
 #: lib/userprofile.php:311
-#, fuzzy
 msgid "Moderate"
 msgstr "Moderera"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "ett par sekunder sedan"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "för nån minut sedan"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "för %d minuter sedan"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "för en timma sedan"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "för %d timmar sedan"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "för en dag sedan"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "för %d dagar sedan"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "för en månad sedan"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "för %d månader sedan"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "för ett år sedan"
 
index 65cb742c0c047dc0b6c88cd0718fe5b8b72d31ff..028e60c47b8e72cd43c66db295ef0a72d5ae38f1 100644 (file)
@@ -8,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:06+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:35+0000\n"
 "Language-Team: Telugu\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: te\n"
 "X-Message-Group: out-statusnet\n"
@@ -190,11 +190,11 @@ msgstr "వాడుకరిని తాజాకరించలేకున
 msgid "You cannot block yourself!"
 msgstr "మిమ్మల్ని మీరే నిరోధించుకోలేరు!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "వాడుకరి నిరోధం విఫలమైంది."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -308,31 +308,31 @@ msgid "Could not find target user."
 msgstr "లక్ష్యిత వాడుకరిని కనుగొనలేకపోయాం."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "పేరులో చిన్నబడి అక్షరాలు మరియు అంకెలు మాత్రమే ఖాళీలు లేకుండా ఉండాలి."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "ఆ పేరుని ఇప్పటికే వాడుతున్నారు. మరోటి ప్రయత్నించండి."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "సరైన పేరు కాదు."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "హోమ్ పేజీ URL సరైనది కాదు."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "పూర్తి పేరు చాలా పెద్దగా ఉంది (గరిష్ఠంగా 255 అక్షరాలు)."
@@ -343,7 +343,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "వివరణ చాలా పెద్దగా ఉంది (%d అక్షరాలు గరిష్ఠం)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "ప్రాంతం పేరు మరీ పెద్దగా ఉంది (255 అక్షరాలు గరిష్ఠం)."
@@ -460,7 +460,7 @@ msgstr "అది చాలా పొడవుంది. గరిష్ఠ న
 msgid "Not found"
 msgstr "దొరకలేదు"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr "గరిష్ఠ నోటీసు పొడవు %d అక్షరాలు, జోడింపు URLని కలుపుకుని."
@@ -590,7 +590,7 @@ msgid "Preview"
 msgstr "మునుజూపు"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "తొలగించు"
 
@@ -603,13 +603,13 @@ msgid "Crop"
 msgstr "కత్తిరించు"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -671,6 +671,7 @@ msgstr "ఈ వాడుకరిని నిరోధించకు"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "అవును"
 
@@ -678,7 +679,7 @@ msgstr "అవును"
 msgid "Block this user"
 msgstr "ఈ వాడుకరిని నిరోధించు"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "నిరోధపు సమాచారాన్ని భద్రపరచడంలో విఫలమయ్యాం."
 
@@ -753,7 +754,7 @@ msgstr "ఆ చిరునామా ఇప్పటికే నిర్ధా
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "వాడుకరిని తాజాకరించలేకున్నాం."
@@ -813,7 +814,7 @@ msgstr "మీరు నిజంగానే ఈ నోటీసుని త
 msgid "Do not delete this notice"
 msgstr "ఈ నోటీసుని తొలగించకు"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "ఈ నోటీసుని తొలగించు"
 
@@ -949,8 +950,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1118,7 +1119,7 @@ msgstr "ఈమెయిలు చిరునామా లేదు."
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "సరైన ఈమెయిలు చిరునామా కాదు"
 
@@ -1243,7 +1244,7 @@ msgstr "విశేష వాడుకరులు, పేజీ %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1409,16 +1410,15 @@ msgstr "మీ గుంపుకి మీరు ఒక చిహ్నాన
 
 #: actions/grouplogo.php:362
 msgid "Pick a square area of the image to be the logo."
-msgstr ""
+msgstr "చిహ్నంగా ఉండాల్సిన చతురస్త్ర ప్రదేశాన్ని బొమ్మ నుండి ఎంచుకోండి."
 
 #: actions/grouplogo.php:396
 msgid "Logo updated."
 msgstr "చిహ్నాన్ని తాజాకరించాం."
 
 #: actions/grouplogo.php:398
-#, fuzzy
 msgid "Failed updating logo."
-msgstr "à°\85వతారపు తాజాకరణ విఫలమైంది."
+msgstr "à°\9aà°¿à°¹à±\8dà°¨పు తాజాకరణ విఫలమైంది."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:92
 #, php-format
@@ -1434,7 +1434,7 @@ msgstr "%s గుంపు సభ్యులు, పేజీ %d"
 msgid "A list of the users in this group."
 msgstr "ఈ గుంపులో వాడుకరులు జాబితా."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1524,7 +1524,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "వాడుకరిని గుంపు నుండి నిరోధించలేదు."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "నిరోధాన్ని తొలగించడంలో పొరపాటు."
 
@@ -1693,7 +1693,7 @@ msgstr "వ్యక్తిగత సందేశం"
 msgid "Optionally add a personal message to the invitation."
 msgstr "ఐచ్ఛికంగా ఆహ్వానానికి వ్యక్తిగత సందేశం చేర్చండి."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "పంపించు"
 
@@ -1790,7 +1790,7 @@ msgstr "వాడుకరిపేరు లేదా సంకేతపదం
 msgid "Error setting user. You are probably not authorized."
 msgstr ""
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "ప్రవేశించండి"
@@ -1900,7 +1900,7 @@ msgstr "సందేశాన్ని పంపించాం"
 msgid "Direct message to %s sent"
 msgstr "%sకి నేరు సందేశాన్ని పంపించాం"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "అజాక్స్ పొరపాటు"
 
@@ -1908,7 +1908,7 @@ msgstr "అజాక్స్ పొరపాటు"
 msgid "New notice"
 msgstr "కొత్త సందేశం"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "సందేశాలు"
@@ -2134,82 +2134,118 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "సైటు"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "కొత్త సందేశం"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "అలంకారం"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "అవతారాలు"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "అవతారపు అమరికలు"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "అవతారాన్ని తాజాకరించాం."
 
-#: actions/pathsadminpanel.php:260
-#, fuzzy
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
-msgstr "à°\85వతారానà±\8dని à°¤à±\8aà°²à°\97à°¿à°\82à°\9aà°¾à°\82."
+msgstr "à°\85వతారాల à°¸à°\82à°\9aà°¯à°\82"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "నేపథ్యాలు"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 #, fuzzy
 msgid "Background server"
 msgstr "నేపథ్యం"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 #, fuzzy
 msgid "Background path"
 msgstr "నేపథ్యం"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "నేపథ్యాల సంచయం"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "వైదొలగు"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "కొన్నిసార్లు"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "ఎల్లప్పుడూ"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 #, fuzzy
 msgid "Save paths"
 msgstr "కొత్త సందేశం"
@@ -2304,69 +2340,78 @@ msgstr "ప్రాంతం"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "మీరు ఎక్కడ నుండి, \"నగరం, రాష్ట్రం (లేదా ప్రాంతం), దేశం\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "ట్యాగులు"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "భాష"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "ప్రాథాన్యతా భాష"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "కాలమండలం"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "మీరు సామాన్యంగా ఉండే కాలమండలం ఏది?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "స్వపరిచయం చాలా పెద్దగా ఉంది (%d అక్షరాలు గరిష్ఠం)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "కాలమండలాన్ని ఎంచుకోలేదు."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "భాష మరీ పెద్దగా ఉంది (50 అక్షరాలు గరిష్ఠం)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "'%s' అనే హోమ్ పేజీ సరైనదికాదు"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "ట్యాగులని భద్రపరచలేకున్నాం."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "ప్రొఫైలుని భద్రపరచలేకున్నాం."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "ట్యాగులని భద్రపరచలేకున్నాం."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "అమరికలు భద్రమయ్యాయి."
 
@@ -2463,7 +2508,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "ట్యాగు మేఘం"
 
@@ -2600,7 +2645,7 @@ msgstr "క్షమించండి, తప్పు ఆహ్వాన స
 msgid "Registration successful"
 msgstr "నమోదు విజయవంతం"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "నమోదు"
@@ -2644,7 +2689,7 @@ msgid "Same as password above. Required."
 msgstr "పై సంకేతపదం మరోసారి. తప్పనిసరి."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "ఈమెయిల్"
 
@@ -2768,7 +2813,7 @@ msgstr "ఈ లైసెన్సుకి అంగీకరించకపో
 msgid "You already repeated that notice."
 msgstr "మీరు ఇప్పటికే ఆ వాడుకరిని నిరోధించారు."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "సృష్టితం"
@@ -3096,239 +3141,198 @@ msgstr "వాడుకరిని ఇప్పటికే గుంపున
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "మీకు సరైన సంప్రదింపు ఈమెయిలు చిరునామా ఉండాలి"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "గుర్తు తెలియని భాష \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "కనిష్ఠ పాఠ్య పరిమితి 140 అక్షరాలు."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "సాధారణ"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "సైటు పేరు"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "ఈ వాడుకరికై నమోదైన ఈమెయిల్ చిరునామాలు ఏమీ లేవు."
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "ప్రాంతం"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "ప్రాథాన్యతా భాష"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "వైదొలగు"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "అంగీకరించు"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "అంతరంగికం"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "ఆహ్వానితులకు మాత్రమే"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
-msgstr ""
+msgstr "ఆహ్వానితులు మాత్రమే నమోదు అవ్వగలిగేలా చెయ్యి."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "అటువంటి వాడుకరి లేరు."
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "వైదొలగు"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
-msgstr ""
+msgstr "తరచుదనం"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "కొన్నిసార్లు"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "ఎల్లప్పుడూ"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "పరిమితులు"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "పాఠ్యపు పరిమితి"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "సందేశాలలోని అక్షరాల గరిష్ఠ సంఖ్య."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "సైటు అమరికలను భద్రపరచు"
 
@@ -3352,7 +3356,7 @@ msgstr ""
 
 #: actions/smssettings.php:123
 msgid "Awaiting confirmation on this phone number."
-msgstr ""
+msgstr "ఈ ఫోను నంబరు యొక్క నిర్ధారణకై వేచివుంది."
 
 #: actions/smssettings.php:130
 msgid "Confirmation code"
@@ -3904,16 +3908,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "ఈ సైటులో నోటీసులు రాయడం నుండి మిమ్మల్ని నిషేధించారు."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -3970,132 +3974,132 @@ msgstr "%s - %s"
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "ముంగిలి"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "ఖాతా"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "మీ ఈమెయిలు, అవతారం, సంకేతపదం మరియు ప్రౌఫైళ్ళను మార్చుకోండి"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "అనుసంధానించు"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr ""
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "చందాలు"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "ఆహ్వానించు"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "నిష్క్రమించు"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "సైటు నుండి నిష్క్రమించు"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "కొత్త ఖాతా సృష్టించు"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "సైటులోని ప్రవేశించు"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "సహాయం"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "సహాయం కావాలి!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "వెతుకు"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "కొత్త సందేశం"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "స్థానిక వీక్షణలు"
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "కొత్త సందేశం"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "చందాలు"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "గురించి"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "ప్రశ్నలు"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "సేవా నియమాలు"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "అంతరంగికత"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "మూలము"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "సంప్రదించు"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "బాడ్జి"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4104,12 +4108,12 @@ msgstr ""
 "**%%site.name%%** అనేది [%%site.broughtby%%](%%site.broughtbyurl%%) వారు "
 "అందిస్తున్న మైక్రో బ్లాగింగు సదుపాయం. "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** అనేది మైక్రో బ్లాగింగు సదుపాయం."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4120,38 +4124,38 @@ msgstr ""
 "html) కింద లభ్యమయ్యే [స్టేటస్&zwnj;నెట్](http://status.net/) మైక్రోబ్లాగింగ్ ఉపకరణం సంచిక %s "
 "పై నడుస్తుంది."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "కొత్త సందేశం"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "అన్నీ "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "పేజీకరణ"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "తర్వాత"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "ఇంతక్రితం"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
 #: lib/adminpanelaction.php:96
 msgid "You cannot make changes to this site."
-msgstr ""
+msgstr "ఈ సైటుకి మీరు మార్పులు చేయలేరు."
 
 #: lib/adminpanelaction.php:195
 msgid "showForm() not implemented."
@@ -4200,6 +4204,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "సంకేతపదం మార్పు"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "సంకేతపదం మార్పు"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "ఆదేశ ఫలితాలు"
@@ -4329,7 +4343,7 @@ msgstr ""
 #: lib/command.php:563
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "%sకి చందా చేరారు"
 
 #: lib/command.php:584
 msgid "Specify the name of the user to unsubscribe from"
@@ -4847,12 +4861,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4877,7 +4891,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "నుండి"
 
@@ -4942,71 +4956,75 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "అందుబాటులో ఉన్న అక్షరాలు"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "కొత్త సందేశం"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "%s, సంగతులేమిటి?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "జోడించు"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "ఒక ఫైలుని జోడించు"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "ఉ"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "ద"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "తూ"
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "ప"
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "సందర్భంలో"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "సృష్టితం"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "ఈ నోటీసుపై స్పందించండి"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "స్పందించండి"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "నోటీసుని తొలగించాం."
@@ -5139,15 +5157,15 @@ msgstr "విశేషం"
 msgid "Popular"
 msgstr "ప్రాచుర్యం"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "ఈ నోటీసుపై స్పందించండి"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "తిరసà±\8dà°\95à°°à°¿à°\82à°\9aà±\81"
+msgid "Repeat this notice"
+msgstr "à°\88 à°¨à±\8bà°\9fà±\80à°¸à±\81à°ªà±\88 à°¸à±\8dà°ªà°\82దిà°\82à°\9aà°\82à°¡à°¿"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5326,47 +5344,47 @@ msgstr "సందేశం"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "కొన్ని క్షణాల క్రితం"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "ఓ నిమిషం క్రితం"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "%d నిమిషాల క్రితం"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "ఒక గంట క్రితం"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "%d గంటల క్రితం"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "ఓ రోజు క్రితం"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "%d రోజుల క్రితం"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "ఓ నెల క్రితం"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "%d నెలల క్రితం"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "ఒక సంవత్సరం క్రితం"
 
index 8d70f2b9d1e767687853aaa8d1764b0faf0f2f50..8d8cbbfd8226ec0cface76704915fdd12835e69d 100644 (file)
@@ -8,12 +8,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:10+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:43+0000\n"
 "Language-Team: Turkish\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: tr\n"
 "X-Message-Group: out-statusnet\n"
@@ -193,11 +193,11 @@ msgstr "Kullanıcı güncellenemedi."
 msgid "You cannot block yourself!"
 msgstr "Kullanıcı güncellenemedi."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -313,7 +313,7 @@ msgid "Could not find target user."
 msgstr "Kullanıcı güncellenemedi."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -321,25 +321,25 @@ msgstr ""
 "kullanılamaz. "
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Takma ad kullanımda. Başka bir tane deneyin."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Geçersiz bir takma ad."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Başlangıç sayfası adresi geçerli bir URL değil."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Tam isim çok uzun (azm: 255 karakter)."
@@ -350,7 +350,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Hakkında bölümü çok uzun (azm 140 karakter)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Yer bilgisi çok uzun (azm: 255 karakter)."
@@ -472,7 +472,7 @@ msgstr ""
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -605,7 +605,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr ""
 
@@ -618,13 +618,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -690,6 +690,7 @@ msgstr "Böyle bir kullanıcı yok."
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr ""
 
@@ -698,7 +699,7 @@ msgstr ""
 msgid "Block this user"
 msgstr "Böyle bir kullanıcı yok."
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -774,7 +775,7 @@ msgstr "O adres daha önce onaylanmış."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Kullanıcı güncellenemedi."
@@ -836,7 +837,7 @@ msgstr ""
 msgid "Do not delete this notice"
 msgstr "Böyle bir durum mesajı yok."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr ""
 
@@ -983,8 +984,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1155,7 +1156,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1281,7 +1282,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1487,7 +1488,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1581,7 +1582,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "Kullanıcının profili yok."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "Kullanıcıyı kaydetmede hata oluştu."
@@ -1761,7 +1762,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Gönder"
 
@@ -1861,7 +1862,7 @@ msgstr "Yanlış kullanıcı adı veya parola."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Yetkilendirilmemiş."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Giriş"
@@ -1974,7 +1975,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1982,7 +1983,7 @@ msgstr ""
 msgid "New notice"
 msgstr "Yeni durum mesajı"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "Durum mesajları"
@@ -2213,82 +2214,120 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Yeni durum mesajı"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Avatar"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Ayarlar"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Avatar güncellendi."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Avatar güncellendi."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Geri al"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Durum mesajları"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Yeni durum mesajı"
 
@@ -2388,70 +2427,79 @@ msgstr "Yer"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Bulunduğunuz yer, \"Şehir, Eyalet (veya Bölge), Ülke\" gibi"
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr ""
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Hakkında bölümü çok uzun (azm 140 karakter)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "%s Geçersiz başlangıç sayfası"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Profil kaydedilemedi."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Profil kaydedilemedi."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "Profil kaydedilemedi."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Ayarlar kaydedildi."
 
@@ -2548,7 +2596,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2687,7 +2735,7 @@ msgstr "Onay kodu hatası."
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Kayıt"
@@ -2731,7 +2779,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Eposta"
 
@@ -2860,7 +2908,7 @@ msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız."
 msgid "You already repeated that notice."
 msgstr "Zaten giriş yapmış durumdasıznız!"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Yarat"
@@ -3193,242 +3241,200 @@ msgstr "Kullanıcının profili yok."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Geçersiz bir eposta adresi."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Yeni durum mesajı"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Kullanıcı için kaydedilmiş eposta adresi yok."
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Yer"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Geri al"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Kabul et"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Gizlilik"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Böyle bir kullanıcı yok."
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Geri al"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Durum mesajları"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Ayarlar"
@@ -4020,16 +4026,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Durum mesajını kaydederken hata oluştu."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Cevap eklenirken veritabanı hatası: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4088,136 +4094,136 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Başlangıç"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "Hakkında"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Bağlan"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Sunucuya yönlendirme yapılamadı: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Abonelikler"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Çıkış"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "Yeni hesap oluştur"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Yardım"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "Yardım"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Ara"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "Yeni durum mesajı"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "Yeni durum mesajı"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Abonelikler"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Hakkında"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "SSS"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Gizlilik"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Kaynak"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "İletişim"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4226,12 +4232,12 @@ msgstr ""
 "**%%site.name%%** [%%site.broughtby%%](%%site.broughtbyurl%%)\" tarafından "
 "hazırlanan anında mesajlaşma ağıdır. "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** bir aninda mesajlaşma sosyal ağıdır."
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4242,34 +4248,34 @@ msgstr ""
 "licenses/agpl-3.0.html) lisansı ile korunan [StatusNet](http://status.net/) "
 "microbloglama yazılımının %s. versiyonunu kullanmaktadır."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Yeni durum mesajı"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 #, fuzzy
 msgid "After"
 msgstr "« Sonra"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "Önce »"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4325,6 +4331,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Parola kaydedildi."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Parola kaydedildi."
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4981,12 +4997,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5011,7 +5027,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr ""
 
@@ -5076,74 +5092,78 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6 veya daha fazla karakter"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "Yeni durum mesajı"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "N'aber %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "İçerik yok!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Yarat"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 #, fuzzy
 msgid "Reply"
 msgstr "cevapla"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Durum mesajları"
@@ -5277,15 +5297,15 @@ msgstr ""
 msgid "Popular"
 msgstr "Kişi Arama"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Böyle bir durum mesajı yok."
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Sıfırla"
+msgid "Repeat this notice"
+msgstr "Böyle bir durum mesajı yok."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5468,47 +5488,47 @@ msgstr ""
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "birkaç saniye önce"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "yaklaşık bir dakika önce"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "yaklaşık %d dakika önce"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "yaklaşık bir saat önce"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "yaklaşık %d saat önce"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "yaklaşık bir gün önce"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "yaklaşık %d gün önce"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "yaklaşık bir ay önce"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "yaklaşık %d ay önce"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "yaklaşık bir yıl önce"
 
index b437482e44a4d2e3ca188581d350e638f8c03f21..228202cc886778f3ba0ee636615d4e93039faf93 100644 (file)
@@ -2,6 +2,7 @@
 #
 # Author@translatewiki.net: AS
 # Author@translatewiki.net: Boogie
+# Author@translatewiki.net: Prima klasy4na
 # --
 # This file is distributed under the same license as the StatusNet package.
 #
@@ -9,12 +10,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:13+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:46+0000\n"
 "Language-Team: Ukrainian\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: out-statusnet\n"
@@ -197,11 +198,11 @@ msgstr "Не вдалося оновити Ваш дизайн."
 msgid "You cannot block yourself!"
 msgstr "Ви не можете блокувати самого себе!"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "Спроба заблокувати користувача невдала."
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "Спроба розблокувати користувача невдала."
 
@@ -314,7 +315,7 @@ msgid "Could not find target user."
 msgstr "Не вдалося знайти цільового користувача."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -322,25 +323,25 @@ msgstr ""
 "інтервалів."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Це ім’я вже використовується. Спробуйте інше."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Це недійсне ім’я користувача."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Веб-сторінка має недійсну URL-адресу."
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Повне ім’я задовге (255 знаків максимум)"
@@ -351,7 +352,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Опис надто довгий (%d знаків максимум)."
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Локація надто довга (255 знаків максимум)."
@@ -466,7 +467,7 @@ msgstr "Надто довго. Максимальний розмір допис
 msgid "Not found"
 msgstr "Не знайдено"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -597,7 +598,7 @@ msgid "Preview"
 msgstr "Перегляд"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr "Видалити"
 
@@ -610,13 +611,13 @@ msgid "Crop"
 msgstr "Втяти"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -682,6 +683,7 @@ msgstr "Не блокувати цього користувача"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Так"
 
@@ -689,7 +691,7 @@ msgstr "Так"
 msgid "Block this user"
 msgstr "Блокувати користувача"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "Збереження інформації про блокування завершилось невдачею."
 
@@ -761,7 +763,7 @@ msgstr "Цю адресу вже було підтверджено."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Не вдалося оновити користувача."
@@ -821,7 +823,7 @@ msgstr "Ви впевненні, що бажаєте видалити цей д
 msgid "Do not delete this notice"
 msgstr "Не видаляти цей допис"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr "Видалити допис"
 
@@ -960,8 +962,8 @@ msgstr "Повернутись до початкових налаштувань"
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1131,7 +1133,7 @@ msgstr "Немає електронної адреси."
 msgid "Cannot normalize that email address"
 msgstr "Не можна полагодити цю поштову адресу"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "Це недійсна електронна адреса"
 
@@ -1263,8 +1265,8 @@ msgstr "Користувачі варті уваги, сторінка %d"
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
-msgstr "Ð\92ибÑ\96Ñ\80ка Ð· деяких видатних користувачів на %s"
+msgid "A selection of some great users on %s"
+msgstr "СпиÑ\81ок деяких видатних користувачів на %s"
 
 #: actions/file.php:34
 msgid "No notice ID."
@@ -1458,7 +1460,7 @@ msgstr "Учасники групи %s, сторінка %d"
 msgid "A list of the users in this group."
 msgstr "Список учасників цієї групи."
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "Адмін"
 
@@ -1557,7 +1559,7 @@ msgstr "Лише адміни можуть розблокувати членів
 msgid "User is not blocked from group."
 msgstr "Користувача не блоковано."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Помилка при розблокуванні."
 
@@ -1744,7 +1746,7 @@ msgstr "Особисті повідомлення"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Можна додати персональне повідомлення до запрошення (опціонально)."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Так!"
 
@@ -1867,7 +1869,7 @@ msgstr "Неточне ім’я або пароль."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Помилка. Можливо, Ви не авторизовані."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Увійти"
@@ -1982,7 +1984,7 @@ msgstr "Повідомлення надіслано"
 msgid "Direct message to %s sent"
 msgstr "Пряме повідомлення до %s надіслано"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Помилка в Ajax"
 
@@ -1990,7 +1992,7 @@ msgstr "Помилка в Ajax"
 msgid "New notice"
 msgstr "Новий допис"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "Допис надіслано"
 
@@ -2222,76 +2224,112 @@ msgstr "Щось не так із написанням директорії фо
 msgid "Locales directory not readable: %s"
 msgstr "Не можу прочитати директорію локалі: %s"
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr "Помилковий SSL-сервер. Максимальна довжина 255 знаків."
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr "Сайт"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr "Шлях"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Site path"
 msgstr "Шлях до сайту"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr "Шлях до локалей"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr "Директорія шляху до локалей"
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr "Тема"
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr "Сервер теми"
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr "Шлях до теми"
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr "Директорія теми"
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 msgid "Avatars"
 msgstr "Аватари"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 msgid "Avatar server"
 msgstr "Сервер аватари"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 msgid "Avatar path"
 msgstr "Шлях до аватари"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 msgid "Avatar directory"
 msgstr "Директорія аватари"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr "Фони"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr "Сервер фонів"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr "Шлях до фонів"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr "Директорія фонів"
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr "SSL-шифрування"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr "Ніколи"
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr "Іноді"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr "Завжди"
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr "Використовувати SSL"
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr "Тоді використовувати SSL"
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr "SSL-сервер"
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr "Сервер на який направляти SSL-запити"
+
+#: actions/pathsadminpanel.php:325
 msgid "Save paths"
 msgstr "Зберегти шляхи"
 
@@ -2386,72 +2424,80 @@ msgstr "Локація"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Де Ви живете, штибу \"Місто, область (регіон), країна\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "Показувати мою поточну локацію при надсиланні дописів"
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Теґи"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Позначте себе теґами (літери, цифри, -, . та _), відокремлюючи кожен комою "
 "або пробілом"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Мова"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Мова, котрій надаєте перевагу"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Часовий пояс"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "За яким часовим поясом Ви живете?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 "Автоматично підписуватись до тих, хто підписався до мене. (Слава роботам!)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Ви перевищили ліміт (%d знаків максимум)."
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "Часовий пояс не обрано."
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "Мова задовга (50 знаків максимум)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Недійсний теґ: \"%s\""
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "Не вдалося оновити користувача для автопідписки."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Не вдалося зберегти налаштування розташування."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Не вдалося зберегти профіль."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 msgid "Couldn't save tags."
 msgstr "Не вдалося зберегти теґи."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Налаштування збережено."
 
@@ -2557,7 +2603,7 @@ msgstr ""
 "Чому б не [зареєструватись](%%%%action.register%%%%) і не написати щось "
 "цікаве!"
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "Хмарка теґів"
 
@@ -2699,7 +2745,7 @@ msgstr "Даруйте, помилка у коді запрошення."
 msgid "Registration successful"
 msgstr "Реєстрація успішна"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Реєстрація"
@@ -2747,7 +2793,7 @@ msgid "Same as password above. Required."
 msgstr "Такий само, як і пароль вище. Неодмінно."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Пошта"
 
@@ -2890,7 +2936,7 @@ msgstr "Ви не можете вторувати своїм власним до
 msgid "You already repeated that notice."
 msgstr "Ви вже вторували цьому допису."
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 msgid "Repeated"
 msgstr "Вторування"
 
@@ -3248,238 +3294,198 @@ msgstr "Користувачу наразі заклеїли рота скотч
 msgid "Basic settings for this StatusNet site."
 msgstr "Загальні налаштування цього сайту StatusNet."
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr "Ім’я сайту не може бути порожнім."
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 msgid "You must have a valid contact email address"
 msgstr "Електронна адреса має бути дійсною"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr "Мову не визначено \"%s\""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr "Помилковий снепшот URL."
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr "Помилкове значення снепшоту."
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr "Частота повторення снепшотів має містити цифру."
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr "Ви маєте встановити SSL-сервер, коли використовуєте SSL."
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr "Помилковий SSL-сервер. Максимальна довжина 255 знаків."
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr "Ліміт текстових повідомлень становить 140 знаків."
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 "Часове обмеження при надсиланні дублікату повідомлення має становити від 1 і "
 "більше секунд."
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr "Основні"
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 msgid "Site name"
 msgstr "Назва сайту"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr "Назва Вашого сайту, штибу \"Мікроблоґи компанії ...\""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr "Надано"
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr "Текст використаний для посілань кредитів унизу кожної сторінки"
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr "Наданий URL"
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr "URL використаний для посілань кредитів унизу кожної сторінки"
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 msgid "Contact email address for your site"
 msgstr "Контактна електронна адреса для Вашого сайту"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 msgid "Local"
 msgstr "Локаль"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr "Часовий пояс за замовчуванням"
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr "Часовий пояс за замовчуванням для сайту; зазвичай UTC."
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr "Мова сайту за замовчуванням"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr "URL-адреси"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr "Сервер"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr "Ім’я хосту сервера на якому знаходиться сайт."
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr "Надзвичайні URL-адреси"
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Використовувати надзвичайні (найбільш пам’ятні і визначні) URL-адреси?"
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 msgid "Access"
 msgstr "Погодитись"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr "Приватно"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 "Заборонити анонімним відвідувачам (ті, що не увійшли до системи) переглядати "
 "сайт?"
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr "Лише за запрошеннями"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr "Зробити регістрацію лише за запрошеннями."
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 msgid "Closed"
 msgstr "Закрито"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr "Скасувати подальшу регістрацію."
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr "Снепшоти"
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr "Випадково під час веб-хіта"
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr "Згідно плану робіт"
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr "Ніколи"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr "Снепшоти даних"
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr "Коли надсилати статистичні дані до серверів status.net"
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr "Частота"
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr "Снепшоти надсилатимуться раз на N веб-хітів"
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr "Звітня URL-адреса"
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr "Снепшоти надсилатимуться на цю URL-адресу"
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr "SSL-шифрування"
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr "Іноді"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr "Завжди"
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr "Використовувати SSL"
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr "Тоді використовувати SSL"
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr "SSL-сервер"
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr "Сервер на який направляти SSL-запити"
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr "Обмеження"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr "Текстові обмеження"
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr "Максимальна кількість знаків у дописі."
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr "Часове обмеження"
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Як довго користувачі мають зачекати (в секундах) аби надіслати той самий "
 "допис ще раз."
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 msgid "Save site settings"
 msgstr "Зберегти налаштування сайту"
 
@@ -4081,16 +4087,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr "Вам заборонено надсилати дописи до цього сайту."
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Проблема при збереженні допису."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Помилка бази даних при додаванні відповіді: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
@@ -4145,128 +4151,128 @@ msgstr "%s — %s"
 msgid "Untitled page"
 msgstr "Сторінка без заголовку"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "Відправна навігація по сайту"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Дім"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "Персональний профіль і стрічка друзів"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "Акаунт"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr "Змінити електронну адресу, аватару, пароль, профіль"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "З’єднання"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect to services"
 msgstr "З’єднання з сервісами"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr "Змінити конфігурацію сайту"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Запросити"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Запросіть друзів та колег приєднатись до Вас на %s"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Вийти"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "Вийти з сайту"
 
-#: lib/action.php:455
+#: lib/action.php:456
 msgid "Create an account"
 msgstr "Створити новий акаунт"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "Увійти на сайт"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Допомога"
 
-#: lib/action.php:461
+#: lib/action.php:462
 msgid "Help me!"
 msgstr "Допоможіть!"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Пошук"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "Пошук людей або текстів"
 
-#: lib/action.php:485
+#: lib/action.php:486
 msgid "Site notice"
 msgstr "Зауваження сайту"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "Огляд"
 
-#: lib/action.php:617
+#: lib/action.php:618
 msgid "Page notice"
 msgstr "Зауваження сторінки"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr "Другорядна навігація по сайту"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Про"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "ЧаПи"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr "Умови"
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Конфіденційність"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Джерело"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Контакт"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr "Бедж"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "Ліцензія програмного забезпечення StatusNet"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4275,12 +4281,12 @@ msgstr ""
 "**%%site.name%%** — це сервіс мікроблоґів наданий вам [%%site.broughtby%%](%%"
 "site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** — це сервіс мікроблоґів. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4291,31 +4297,31 @@ msgstr ""
 "для мікроблоґів, версія %s, доступному під [GNU Affero General Public "
 "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 msgid "Site content license"
 msgstr "Ліцензія змісту сайту"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "Всі "
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "ліцензія."
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "Нумерація сторінок"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr "Вперед"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 msgid "Before"
 msgstr "Назад"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr "Виникли певні проблеми з токеном поточної сесії."
 
@@ -4367,6 +4373,16 @@ msgstr "Дописи, до яких прикріплено це вкладенн
 msgid "Tags for this attachment"
 msgstr "Теґи для цього вкладення"
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Пароль замінено"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Пароль замінено"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "Результати команди"
@@ -5115,12 +5131,12 @@ msgstr ""
 "Щиро Ваші,\n"
 "%6$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr "%s (@%s) пропонує до Вашої уваги наступний допис"
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5160,7 +5176,7 @@ msgstr ""
 "повідомлення аби долучити користувачів до розмови. Такі повідомлення бачите "
 "лише Ви."
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr "від"
 
@@ -5226,72 +5242,75 @@ msgstr "Надіслати прямий допис"
 msgid "To"
 msgstr "До"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 msgid "Available characters"
 msgstr "Лишилось знаків"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Надіслати допис"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Що нового, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr "Вкласти"
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr "Вкласти файл"
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Показувати місцезнаходження"
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr "Півн."
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr "Півд."
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr "Сх."
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr "Зах."
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr "в"
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 msgid "in context"
 msgstr "в контексті"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 msgid "Repeated by"
 msgstr "Вторуванні"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr "Відповісти на цей допис"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Відповісти"
 
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
 msgid "Notice repeated"
-msgstr "Допис видалено."
+msgstr "Допис вторували"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -5418,13 +5437,13 @@ msgstr "Постаті"
 msgid "Popular"
 msgstr "Популярне"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
-msgid "Repeat this notice"
-msgstr "Ð\92Ñ\82оÑ\80Ñ\83ваÑ\82и Ñ\86Ñ\8cомÑ\83 Ð´Ð¾Ð¿Ð¸Ñ\81Ñ\83"
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Ð\9fовÑ\82оÑ\80иÑ\82и Ñ\86ей Ð´Ð¾Ð¿Ð¸Ñ\81?"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr "Вторувати"
+msgid "Repeat this notice"
+msgstr "Вторувати цьому допису"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5595,47 +5614,47 @@ msgstr "Повідомлення"
 msgid "Moderate"
 msgstr "Модерувати"
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "мить тому"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "хвилину тому"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "близько %d хвилин тому"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "годину тому"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "близько %d годин тому"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "день тому"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "близько %d днів тому"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "місяць тому"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "близько %d місяців тому"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "рік тому"
 
index c2c80a2f689693876b7bdb7f78c8cfd14ab012e1..029f4c86fd9937b78b01f022237186fc3ecd1c7b 100644 (file)
@@ -7,12 +7,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:15+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:52+0000\n"
 "Language-Team: Vietnamese\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: vi\n"
 "X-Message-Group: out-statusnet\n"
@@ -193,11 +193,11 @@ msgstr "Không thể cập nhật thành viên."
 msgid "You cannot block yourself!"
 msgstr "Không thể cập nhật thành viên."
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -318,31 +318,31 @@ msgid "Could not find target user."
 msgstr "Không tìm thấy bất kỳ trạng thái nào."
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Biệt hiệu phải là chữ viết thường hoặc số và không có khoảng trắng."
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "Biệt hiệu này đã dùng rồi. Hãy nhập biệt hiệu khác."
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "Biệt hiệu không hợp lệ."
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "Trang chủ không phải là URL"
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "Tên đầy đủ quá dài (tối đa là 255 ký tự)."
@@ -353,7 +353,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "Lý lịch quá dài (không quá 140 ký tự)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "Tên khu vực quá dài (không quá 255 ký tự)."
@@ -474,7 +474,7 @@ msgstr "Quá dài. Tối đa là 140 ký tự."
 msgid "Not found"
 msgstr "Không tìm thấy"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -609,7 +609,7 @@ msgid "Preview"
 msgstr "Xem trước"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 #, fuzzy
 msgid "Delete"
 msgstr "Xóa tin nhắn"
@@ -624,13 +624,13 @@ msgid "Crop"
 msgstr "Nhóm"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -696,6 +696,7 @@ msgstr "Bỏ chặn người dùng này"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "Có"
 
@@ -704,7 +705,7 @@ msgstr "Có"
 msgid "Block this user"
 msgstr "Ban user"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -779,7 +780,7 @@ msgstr "Địa chỉ đó đã được xác nhận rồi."
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "Không thể cập nhật thành viên."
@@ -842,7 +843,7 @@ msgstr "Bạn có chắc chắn là muốn xóa tin nhắn này không?"
 msgid "Do not delete this notice"
 msgstr "Không thể xóa tin nhắn này."
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 #, fuzzy
 msgid "Delete this notice"
 msgstr "Xóa tin nhắn"
@@ -996,8 +997,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1181,7 +1182,7 @@ msgstr "Không có địa chỉ email."
 msgid "Cannot normalize that email address"
 msgstr "Không thể bình thường hóa địa chỉ GTalk này"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 #, fuzzy
 msgid "Not a valid email address"
 msgstr "Địa chỉ email không hợp lệ."
@@ -1319,7 +1320,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1532,7 +1533,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1628,7 +1629,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "Người dùng không có thông tin."
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "Lỗi xảy ra khi lưu thành viên."
@@ -1816,7 +1817,7 @@ msgstr "Tin nhắn cá nhân"
 msgid "Optionally add a personal message to the invitation."
 msgstr "Không bắt buộc phải thêm thông điệp vào thư mời."
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "Gửi"
 
@@ -1945,7 +1946,7 @@ msgstr "Sai tên đăng nhập hoặc mật khẩu."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Chưa được phép."
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "Đăng nhập"
@@ -2061,7 +2062,7 @@ msgstr "Tin mới nhất"
 msgid "Direct message to %s sent"
 msgstr "Tin nhắn riêng"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 #, fuzzy
 msgid "Ajax Error"
 msgstr "Lỗi"
@@ -2070,7 +2071,7 @@ msgstr "Lỗi"
 msgid "New notice"
 msgstr "Thông báo mới"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 #, fuzzy
 msgid "Notice posted"
 msgstr "Tin đã gửi"
@@ -2307,87 +2308,126 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "Thư mời"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "Thông báo mới"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "Hình đại diện"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "Thay đổi hình đại diện"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "Hình đại diện đã được cập nhật."
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "Hình đại diện đã được cập nhật."
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 #, fuzzy
 msgid "Backgrounds"
 msgstr "Background Theme:"
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 #, fuzzy
 msgid "Background server"
 msgstr "Background Theme:"
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 #, fuzzy
 msgid "Background path"
 msgstr "Background Theme:"
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 #, fuzzy
 msgid "Background directory"
 msgstr "Background Theme:"
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "Khôi phục"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "Tin nhắn"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "Thông báo mới"
 
@@ -2483,72 +2523,81 @@ msgstr "Thành phố"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Bạn ở đâu, \"Thành phố, Tỉnh thành, Quốc gia\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "Từ khóa"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "Ngôn ngữ"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "Ngôn ngữ bạn thích"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "Khu vực"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "Khu vực nào bạn thường ở?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr "Tự động theo những người nào đăng ký theo tôi"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "Lý lịch quá dài (không quá 140 ký tự)"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 #, fuzzy
 msgid "Language is too long (max 50 chars)."
 msgstr "Ngôn ngữ quá dài (tối đa là 50 ký tự)."
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Trang chủ '%s'  không hợp lệ"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 #, fuzzy
 msgid "Couldn't update user for autosubscribe."
 msgstr "Không thể cập nhật thành viên."
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Không thể lưu hồ sơ cá nhân."
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "Không thể lưu hồ sơ cá nhân."
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "Không thể lưu hồ sơ cá nhân."
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "Đã lưu các điều chỉnh."
 
@@ -2646,7 +2695,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2786,7 +2835,7 @@ msgstr "Lỗi xảy ra với mã xác nhận."
 msgid "Registration successful"
 msgstr "Đăng ký thành công"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "Đăng ký"
@@ -2833,7 +2882,7 @@ msgid "Same as password above. Required."
 msgstr "Cùng mật khẩu ở trên. Bắt buộc."
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "Email"
 
@@ -2978,7 +3027,7 @@ msgstr "Bạn không thể đăng ký nếu không đồng ý các điều kho
 msgid "You already repeated that notice."
 msgstr "Bạn đã theo những người này:"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "Tạo"
@@ -3314,245 +3363,202 @@ msgstr "Người dùng không có thông tin."
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "Địa chỉ email không hợp lệ."
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "Thông báo mới"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "Dia chi email moi de gui tin nhan den %s"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "Thành phố"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "Ngôn ngữ bạn thích"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "Khôi phục"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "Chấp nhận"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "Riêng tư"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "Thư mời"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "Ban user"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "Khôi phục"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "Tin nhắn"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "Thay đổi hình đại diện"
@@ -4172,16 +4178,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "Có lỗi xảy ra khi lưu tin nhắn."
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "Lỗi cơ sở dữ liệu khi chèn trả lời: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%s (%s)"
@@ -4241,140 +4247,140 @@ msgstr "%s (%s)"
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "Trang chủ"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "Giới thiệu"
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Change your email, avatar, password, profile"
 msgstr "Thay đổi mật khẩu của bạn"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "Kết nối"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "Không thể chuyển đến máy chủ: %s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "Tôi theo"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "Thư mời"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, fuzzy, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 "Điền địa chỉ email và nội dung tin nhắn để gửi thư mời bạn bè và đồng nghiệp "
 "của bạn tham gia vào dịch vụ này."
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "Thoát"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "Tạo tài khoản mới"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "Hướng dẫn"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "Hướng dẫn"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "Tìm kiếm"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "Thông báo mới"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "Thông báo mới"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Tôi theo"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "Giới thiệu"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "Riêng tư"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "Nguồn"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "Liên hệ"
 
-#: lib/action.php:741
+#: lib/action.php:742
 #, fuzzy
 msgid "Badge"
 msgstr "Tin đã gửi"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4383,12 +4389,12 @@ msgstr ""
 "**%%site.name%%** là dịch vụ gửi tin nhắn được cung cấp từ [%%site.broughtby%"
 "%](%%site.broughtbyurl%%). "
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** là dịch vụ gửi tin nhắn. "
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, fuzzy, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4399,34 +4405,34 @@ msgstr ""
 "quyền [GNU Affero General Public License](http://www.fsf.org/licensing/"
 "licenses/agpl-3.0.html)."
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "Tìm theo nội dung của tin nhắn"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 #, fuzzy
 msgid "After"
 msgstr "Sau"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "Trước"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 #, fuzzy
 msgid "There was a problem with your session token."
 msgstr "Có lỗi xảy ra khi thao tác. Hãy thử lại lần nữa."
@@ -4485,6 +4491,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Đã lưu mật khẩu."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Đã lưu mật khẩu."
+
 #: lib/channel.php:138 lib/channel.php:158
 #, fuzzy
 msgid "Command results"
@@ -5205,12 +5221,12 @@ msgstr ""
 "Chúc sức khỏe,\n"
 "%5$s\n"
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5235,7 +5251,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr " từ "
@@ -5301,75 +5317,79 @@ msgstr "Xóa tin nhắn"
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "Nhiều hơn 6 ký tự"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "Thông báo mới"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "Bạn đang làm gì thế, %s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "Không"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "Không có nội dung!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "Tạo"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 #, fuzzy
 msgid "Reply to this notice"
 msgstr "Trả lời tin nhắn này"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr "Trả lời"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "Tin đã gửi"
@@ -5509,15 +5529,15 @@ msgstr ""
 msgid "Popular"
 msgstr "Tên tài khoản"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "Trả lời tin nhắn này"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "Khởi tạo"
+msgid "Repeat this notice"
+msgstr "Trả lời tin nhắn này"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5709,47 +5729,47 @@ msgstr "Tin mới nhất"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "vài giây trước"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "1 phút trước"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "%d phút trước"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "1 giờ trước"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "%d giờ trước"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "1 ngày trước"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "%d ngày trước"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "1 tháng trước"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "%d tháng trước"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "1 năm trước"
 
index 9c099dc34cbae05a3cf8ac91d00d75051f4dbbb7..576797ad3997f9a9bc0542e876b82026a2e28730 100644 (file)
@@ -1,5 +1,6 @@
 # Translation of StatusNet to Simplified Chinese
 #
+# Author@translatewiki.net: Shizhao
 # --
 # Messages of identi.ca
 # Copyright (C) 2008 Gouki <gouki@goukihq.org>
@@ -9,12 +10,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:18+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:12:55+0000\n"
 "Language-Team: Simplified Chinese\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: zh-hans\n"
 "X-Message-Group: out-statusnet\n"
@@ -22,9 +23,8 @@ msgstr ""
 
 #: actions/all.php:63 actions/public.php:97 actions/replies.php:92
 #: actions/showfavorites.php:137 actions/tag.php:51
-#, fuzzy
 msgid "No such page"
-msgstr "æ\9cªæ\89¾å\88°æ­¤æ¶\88æ\81¯ã\80\82"
+msgstr "没æ\9c\89该页é\9d¢"
 
 #: actions/all.php:74 actions/allrss.php:68
 #: actions/apiaccountupdatedeliverydevice.php:113
@@ -53,9 +53,9 @@ msgid "No such user."
 msgstr "没有这个用户。"
 
 #: actions/all.php:84
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s 及好友"
+msgstr "%s 及好友,页面 %d"
 
 #: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
 #: actions/apitimelinefriends.php:115 actions/apitimelinehome.php:115
@@ -65,25 +65,25 @@ msgid "%s and friends"
 msgstr "%s 及好友"
 
 #: actions/all.php:99
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 1.0)"
-msgstr "%s 好友的聚合"
+msgstr "%s 好友的聚合(RSS 1.0)"
 
 #: actions/all.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (RSS 2.0)"
-msgstr "%s 好友的聚合"
+msgstr "%s 好友的聚合(RSS 2.0)"
 
 #: actions/all.php:115
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s (Atom)"
-msgstr "%s 好友的聚合"
+msgstr "%s 好友的聚合(Atom)"
 
 #: actions/all.php:127
 #, php-format
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
-msgstr ""
+msgstr "这是 %s 和好友的时间线,但是没有任何人发布内容。"
 
 #: actions/all.php:132
 #, php-format
@@ -115,7 +115,7 @@ msgstr "%s 及好友"
 #: actions/apitimelinehome.php:122
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
-msgstr "%2$s 上 %1$s 和好友的更新!"
+msgstr "来自%2$s 上 %1$s 和好友的更新!"
 
 #: actions/apiaccountratelimitstatus.php:70
 #: actions/apiaccountupdatedeliverydevice.php:93
@@ -195,11 +195,11 @@ msgstr "无法更新用户。"
 msgid "You cannot block yourself!"
 msgstr "无法更新用户。"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr "阻止用户失败。"
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr "取消阻止用户失败。"
 
@@ -316,31 +316,31 @@ msgid "Could not find target user."
 msgstr "找不到任何信息。"
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "昵称只能使用小写字母和数字,不包含空格。"
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "昵称已被使用,换一个吧。"
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr "不是有效的昵称。"
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "主页的URL不正确。"
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "全名过长(不能超过 255 个字符)。"
@@ -351,7 +351,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "描述过长(不能超过140字符)。"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "位置过长(不能超过255个字符)。"
@@ -472,7 +472,7 @@ msgstr "超出长度限制。不能超过 140 个字符。"
 msgid "Not found"
 msgstr "未找到"
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -604,7 +604,7 @@ msgid "Preview"
 msgstr "预览"
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 #, fuzzy
 msgid "Delete"
 msgstr "删除"
@@ -618,13 +618,13 @@ msgid "Crop"
 msgstr "剪裁"
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -690,6 +690,7 @@ msgstr "取消阻止次用户"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr "是"
 
@@ -698,7 +699,7 @@ msgstr "是"
 msgid "Block this user"
 msgstr "阻止该用户"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr "保存阻止信息失败。"
 
@@ -775,7 +776,7 @@ msgstr "此地址已被确认。"
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "无法更新用户。"
@@ -838,7 +839,7 @@ msgstr "确定要删除这条消息吗?"
 msgid "Do not delete this notice"
 msgstr "无法删除通告。"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 #, fuzzy
 msgid "Delete this notice"
 msgstr "删除通告"
@@ -988,8 +989,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1161,7 +1162,7 @@ msgstr "没有电子邮件地址。"
 msgid "Cannot normalize that email address"
 msgstr "无法识别此电子邮件"
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr "不是有效的电子邮件"
 
@@ -1290,8 +1291,8 @@ msgid "Featured users, page %d"
 msgstr "推荐用户,第 %d 页"
 
 #: actions/featured.php:99
-#, php-format
-msgid "A selection of some of the great users on %s"
+#, fuzzy, php-format
+msgid "A selection of some great users on %s"
 msgstr "%s 优秀用户摘选"
 
 #: actions/file.php:34
@@ -1504,7 +1505,7 @@ msgstr "%s 组成员, 第 %d 页"
 msgid "A list of the users in this group."
 msgstr "该组成员列表。"
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr "admin管理员"
 
@@ -1598,7 +1599,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr "用户没有个人信息。"
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "保存用户时出错。"
@@ -1775,7 +1776,7 @@ msgstr "个人消息"
 msgid "Optionally add a personal message to the invitation."
 msgstr "在邀请中加几句话(可选)。"
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr "发送"
 
@@ -1897,7 +1898,7 @@ msgstr "用户名或密码不正确。"
 msgid "Error setting user. You are probably not authorized."
 msgstr "未认证。"
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "登录"
@@ -2007,7 +2008,7 @@ msgstr "新消息"
 msgid "Direct message to %s sent"
 msgstr "已向 %s 发送消息"
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr "Ajax错误"
 
@@ -2015,7 +2016,7 @@ msgstr "Ajax错误"
 msgid "New notice"
 msgstr "新通告"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr "消息已发布。"
 
@@ -2245,83 +2246,122 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 #, fuzzy
 msgid "Site"
 msgstr "邀请"
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "新通告"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "头像"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "头像设置"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "头像已更新。"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "头像已更新。"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+#, fuzzy
+msgid "SSL"
+msgstr "SMS短信"
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+#, fuzzy
+msgid "Never"
+msgstr "恢复"
+
 #: actions/pathsadminpanel.php:297
 #, fuzzy
+msgid "Sometimes"
+msgstr "通告"
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
+#, fuzzy
 msgid "Save paths"
 msgstr "新通告"
 
@@ -2415,70 +2455,79 @@ msgstr "位置"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "你的位置,格式类似\"城市,省份,国家\""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr "标签"
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr "你的标签 (字母letters, 数字numbers, -, ., 和 _), 以逗号或空格分隔"
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr "语言"
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr "首选语言"
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr "时区"
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr "您一般处于哪个时区?"
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr "自动订阅任何订阅我的更新的人(这个选项最适合机器人)"
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "自述过长(不能超过140字符)。"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr "未选择时区。"
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr "语言过长(不能超过50个字符)。"
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "主页'%s'不正确"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr "无法更新用户的自动订阅选项。"
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "无法保存个人信息。"
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "无法保存个人信息。"
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "无法保存个人信息。"
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr "设置已保存。"
 
@@ -2578,7 +2627,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr "标签云聚集"
 
@@ -2715,7 +2764,7 @@ msgstr "验证码出错。"
 msgid "Registration successful"
 msgstr "注册成功。"
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr "注册"
@@ -2759,7 +2808,7 @@ msgid "Same as password above. Required."
 msgstr "相同的密码。此项必填。"
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "电子邮件"
 
@@ -2903,7 +2952,7 @@ msgstr "您必须同意此授权方可注册。"
 msgid "You already repeated that notice."
 msgstr "您已成功阻止该用户:"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "创建"
@@ -3242,246 +3291,203 @@ msgstr "用户没有个人信息。"
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "不是有效的电子邮件"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "新通告"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "新的电子邮件地址,用于发布 %s 信息"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "本地显示"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 #, fuzzy
 msgid "Default site language"
 msgstr "首选语言"
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 #, fuzzy
 msgid "URLs"
 msgstr "URL 互联网地址"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 #, fuzzy
 msgid "Server"
 msgstr "恢复"
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "接受"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 #, fuzzy
 msgid "Private"
 msgstr "隐私"
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 #, fuzzy
 msgid "Invite only"
 msgstr "邀请"
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "阻止"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-#, fuzzy
-msgid "Never"
-msgstr "恢复"
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-#, fuzzy
-msgid "SSL"
-msgstr "SMS短信"
-
-#: actions/siteadminpanel.php:384
-#, fuzzy
-msgid "Sometimes"
-msgstr "通告"
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "头像设置"
@@ -4089,16 +4095,16 @@ msgstr "你在短时间里发布了过多的消息,请深呼吸,过几分钟
 msgid "You are banned from posting notices on this site."
 msgstr "在这个网站你被禁止发布消息。"
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr "保存通告时出错。"
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "添加回复时数据库出错:%s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, fuzzy, php-format
 msgid "RT @%1$s %2$s"
 msgstr "%1$s (%2$s)"
@@ -4155,137 +4161,137 @@ msgstr "%s (%s)"
 msgid "Untitled page"
 msgstr "无标题页"
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr "主站导航"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "主页"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr "个人资料及朋友年表"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Account"
 msgstr "帐号"
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Change your email, avatar, password, profile"
 msgstr "修改资料"
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "连接"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "无法重定向到服务器:%s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 #, fuzzy
 msgid "Change site configuration"
 msgstr "主站导航"
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr "邀请"
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, fuzzy, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "使用这个表单来邀请好友和同事加入。"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "登出"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr "登出本站"
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "创建新帐号"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr "登入本站"
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "帮助"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "帮助"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr "搜索"
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr "检索人或文字"
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "新通告"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr "本地显示"
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "新通告"
 
-#: lib/action.php:719
+#: lib/action.php:720
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "次项站导航"
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "关于"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "常见问题FAQ"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr "隐私"
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr "来源"
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "联系人"
 
-#: lib/action.php:741
+#: lib/action.php:742
 #, fuzzy
 msgid "Badge"
 msgstr "呼叫"
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr "StatusNet软件注册证"
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4294,12 +4300,12 @@ msgstr ""
 "**%%site.name%%** 是一个微博客服务,提供者为 [%%site.broughtby%%](%%site."
 "broughtbyurl%%)。"
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** 是一个微博客服务。"
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4310,34 +4316,34 @@ msgstr ""
 "General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)"
 "授权。"
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "StatusNet软件注册证"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr "全部"
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr "注册证"
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr "分页"
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 #, fuzzy
 msgid "After"
 msgstr "« 之后"
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "之前 »"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 #, fuzzy
 msgid "There was a problem with your session token."
 msgstr "会话标识有问题,请重试。"
@@ -4398,6 +4404,16 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "密码已保存。"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "密码已保存。"
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr "执行结果"
@@ -5066,12 +5082,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5096,7 +5112,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 #, fuzzy
 msgid "from"
 msgstr " 从 "
@@ -5162,76 +5178,80 @@ msgstr "删除通告"
 msgid "To"
 msgstr "到"
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6 个或更多字符"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "发送消息"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr "怎么样,%s?"
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 #, fuzzy
 msgid "N"
 msgstr "否"
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "没有内容!"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "创建"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 #, fuzzy
 msgid "Reply to this notice"
 msgstr "无法删除通告。"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 #, fuzzy
 msgid "Reply"
 msgstr "回复"
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "消息已发布。"
@@ -5369,15 +5389,15 @@ msgstr "特征"
 msgid "Popular"
 msgstr "用户"
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "无法删除通告。"
 
 #: lib/repeatform.php:132
 #, fuzzy
-msgid "Repeat"
-msgstr "重置"
+msgid "Repeat this notice"
+msgstr "无法删除通告。"
 
 #: lib/sandboxform.php:67
 #, fuzzy
@@ -5568,47 +5588,47 @@ msgstr "新消息"
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr "几秒前"
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr "一分钟前"
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr "%d 分钟前"
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr "一小时前"
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr "%d 小时前"
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr "一天前"
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr "%d 天前"
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr "一个月前"
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr "%d 个月前"
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr "一年前"
 
index 9acae37c1e8c22e105e96ceb3c2b443a0377e1ff..906f8fab1b5ddd18874a6759cd0a0e9161d16b4a 100644 (file)
@@ -7,12 +7,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-16 22:51+0000\n"
-"PO-Revision-Date: 2009-12-16 22:53:21+0000\n"
+"POT-Creation-Date: 2010-01-05 22:10+0000\n"
+"PO-Revision-Date: 2010-01-05 22:13:02+0000\n"
 "Language-Team: Traditional Chinese\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60142); Translate extension (2009-12-06)\n"
+"X-Generator: MediaWiki 1.16alpha (r60693); Translate extension (2010-01-04)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: zh-hant\n"
 "X-Message-Group: out-statusnet\n"
@@ -192,11 +192,11 @@ msgstr "無法更新使用者"
 msgid "You cannot block yourself!"
 msgstr "無法更新使用者"
 
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
 msgid "Block user failed."
 msgstr ""
 
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
 msgid "Unblock user failed."
 msgstr ""
 
@@ -311,31 +311,31 @@ msgid "Could not find target user."
 msgstr "無法更新使用者"
 
 #: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
 #: actions/register.php:205
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "暱稱請用小寫字母或數字,勿加空格。"
 
 #: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
 #: actions/register.php:208
 msgid "Nickname already in use. Try another one."
 msgstr "此暱稱已有人使用。再試試看別的吧。"
 
 #: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
 #: actions/register.php:210
 msgid "Not a valid nickname."
 msgstr ""
 
 #: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
 #: actions/register.php:217
 msgid "Homepage is not a valid URL."
 msgstr "個人首頁位址錯誤"
 
 #: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
 #: actions/register.php:220
 msgid "Full name is too long (max 255 chars)."
 msgstr "全名過長(最多255字元)"
@@ -346,7 +346,7 @@ msgid "Description is too long (max %d chars)."
 msgstr "自我介紹過長(共140個字元)"
 
 #: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
 #: actions/register.php:227
 msgid "Location is too long (max 255 chars)."
 msgstr "地點過長(共255個字)"
@@ -466,7 +466,7 @@ msgstr ""
 msgid "Not found"
 msgstr ""
 
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:183
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
 #, php-format
 msgid "Max notice size is %d chars, including attachment URL."
 msgstr ""
@@ -598,7 +598,7 @@ msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
 msgid "Delete"
 msgstr ""
 
@@ -611,13 +611,13 @@ msgid "Crop"
 msgstr ""
 
 #: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
 #: actions/groupblock.php:66 actions/grouplogo.php:309
 #: actions/groupunblock.php:66 actions/imsettings.php:206
 #: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
 #: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
 #: actions/register.php:165 actions/remotesubscribe.php:77
 #: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
 #: actions/subscribe.php:46 actions/tagother.php:166
@@ -683,6 +683,7 @@ msgstr "無此使用者"
 
 #: actions/block.php:144 actions/deletenotice.php:146
 #: actions/deleteuser.php:148 actions/groupblock.php:179
+#: lib/repeatform.php:132
 msgid "Yes"
 msgstr ""
 
@@ -691,7 +692,7 @@ msgstr ""
 msgid "Block this user"
 msgstr "無此使用者"
 
-#: actions/block.php:162
+#: actions/block.php:167
 msgid "Failed to save block information."
 msgstr ""
 
@@ -767,7 +768,7 @@ msgstr ""
 #: actions/confirmaddress.php:114 actions/emailsettings.php:296
 #: actions/emailsettings.php:427 actions/imsettings.php:258
 #: actions/imsettings.php:401 actions/othersettings.php:174
-#: actions/profilesettings.php:276 actions/smssettings.php:278
+#: actions/profilesettings.php:283 actions/smssettings.php:278
 #: actions/smssettings.php:420
 msgid "Couldn't update user."
 msgstr "無法更新使用者"
@@ -829,7 +830,7 @@ msgstr ""
 msgid "Do not delete this notice"
 msgstr "無此通知"
 
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
 msgid "Delete this notice"
 msgstr ""
 
@@ -974,8 +975,8 @@ msgstr ""
 
 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
 #: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:296 actions/profilesettings.php:167
-#: actions/siteadminpanel.php:421 actions/smssettings.php:181
+#: actions/pathsadminpanel.php:324 actions/profilesettings.php:174
+#: actions/siteadminpanel.php:388 actions/smssettings.php:181
 #: actions/subscriptions.php:203 actions/tagother.php:154
 #: actions/useradminpanel.php:313 lib/designsettings.php:256
 #: lib/groupeditform.php:202
@@ -1145,7 +1146,7 @@ msgstr ""
 msgid "Cannot normalize that email address"
 msgstr ""
 
-#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
+#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1271,7 +1272,7 @@ msgstr ""
 
 #: actions/featured.php:99
 #, php-format
-msgid "A selection of some of the great users on %s"
+msgid "A selection of some great users on %s"
 msgstr ""
 
 #: actions/file.php:34
@@ -1473,7 +1474,7 @@ msgstr ""
 msgid "A list of the users in this group."
 msgstr ""
 
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
 msgid "Admin"
 msgstr ""
 
@@ -1562,7 +1563,7 @@ msgstr ""
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
 #, fuzzy
 msgid "Error removing the block."
 msgstr "儲存使用者發生錯誤"
@@ -1735,7 +1736,7 @@ msgstr ""
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
 msgid "Send"
 msgstr ""
 
@@ -1831,7 +1832,7 @@ msgstr "使用者名稱或密碼錯誤"
 msgid "Error setting user. You are probably not authorized."
 msgstr ""
 
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
 #: lib/logingroupnav.php:79
 msgid "Login"
 msgstr "登入"
@@ -1938,7 +1939,7 @@ msgstr ""
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: actions/newmessage.php:210 actions/newnotice.php:242 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -1946,7 +1947,7 @@ msgstr ""
 msgid "New notice"
 msgstr "新訊息"
 
-#: actions/newnotice.php:208
+#: actions/newnotice.php:211
 msgid "Notice posted"
 msgstr ""
 
@@ -2172,81 +2173,117 @@ msgstr ""
 msgid "Locales directory not readable: %s"
 msgstr ""
 
-#: actions/pathsadminpanel.php:212 actions/siteadminpanel.php:58
+#: actions/pathsadminpanel.php:166
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
 #: lib/adminpanelaction.php:299
 msgid "Site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 msgid "Path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:216
+#: actions/pathsadminpanel.php:221
 #, fuzzy
 msgid "Site path"
 msgstr "新訊息"
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:220
+#: actions/pathsadminpanel.php:225
 msgid "Directory path to locales"
 msgstr ""
 
-#: actions/pathsadminpanel.php:227
+#: actions/pathsadminpanel.php:232
 msgid "Theme"
 msgstr ""
 
-#: actions/pathsadminpanel.php:232
+#: actions/pathsadminpanel.php:237
 msgid "Theme server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:236
+#: actions/pathsadminpanel.php:241
 msgid "Theme path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:240
+#: actions/pathsadminpanel.php:245
 msgid "Theme directory"
 msgstr ""
 
-#: actions/pathsadminpanel.php:247
+#: actions/pathsadminpanel.php:252
 #, fuzzy
 msgid "Avatars"
 msgstr "個人圖像"
 
-#: actions/pathsadminpanel.php:252
+#: actions/pathsadminpanel.php:257
 #, fuzzy
 msgid "Avatar server"
 msgstr "線上即時通設定"
 
-#: actions/pathsadminpanel.php:256
+#: actions/pathsadminpanel.php:261
 #, fuzzy
 msgid "Avatar path"
 msgstr "更新個人圖像"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:265
 #, fuzzy
 msgid "Avatar directory"
 msgstr "更新個人圖像"
 
-#: actions/pathsadminpanel.php:269
+#: actions/pathsadminpanel.php:274
 msgid "Backgrounds"
 msgstr ""
 
-#: actions/pathsadminpanel.php:273
+#: actions/pathsadminpanel.php:278
 msgid "Background server"
 msgstr ""
 
-#: actions/pathsadminpanel.php:277
+#: actions/pathsadminpanel.php:282
 msgid "Background path"
 msgstr ""
 
-#: actions/pathsadminpanel.php:281
+#: actions/pathsadminpanel.php:286
 msgid "Background directory"
 msgstr ""
 
+#: actions/pathsadminpanel.php:293
+msgid "SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
+msgid "Never"
+msgstr ""
+
 #: actions/pathsadminpanel.php:297
+msgid "Sometimes"
+msgstr ""
+
+#: actions/pathsadminpanel.php:298
+msgid "Always"
+msgstr ""
+
+#: actions/pathsadminpanel.php:302
+msgid "Use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:303
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:308
+msgid "SSL Server"
+msgstr ""
+
+#: actions/pathsadminpanel.php:309
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:325
 #, fuzzy
 msgid "Save paths"
 msgstr "新訊息"
@@ -2338,70 +2375,79 @@ msgstr "地點"
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:209
 msgid "Tags"
 msgstr ""
 
-#: actions/profilesettings.php:140
+#: actions/profilesettings.php:147
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 
-#: actions/profilesettings.php:144 actions/siteadminpanel.php:307
+#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
 msgid "Language"
 msgstr ""
 
-#: actions/profilesettings.php:145
+#: actions/profilesettings.php:152
 msgid "Preferred language"
 msgstr ""
 
-#: actions/profilesettings.php:154
+#: actions/profilesettings.php:161
 msgid "Timezone"
 msgstr ""
 
-#: actions/profilesettings.php:155
+#: actions/profilesettings.php:162
 msgid "What timezone are you normally in?"
 msgstr ""
 
-#: actions/profilesettings.php:160
+#: actions/profilesettings.php:167
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
 
-#: actions/profilesettings.php:221 actions/register.php:223
+#: actions/profilesettings.php:228 actions/register.php:223
 #, fuzzy, php-format
 msgid "Bio is too long (max %d chars)."
 msgstr "自我介紹過長(共140個字元)"
 
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:165
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:164
 msgid "Timezone not selected."
 msgstr ""
 
-#: actions/profilesettings.php:234
+#: actions/profilesettings.php:241
 msgid "Language is too long (max 50 chars)."
 msgstr ""
 
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "個人首頁連結%s無效"
 
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
 msgid "Couldn't update user for autosubscribe."
 msgstr ""
 
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "無法儲存個人資料"
+
+#: actions/profilesettings.php:366
 msgid "Couldn't save profile."
 msgstr "無法儲存個人資料"
 
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
 #, fuzzy
 msgid "Couldn't save tags."
 msgstr "無法儲存個人資料"
 
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
 msgid "Settings saved."
 msgstr ""
 
@@ -2495,7 +2541,7 @@ msgid ""
 "one!"
 msgstr ""
 
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
 msgid "Tag cloud"
 msgstr ""
 
@@ -2632,7 +2678,7 @@ msgstr "確認碼發生錯誤"
 msgid "Registration successful"
 msgstr ""
 
-#: actions/register.php:114 actions/register.php:502 lib/action.php:455
+#: actions/register.php:114 actions/register.php:502 lib/action.php:456
 #: lib/logingroupnav.php:85
 msgid "Register"
 msgstr ""
@@ -2676,7 +2722,7 @@ msgid "Same as password above. Required."
 msgstr ""
 
 #: actions/register.php:437 actions/register.php:441
-#: actions/siteadminpanel.php:283 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
 msgid "Email"
 msgstr "電子信箱"
 
@@ -2800,7 +2846,7 @@ msgstr ""
 msgid "You already repeated that notice."
 msgstr "無此使用者"
 
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
 #, fuzzy
 msgid "Repeated"
 msgstr "新增"
@@ -3130,238 +3176,198 @@ msgstr ""
 msgid "Basic settings for this StatusNet site."
 msgstr ""
 
-#: actions/siteadminpanel.php:147
+#: actions/siteadminpanel.php:146
 msgid "Site name must have non-zero length."
 msgstr ""
 
-#: actions/siteadminpanel.php:155
+#: actions/siteadminpanel.php:154
 #, fuzzy
 msgid "You must have a valid contact email address"
 msgstr "此信箱無效"
 
-#: actions/siteadminpanel.php:173
+#: actions/siteadminpanel.php:172
 #, php-format
 msgid "Unknown language \"%s\""
 msgstr ""
 
-#: actions/siteadminpanel.php:180
+#: actions/siteadminpanel.php:179
 msgid "Invalid snapshot report URL."
 msgstr ""
 
-#: actions/siteadminpanel.php:186
+#: actions/siteadminpanel.php:185
 msgid "Invalid snapshot run value."
 msgstr ""
 
-#: actions/siteadminpanel.php:192
+#: actions/siteadminpanel.php:191
 msgid "Snapshot frequency must be a number."
 msgstr ""
 
-#: actions/siteadminpanel.php:199
-msgid "You must set an SSL server when enabling SSL."
-msgstr ""
-
-#: actions/siteadminpanel.php:204
-msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
-
-#: actions/siteadminpanel.php:210
+#: actions/siteadminpanel.php:197
 msgid "Minimum text limit is 140 characters."
 msgstr ""
 
-#: actions/siteadminpanel.php:216
+#: actions/siteadminpanel.php:203
 msgid "Dupe limit must 1 or more seconds."
 msgstr ""
 
-#: actions/siteadminpanel.php:266
+#: actions/siteadminpanel.php:253
 msgid "General"
 msgstr ""
 
-#: actions/siteadminpanel.php:269
+#: actions/siteadminpanel.php:256
 #, fuzzy
 msgid "Site name"
 msgstr "新訊息"
 
-#: actions/siteadminpanel.php:270
+#: actions/siteadminpanel.php:257
 msgid "The name of your site, like \"Yourcompany Microblog\""
 msgstr ""
 
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:261
 msgid "Brought by"
 msgstr ""
 
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:262
 msgid "Text used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:279
+#: actions/siteadminpanel.php:266
 msgid "Brought by URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:280
+#: actions/siteadminpanel.php:267
 msgid "URL used for credits link in footer of each page"
 msgstr ""
 
-#: actions/siteadminpanel.php:284
+#: actions/siteadminpanel.php:271
 #, fuzzy
 msgid "Contact email address for your site"
 msgstr "查無此使用者所註冊的信箱"
 
-#: actions/siteadminpanel.php:290
+#: actions/siteadminpanel.php:277
 #, fuzzy
 msgid "Local"
 msgstr "地點"
 
-#: actions/siteadminpanel.php:301
+#: actions/siteadminpanel.php:288
 msgid "Default timezone"
 msgstr ""
 
-#: actions/siteadminpanel.php:302
+#: actions/siteadminpanel.php:289
 msgid "Default timezone for the site; usually UTC."
 msgstr ""
 
-#: actions/siteadminpanel.php:308
+#: actions/siteadminpanel.php:295
 msgid "Default site language"
 msgstr ""
 
-#: actions/siteadminpanel.php:316
+#: actions/siteadminpanel.php:303
 msgid "URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Server"
 msgstr ""
 
-#: actions/siteadminpanel.php:319
+#: actions/siteadminpanel.php:306
 msgid "Site's server hostname."
 msgstr ""
 
-#: actions/siteadminpanel.php:323
+#: actions/siteadminpanel.php:310
 msgid "Fancy URLs"
 msgstr ""
 
-#: actions/siteadminpanel.php:325
+#: actions/siteadminpanel.php:312
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr ""
 
-#: actions/siteadminpanel.php:331
+#: actions/siteadminpanel.php:318
 #, fuzzy
 msgid "Access"
 msgstr "接受"
 
-#: actions/siteadminpanel.php:334
+#: actions/siteadminpanel.php:321
 msgid "Private"
 msgstr ""
 
-#: actions/siteadminpanel.php:336
+#: actions/siteadminpanel.php:323
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr ""
 
-#: actions/siteadminpanel.php:340
+#: actions/siteadminpanel.php:327
 msgid "Invite only"
 msgstr ""
 
-#: actions/siteadminpanel.php:342
+#: actions/siteadminpanel.php:329
 msgid "Make registration invitation only."
 msgstr ""
 
-#: actions/siteadminpanel.php:346
+#: actions/siteadminpanel.php:333
 #, fuzzy
 msgid "Closed"
 msgstr "無此使用者"
 
-#: actions/siteadminpanel.php:348
+#: actions/siteadminpanel.php:335
 msgid "Disable new registrations."
 msgstr ""
 
-#: actions/siteadminpanel.php:354
+#: actions/siteadminpanel.php:341
 msgid "Snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:357
+#: actions/siteadminpanel.php:344
 msgid "Randomly during Web hit"
 msgstr ""
 
-#: actions/siteadminpanel.php:358
+#: actions/siteadminpanel.php:345
 msgid "In a scheduled job"
 msgstr ""
 
-#: actions/siteadminpanel.php:359 actions/siteadminpanel.php:383
-msgid "Never"
-msgstr ""
-
-#: actions/siteadminpanel.php:360
+#: actions/siteadminpanel.php:347
 msgid "Data snapshots"
 msgstr ""
 
-#: actions/siteadminpanel.php:361
+#: actions/siteadminpanel.php:348
 msgid "When to send statistical data to status.net servers"
 msgstr ""
 
-#: actions/siteadminpanel.php:366
+#: actions/siteadminpanel.php:353
 msgid "Frequency"
 msgstr ""
 
-#: actions/siteadminpanel.php:367
+#: actions/siteadminpanel.php:354
 msgid "Snapshots will be sent once every N web hits"
 msgstr ""
 
-#: actions/siteadminpanel.php:372
+#: actions/siteadminpanel.php:359
 msgid "Report URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:373
+#: actions/siteadminpanel.php:360
 msgid "Snapshots will be sent to this URL"
 msgstr ""
 
-#: actions/siteadminpanel.php:380
-msgid "SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:384
-msgid "Sometimes"
-msgstr ""
-
-#: actions/siteadminpanel.php:385
-msgid "Always"
-msgstr ""
-
-#: actions/siteadminpanel.php:387
-msgid "Use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:388
-msgid "When to use SSL"
-msgstr ""
-
-#: actions/siteadminpanel.php:393
-msgid "SSL Server"
-msgstr ""
-
-#: actions/siteadminpanel.php:394
-msgid "Server to direct SSL requests to"
-msgstr ""
-
-#: actions/siteadminpanel.php:400
+#: actions/siteadminpanel.php:367
 msgid "Limits"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Text limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:403
+#: actions/siteadminpanel.php:370
 msgid "Maximum number of characters for notices."
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "Dupe limit"
 msgstr ""
 
-#: actions/siteadminpanel.php:407
+#: actions/siteadminpanel.php:374
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/siteadminpanel.php:421 actions/useradminpanel.php:313
+#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
 #, fuzzy
 msgid "Save site settings"
 msgstr "線上即時通設定"
@@ -3943,16 +3949,16 @@ msgstr ""
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
 msgid "Problem saving notice."
 msgstr ""
 
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr "增加回覆時,資料庫發生錯誤: %s"
 
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
@@ -4011,134 +4017,134 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:425
+#: lib/action.php:426
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Home"
 msgstr "主頁"
 
-#: lib/action.php:431
+#: lib/action.php:432
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:433
+#: lib/action.php:434
 #, fuzzy
 msgid "Account"
 msgstr "關於"
 
-#: lib/action.php:433
+#: lib/action.php:434
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:436
+#: lib/action.php:437
 msgid "Connect"
 msgstr "連結"
 
-#: lib/action.php:436
+#: lib/action.php:437
 #, fuzzy
 msgid "Connect to services"
 msgstr "無法連結到伺服器:%s"
 
-#: lib/action.php:440
+#: lib/action.php:441
 msgid "Change site configuration"
 msgstr ""
 
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
 msgid "Invite"
 msgstr ""
 
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout"
 msgstr "登出"
 
-#: lib/action.php:450
+#: lib/action.php:451
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:455
+#: lib/action.php:456
 #, fuzzy
 msgid "Create an account"
 msgstr "新增帳號"
 
-#: lib/action.php:458
+#: lib/action.php:459
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
 msgid "Help"
 msgstr "求救"
 
-#: lib/action.php:461
+#: lib/action.php:462
 #, fuzzy
 msgid "Help me!"
 msgstr "求救"
 
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
 msgid "Search"
 msgstr ""
 
-#: lib/action.php:464
+#: lib/action.php:465
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:485
+#: lib/action.php:486
 #, fuzzy
 msgid "Site notice"
 msgstr "新訊息"
 
-#: lib/action.php:551
+#: lib/action.php:552
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:617
+#: lib/action.php:618
 #, fuzzy
 msgid "Page notice"
 msgstr "新訊息"
 
-#: lib/action.php:719
+#: lib/action.php:720
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:726
+#: lib/action.php:727
 msgid "About"
 msgstr "關於"
 
-#: lib/action.php:728
+#: lib/action.php:729
 msgid "FAQ"
 msgstr "常見問題"
 
-#: lib/action.php:732
+#: lib/action.php:733
 msgid "TOS"
 msgstr ""
 
-#: lib/action.php:735
+#: lib/action.php:736
 msgid "Privacy"
 msgstr ""
 
-#: lib/action.php:737
+#: lib/action.php:738
 msgid "Source"
 msgstr ""
 
-#: lib/action.php:739
+#: lib/action.php:740
 msgid "Contact"
 msgstr "好友名單"
 
-#: lib/action.php:741
+#: lib/action.php:742
 msgid "Badge"
 msgstr ""
 
-#: lib/action.php:769
+#: lib/action.php:770
 msgid "StatusNet software license"
 msgstr ""
 
-#: lib/action.php:772
+#: lib/action.php:773
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4147,12 +4153,12 @@ msgstr ""
 "**%%site.name%%**是由[%%site.broughtby%%](%%site.broughtbyurl%%)所提供的微型"
 "部落格服務"
 
-#: lib/action.php:774
+#: lib/action.php:775
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%**是個微型部落格"
 
-#: lib/action.php:776
+#: lib/action.php:777
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4160,33 +4166,33 @@ msgid ""
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
 
-#: lib/action.php:790
+#: lib/action.php:791
 #, fuzzy
 msgid "Site content license"
 msgstr "新訊息"
 
-#: lib/action.php:799
+#: lib/action.php:800
 msgid "All "
 msgstr ""
 
-#: lib/action.php:804
+#: lib/action.php:805
 msgid "license."
 msgstr ""
 
-#: lib/action.php:1098
+#: lib/action.php:1099
 msgid "Pagination"
 msgstr ""
 
-#: lib/action.php:1107
+#: lib/action.php:1108
 msgid "After"
 msgstr ""
 
-#: lib/action.php:1115
+#: lib/action.php:1116
 #, fuzzy
 msgid "Before"
 msgstr "之前的內容»"
 
-#: lib/action.php:1163
+#: lib/action.php:1164
 msgid "There was a problem with your session token."
 msgstr ""
 
@@ -4241,6 +4247,14 @@ msgstr ""
 msgid "Tags for this attachment"
 msgstr ""
 
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+msgid "Password changing failed"
+msgstr ""
+
+#: lib/authenticationplugin.php:197
+msgid "Password changing is not allowed"
+msgstr ""
+
 #: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
@@ -4890,12 +4904,12 @@ msgid ""
 "%6$s\n"
 msgstr ""
 
-#: lib/mail.php:620
+#: lib/mail.php:624
 #, php-format
 msgid "%s (@%s) sent a notice to your attention"
 msgstr ""
 
-#: lib/mail.php:622
+#: lib/mail.php:626
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -4920,7 +4934,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
 msgid "from"
 msgstr ""
 
@@ -4985,73 +4999,77 @@ msgstr ""
 msgid "To"
 msgstr ""
 
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
 #, fuzzy
 msgid "Available characters"
 msgstr "6個以上字元"
 
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
 #, fuzzy
 msgid "Send a notice"
 msgstr "新訊息"
 
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
 #, php-format
 msgid "What's up, %s?"
 msgstr ""
 
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
 msgid "Attach"
 msgstr ""
 
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
 msgid "Attach a file"
 msgstr ""
 
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "N"
 msgstr ""
 
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
 msgid "S"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "E"
 msgstr ""
 
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
 msgid "W"
 msgstr ""
 
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
 msgid "at"
 msgstr ""
 
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
 #, fuzzy
 msgid "in context"
 msgstr "無內容"
 
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
 #, fuzzy
 msgid "Repeated by"
 msgstr "新增"
 
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
 msgid "Reply"
 msgstr ""
 
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
 #, fuzzy
 msgid "Notice repeated"
 msgstr "更新個人圖像"
@@ -5184,14 +5202,15 @@ msgstr ""
 msgid "Popular"
 msgstr ""
 
-#: lib/repeatform.php:107 lib/repeatform.php:132
+#: lib/repeatform.php:107
 #, fuzzy
-msgid "Repeat this notice"
+msgid "Repeat this notice?"
 msgstr "無此通知"
 
 #: lib/repeatform.php:132
-msgid "Repeat"
-msgstr ""
+#, fuzzy
+msgid "Repeat this notice"
+msgstr "無此通知"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -5371,47 +5390,47 @@ msgstr ""
 msgid "Moderate"
 msgstr ""
 
-#: lib/util.php:829
+#: lib/util.php:837
 msgid "a few seconds ago"
 msgstr ""
 
-#: lib/util.php:831
+#: lib/util.php:839
 msgid "about a minute ago"
 msgstr ""
 
-#: lib/util.php:833
+#: lib/util.php:841
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: lib/util.php:835
+#: lib/util.php:843
 msgid "about an hour ago"
 msgstr ""
 
-#: lib/util.php:837
+#: lib/util.php:845
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: lib/util.php:839
+#: lib/util.php:847
 msgid "about a day ago"
 msgstr ""
 
-#: lib/util.php:841
+#: lib/util.php:849
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: lib/util.php:843
+#: lib/util.php:851
 msgid "about a month ago"
 msgstr ""
 
-#: lib/util.php:845
+#: lib/util.php:853
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: lib/util.php:847
+#: lib/util.php:855
 msgid "about a year ago"
 msgstr ""
 
diff --git a/plugins/APCPlugin.php b/plugins/APCPlugin.php
new file mode 100644 (file)
index 0000000..18409e2
--- /dev/null
@@ -0,0 +1,108 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
+ *
+ * Plugin to implement cache interface for APC variable cache
+ *
+ * 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  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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')) {
+    // This check helps protect against security problems;
+    // your code file can't be executed directly from the web.
+    exit(1);
+}
+
+/**
+ * A plugin to use APC's variable cache for the cache interface
+ *
+ * New plugin interface lets us use alternative cache systems
+ * for caching. This one uses APC's variable cache.
+ *
+ * @category  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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 APCPlugin extends Plugin
+{
+    /**
+     * Get a value associated with a key
+     *
+     * The value should have been set previously.
+     *
+     * @param string &$key   in; Lookup key
+     * @param mixed  &$value out; value associated with key
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheGet(&$key, &$value)
+    {
+        $value = apc_fetch($key);
+        Event::handle('EndCacheGet', array($key, &$value));
+        return false;
+    }
+
+    /**
+     * Associate a value with a key
+     *
+     * @param string  &$key     in; Key to use for lookups
+     * @param mixed   &$value   in; Value to associate
+     * @param integer &$flag    in; Flag (passed through to Memcache)
+     * @param integer &$expiry  in; Expiry (passed through to Memcache)
+     * @param boolean &$success out; Whether the set was successful
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
+    {
+        $success = apc_store($key, $value, ((is_null($expiry)) ? 0 : $expiry));
+
+        Event::handle('EndCacheSet', array($key, $value, $flag,
+                                           $expiry));
+        return false;
+    }
+
+    /**
+     * Delete a value associated with a key
+     *
+     * @param string  &$key     in; Key to lookup
+     * @param boolean &$success out; whether it worked
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheDelete(&$key, &$success)
+    {
+        $success = apc_delete($key);
+        Event::handle('EndCacheDelete', array($key));
+        return false;
+    }
+}
+
diff --git a/plugins/Authentication/AuthenticationPlugin.php b/plugins/Authentication/AuthenticationPlugin.php
deleted file mode 100644 (file)
index a76848b..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Superclass for plugins that do authentication and/or authorization
- *
- * 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    Craig Andrews <candrews@integralblue.com>
- * @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);
-}
-
-/**
- * Superclass for plugins that do authentication
- *
- * @category Plugin
- * @package  StatusNet
- * @author   Craig Andrews <candrews@integralblue.com>
- * @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 AuthenticationPlugin extends Plugin
-{
-    //is this plugin authoritative for authentication?
-    public $authoritative = false;
-    
-    //should accounts be automatically created after a successful login attempt?
-    public $autoregistration = false;
-
-    //can the user change their email address
-    public $password_changeable=true;
-
-    //unique name for this authentication provider
-    public $provider_name;
-
-    //------------Auth plugin should implement some (or all) of these methods------------\\
-    /**
-    * Check if a nickname/password combination is valid
-    * @param username
-    * @param password
-    * @return boolean true if the credentials are valid, false if they are invalid.
-    */
-    function checkPassword($username, $password)
-    {
-        return false;
-    }
-
-    /**
-    * Automatically register a user when they attempt to login with valid credentials.
-    * User::register($data) is a very useful method for this implementation
-    * @param username
-    * @return mixed instance of User, or false (if user couldn't be created)
-    */
-    function autoRegister($username)
-    {
-        $registration_data = array();
-        $registration_data['nickname'] = $username ;
-        return User::register($registration_data);
-    }
-
-    /**
-    * Change a user's password
-    * The old password has been verified to be valid by this plugin before this call is made
-    * @param username
-    * @param oldpassword
-    * @param newpassword
-    * @return boolean true if the password was changed, false if password changing failed for some reason
-    */
-    function changePassword($username,$oldpassword,$newpassword)
-    {
-        return false;
-    }
-
-    //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
-    function onInitializePlugin(){
-        if(!isset($this->provider_name)){
-            throw new Exception("must specify a provider_name for this authentication provider");
-        }
-    }
-
-    function onStartCheckPassword($nickname, $password, &$authenticatedUser){
-        //map the nickname to a username
-        $user_username = new User_username();
-        $user_username->username=$nickname;
-        $user_username->provider_name=$this->provider_name;
-        if($user_username->find() && $user_username->fetch()){
-            $username = $user_username->username;
-            $authenticated = $this->checkPassword($username, $password);
-            if($authenticated){
-                $authenticatedUser = User::staticGet('id', $user_username->user_id);
-                return false;
-            }
-        }else{
-            $user = User::staticGet('nickname', $nickname);
-            if($user){
-                //make sure a different provider isn't handling this nickname
-                $user_username = new User_username();
-                $user_username->username=$nickname;
-                if(!$user_username->find()){
-                    //no other provider claims this username, so it's safe for us to handle it
-                    $authenticated = $this->checkPassword($nickname, $password);
-                    if($authenticated){
-                        $authenticatedUser = User::staticGet('nickname', $nickname);
-                        User_username::register($authenticatedUser,$nickname,$this->provider_name);
-                        return false;
-                    }
-                }
-            }else{
-                if($this->autoregistration){
-                    $authenticated = $this->checkPassword($nickname, $password);
-                    if($authenticated){
-                        $user = $this->autoregister($nickname);
-                        if($user){
-                            $authenticatedUser = $user;
-                            User_username::register($authenticatedUser,$nickname,$this->provider_name);
-                            return false;
-                        }
-                    }
-                }
-            }
-        }
-        if($this->authoritative){
-            return false;
-        }else{
-            //we're not authoritative, so let other handlers try
-            return;
-        }
-    }
-
-    function onStartChangePassword($user,$oldpassword,$newpassword)
-    {
-        if($this->password_changeable){
-            $user_username = new User_username();
-            $user_username->user_id=$user->id;
-            $user_username->provider_name=$this->provider_name;
-            if($user_username->find() && $user_username->fetch()){
-                $authenticated = $this->checkPassword($user_username->username, $oldpassword);
-                if($authenticated){
-                    $result = $this->changePassword($user_username->username,$oldpassword,$newpassword);
-                    if($result){
-                        //stop handling of other handlers, because what was requested was done
-                        return false;
-                    }else{
-                        throw new Exception(_('Password changing failed'));
-                    }
-                }else{
-                    if($this->authoritative){
-                        //since we're authoritative, no other plugin could do this
-                        throw new Exception(_('Password changing failed'));
-                    }else{
-                        //let another handler try
-                        return null;
-                    }
-                }
-            }
-        }else{
-            if($this->authoritative){
-                //since we're authoritative, no other plugin could do this
-                throw new Exception(_('Password changing is not allowed'));
-            }
-        }
-    }
-
-    function onStartAccountSettingsPasswordMenuItem($widget)
-    {
-        if($this->authoritative && !$this->password_changeable){
-            //since we're authoritative, no other plugin could change passwords, so do not render the menu item
-            return false;
-        }
-    }
-
-    function onAutoload($cls)
-    {
-        switch ($cls)
-        {
-         case 'User_username':
-            require_once(INSTALLDIR.'/plugins/Authentication/User_username.php');
-            return false;
-         default:
-            return true;
-        }
-    }
-
-    function onCheckSchema() {
-        $schema = Schema::get();
-        $schema->ensureTable('user_username',
-                             array(new ColumnDef('provider_name', 'varchar',
-                                                 '255', false, 'PRI'),
-                                   new ColumnDef('username', 'varchar',
-                                                 '255', false, 'PRI'),
-                                   new ColumnDef('user_id', 'integer',
-                                                 null, false),
-                                   new ColumnDef('created', 'datetime',
-                                                 null, false),
-                                   new ColumnDef('modified', 'timestamp')));
-        return true;
-    }
-
-    function onUserDeleteRelated($user, &$tables)
-    {
-        $tables[] = 'User_username';
-        return true;
-    }
-}
-
diff --git a/plugins/Authentication/User_username.php b/plugins/Authentication/User_username.php
deleted file mode 100644 (file)
index 853fd5c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/**
- * Table Definition for user_username
- */
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
-
-class User_username extends Memcached_DataObject
-{
-    ###START_AUTOCODE
-    /* the code below is auto generated do not remove the above tag */
-
-    public $__table = 'user_username';                     // table name
-    public $user_id;                        // int(4)  not_null
-    public $provider_name;                  // varchar(255)  primary_key not_null
-    public $username;                       // varchar(255)  primary_key not_null
-    public $created;                        // datetime()   not_null
-    public $modified;                       // timestamp()   not_null default_CURRENT_TIMESTAMP
-
-    /* Static get */
-    function staticGet($k,$v=null)
-    { return Memcached_DataObject::staticGet('User_username',$k,$v); }
-
-    /* the code above is auto generated do not remove the tag below */
-    ###END_AUTOCODE
-
-    /**
-    * Register a user with a username on a given provider
-    * @param User User object
-    * @param string username on the given provider
-    * @param provider_name string name of the provider
-    * @return mixed User_username instance if the registration succeeded, false if it did not
-    */
-    static function register($user, $username, $provider_name)
-    {
-        $user_username = new User_username();
-        $user_username->user_id = $user->id;
-        $user_username->provider_name = $provider_name;
-        $user_username->username = $username;
-        $user_username->created = DB_DataObject_Cast::dateTime();
-        if($user_username->insert()){
-            return $user_username;
-        }else{
-            return false;
-        }
-    }
-
-    function table() {
-        return array(
-            'user_id'     => DB_DATAOBJECT_INT,
-            'username'   => DB_DATAOBJECT_STR,
-            'provider_name'   => DB_DATAOBJECT_STR ,
-            'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
-        );
-    }
-
-    // now define the keys.
-    function keys() {
-        return array('provider_name', 'username');
-    }
-
-}
diff --git a/plugins/Authorization/AuthorizationPlugin.php b/plugins/Authorization/AuthorizationPlugin.php
deleted file mode 100644 (file)
index e4e046d..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Superclass for plugins that do authorization
- *
- * 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    Craig Andrews <candrews@integralblue.com>
- * @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);
-}
-
-/**
- * Superclass for plugins that do authorization
- *
- * @category Plugin
- * @package  StatusNet
- * @author   Craig Andrews <candrews@integralblue.com>
- * @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 AuthorizationPlugin extends Plugin
-{
-    //is this plugin authoritative for authorization?
-    public $authoritative = false;
-
-    //------------Auth plugin should implement some (or all) of these methods------------\\
-
-    /**
-    * Is a user allowed to log in?
-    * @param user
-    * @return boolean true if the user is allowed to login, false if explicitly not allowed to login, null if we don't explicitly allow or deny login
-    */
-    function loginAllowed($user) {
-        return null;
-    }
-
-    /**
-    * Does a profile grant the user a named role?
-    * @param profile
-    * @return boolean true if the profile has the role, false if not
-    */
-    function hasRole($profile, $name) {
-        return false;
-    }
-
-    //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
-    function onInitializePlugin(){
-
-    }
-
-    function onStartSetUser(&$user) {
-        $loginAllowed = $this->loginAllowed($user);
-        if($loginAllowed === true){
-            return;
-        }else if($loginAllowed === false){
-            $user = null;
-            return false;
-        }else{
-            if($this->authoritative) {
-                $user = null;
-                return false;
-            }else{
-                return;
-            }
-        }
-    }
-
-    function onStartSetApiUser(&$user) {
-        return $this->onStartSetUser(&$user);
-    }
-
-    function onStartHasRole($profile, $name, &$has_role) {
-        if($this->hasRole($profile, $name)){
-            $has_role = true;
-            return false;
-        }else{
-            if($this->authoritative) {
-                $has_role = false;
-                return false;
-            }else{
-                return;
-            }
-        }
-    }
-}
-
index 65d0f70e653a2ed4e82f3c2d223ca8242dd70f7c..f7f28b4d6c53209eaa411bb8721101383f381b75 100644 (file)
@@ -49,6 +49,18 @@ class BitlyUrlPlugin extends UrlShortenerPlugin
         if(!$response) return;
         return current(json_decode($response)->results)->hashUrl;
     }
-}
 
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => sprintf('BitlyUrl (%s)', $this->shortenerName),
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:BitlyUrl',
+                            'rawdescription' =>
+                            sprintf(_m('Uses <a href="http://%1$s/">%1$s</a> URL-shortener service.'),
+                                    $this->shortenerName));
+
+        return true;
+    }
+}
 
index 655b0926b797d53392c41566e4f1b4f0fdcbd311..84a2cb6168e7752d2ea2489917c06ec6c927cb4a 100644 (file)
@@ -43,6 +43,8 @@ if (!defined('STATUSNET')) {
 
 class BlacklistPlugin extends Plugin
 {
+    const VERSION = STATUSNET_VERSION;
+
     public $nicknames = array();
     public $urls      = array();
 
@@ -200,4 +202,15 @@ class BlacklistPlugin extends Plugin
 
         return true;
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Blacklist',
+                            'version' => self::VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Blacklist',
+                            'description' =>
+                            _m('Keep a blacklist of forbidden nickname and URL patterns.'));
+        return true;
+    }
 }
diff --git a/plugins/CacheLogPlugin.php b/plugins/CacheLogPlugin.php
new file mode 100644 (file)
index 0000000..4c47de8
--- /dev/null
@@ -0,0 +1,121 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
+ *
+ * Logs cache access
+ *
+ * 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  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    // This check helps protect against security problems;
+    // your code file can't be executed directly from the web.
+    exit(1);
+}
+
+/**
+ * Log cache access
+ *
+ * Note that since most caching plugins return false for StartCache*
+ * methods, you should add this plugin before them, i.e.
+ *
+ *     addPlugin('CacheLog');
+ *     addPlugin('XCache');
+ *
+ * @category  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+class CacheLogPlugin extends Plugin
+{
+    function onStartCacheGet(&$key, &$value)
+    {
+        $this->log(LOG_INFO, "Fetching key '$key'");
+        return true;
+    }
+
+    function onEndCacheGet($key, &$value)
+    {
+        if ($value === false) {
+            $this->log(LOG_INFO, "Cache MISS for key '$key'");
+        } else {
+            $this->log(LOG_INFO, "Cache HIT for key '$key'");
+        }
+        return true;
+    }
+
+    function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
+    {
+        if (empty($value)) {
+            if (is_array($value)) {
+                $this->log(LOG_INFO, "Setting empty array for key '$key'");
+            } else if (is_null($value)) {
+                $this->log(LOG_INFO, "Setting null value for key '$key'");
+            } else if (is_string($value)) {
+                $this->log(LOG_INFO, "Setting empty string for key '$key'");
+            } else if (is_integer($value)) {
+                $this->log(LOG_INFO, "Setting integer 0 for key '$key'");
+            } else {
+                $this->log(LOG_INFO, "Setting empty value '$value' for key '$key'");
+            }
+        } else {
+            $this->log(LOG_INFO, "Setting non-empty value for key '$key'");
+        }
+        return true;
+    }
+
+    function onEndCacheSet($key, $value, $flag, $expiry)
+    {
+        $this->log(LOG_INFO, "Done setting cache value for key '$key'");
+        return true;
+    }
+
+    function onStartCacheDelete(&$key, &$success)
+    {
+        $this->log(LOG_INFO, "Deleting cache value for key '$key'");
+        return true;
+    }
+
+    function onEndCacheDelete($key)
+    {
+        $this->log(LOG_INFO, "Done deleting cache value for key '$key'");
+        return true;
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'CacheLog',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:CacheLog',
+                            'description' =>
+                            _m('Log reads and writes to the cache'));
+        return true;
+    }
+}
+
diff --git a/plugins/CasAuthentication/CasAuthenticationPlugin.php b/plugins/CasAuthentication/CasAuthenticationPlugin.php
new file mode 100644 (file)
index 0000000..818a11f
--- /dev/null
@@ -0,0 +1,141 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to enable Single Sign On via CAS (Central Authentication Service)
+ *
+ * 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    Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @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);
+}
+
+// We bundle the phpCAS library...
+set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/CAS');
+
+class CasAuthenticationPlugin extends AuthenticationPlugin
+{
+    public $server;
+    public $port = 443;
+    public $path = '';
+    public $takeOverLogin = false;
+
+    function checkPassword($username, $password)
+    {
+        global $casTempPassword;
+        return ($casTempPassword == $password);
+    }
+
+    function onAutoload($cls)
+    {
+        switch ($cls)
+        {
+         case 'phpCAS':
+            require_once(INSTALLDIR.'/plugins/CasAuthentication/extlib/CAS.php');
+            return false;
+         case 'CasloginAction':
+            require_once(INSTALLDIR.'/plugins/CasAuthentication/' . strtolower(mb_substr($cls, 0, -6)) . '.php');
+            return false;
+        }
+    }
+
+    function onArgsInitialize(&$args)
+    {
+        if($this->takeOverLogin && $args['action'] == 'login')
+        {
+            $args['action'] = 'caslogin';
+        }
+    }
+
+    function onStartInitializeRouter($m)
+    {
+        $m->connect('main/cas', array('action' => 'caslogin'));
+        return true;
+    }
+
+    function onEndLoginGroupNav(&$action)
+    {
+        $action_name = $action->trimmed('action');
+
+        $action->menuItem(common_local_url('caslogin'),
+                          _m('CAS'),
+                          _m('Login or register with CAS'),
+                          $action_name === 'caslogin');
+
+        return true;
+    }
+
+    function onEndShowPageNotice($action)
+    {
+        $name = $action->trimmed('action');
+
+        switch ($name)
+        {
+         case 'login':
+            $instr = '(Have an account with CAS? ' .
+              'Try our [CAS login]'.
+              '(%%action.caslogin%%)!)';
+            break;
+         default:
+            return true;
+        }
+
+        $output = common_markup_to_html($instr);
+        $action->raw($output);
+        return true;
+    }
+
+    function onLoginAction($action, &$login)
+    {
+        switch ($action)
+        {
+         case 'caslogin':
+            $login = true;
+            return false;
+         default:
+            return true;
+        }
+    }
+
+    function onInitializePlugin(){
+        parent::onInitializePlugin();
+        if(!isset($this->server)){
+            throw new Exception("must specify a server");
+        }
+        if(!isset($this->port)){
+            throw new Exception("must specify a port");
+        }
+        if(!isset($this->path)){
+            throw new Exception("must specify a path");
+        }
+        //These values need to be accessible to a action object
+        //I can't think of any other way than global variables
+        //to allow the action instance to be able to see values :-(
+        global $casSettings;
+        $casSettings = array();
+        $casSettings['server']=$this->server;
+        $casSettings['port']=$this->port;
+        $casSettings['path']=$this->path;
+    }
+}
diff --git a/plugins/CasAuthentication/README b/plugins/CasAuthentication/README
new file mode 100644 (file)
index 0000000..c17a28e
--- /dev/null
@@ -0,0 +1,42 @@
+The CAS Authentication plugin allows for StatusNet to handle authentication
+through CAS (Central Authentication Service).
+
+Installation
+============
+add "addPlugin('casAuthentication',
+    array('setting'=>'value', 'setting2'=>'value2', ...);"
+to the bottom of your config.php
+
+Settings
+========
+provider_name*: a unique name for this authentication provider.
+authoritative (false): Set to true if CAS's responses are authoritative
+    (if authorative and CAS fails, no other password checking will be done).
+autoregistration (false): Set to true if users should be automatically created
+    when they attempt to login.
+email_changeable (true): Are users allowed to change their email address?
+    (true or false)
+password_changeable*: must be set to false. This plugin does not support changing passwords.
+
+server*: CAS server to authentication against
+port (443): Port the CAS server listens on. Almost always 443
+path (): Path on the server to CAS. Usually blank.
+takeOverLogin (false): Take over the main login action. If takeOverLogin is
+    set, anytime the standard username/password login form would be shown,
+    a CAS login will be done instead.
+
+* required
+default values are in (parenthesis)
+
+Example
+=======
+addPlugin('casAuthentication', array(
+    'provider_name'=>'Example',
+    'authoritative'=>true,
+    'autoregistration'=>true,
+    'server'=>'sso-cas.univ-rennes1.fr',
+    'port'=>443,
+    'path'=>'',
+    'takeOverLogin'=>true
+));
+
diff --git a/plugins/CasAuthentication/caslogin.php b/plugins/CasAuthentication/caslogin.php
new file mode 100644 (file)
index 0000000..390a75d
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, 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); }
+
+class CasloginAction extends Action
+{
+    function handle($args)
+    {
+        parent::handle($args);
+        if (common_is_real_login()) {
+            $this->clientError(_m('Already logged in.'));
+        } else {
+            global $casSettings;
+            phpCAS::client(CAS_VERSION_2_0,$casSettings['server'],$casSettings['port'],$casSettings['path']);
+            phpCAS::setNoCasServerValidation();
+            phpCAS::handleLogoutRequests();
+            phpCAS::forceAuthentication();
+            global $casTempPassword;
+            $casTempPassword = common_good_rand(16);
+            $user = common_check_user(phpCAS::getUser(), $casTempPassword);
+            if (!$user) {
+                $this->serverError(_('Incorrect username or password.'));
+                return;
+            }
+
+            // success!
+            if (!common_set_user($user)) {
+                $this->serverError(_('Error setting user. You are probably not authorized.'));
+                return;
+            }
+
+            common_real_login(true);
+
+            $url = common_get_returnto();
+
+            if ($url) {
+                // We don't have to return to it again
+                common_set_returnto(null);
+            } else {
+                $url = common_local_url('all',
+                                    array('nickname' =>
+                                          $user->nickname));
+            }
+
+            common_redirect($url, 303);
+
+        }
+    }
+}
diff --git a/plugins/CasAuthentication/extlib/CAS.php b/plugins/CasAuthentication/extlib/CAS.php
new file mode 100644 (file)
index 0000000..59238eb
--- /dev/null
@@ -0,0 +1,1471 @@
+<?php\r
+\r
+// commented in 0.4.22-RC2 for Sylvain Derosiaux\r
+// error_reporting(E_ALL ^ E_NOTICE);\r
+\r
+//\r
+// hack by Vangelis Haniotakis to handle the absence of $_SERVER['REQUEST_URI'] in IIS\r
+//\r
+if (!$_SERVER['REQUEST_URI']) {\r
+       $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];\r
+}\r
+\r
+//\r
+// another one by Vangelis Haniotakis also to make phpCAS work with PHP5\r
+//\r
+if (version_compare(PHP_VERSION,'5','>=')) {\r
+       require_once(dirname(__FILE__).'/CAS/domxml-php4-php5.php');\r
+}\r
+\r
+/**\r
+ * @file CAS/CAS.php\r
+ * Interface class of the phpCAS library\r
+ *\r
+ * @ingroup public\r
+ */\r
+\r
+// ########################################################################\r
+//  CONSTANTS\r
+// ########################################################################\r
+\r
+// ------------------------------------------------------------------------\r
+//  CAS VERSIONS\r
+// ------------------------------------------------------------------------\r
+\r
+/**\r
+ * phpCAS version. accessible for the user by phpCAS::getVersion().\r
+ */\r
+define('PHPCAS_VERSION','1.0.1');\r
+\r
+// ------------------------------------------------------------------------\r
+//  CAS VERSIONS\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * @addtogroup public\r
+  * @{\r
+  */\r
+\r
+/**\r
+ * CAS version 1.0\r
+ */\r
+define("CAS_VERSION_1_0",'1.0');\r
+/*!\r
+ * CAS version 2.0\r
+ */\r
+define("CAS_VERSION_2_0",'2.0');\r
+\r
+/** @} */\r
+ /**\r
+  * @addtogroup publicPGTStorage\r
+  * @{\r
+  */\r
+// ------------------------------------------------------------------------\r
+//  FILE PGT STORAGE\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * Default path used when storing PGT's to file\r
+  */\r
+define("CAS_PGT_STORAGE_FILE_DEFAULT_PATH",'/tmp');\r
+/**\r
+ * phpCAS::setPGTStorageFile()'s 2nd parameter to write plain text files\r
+ */\r
+define("CAS_PGT_STORAGE_FILE_FORMAT_PLAIN",'plain');\r
+/**\r
+ * phpCAS::setPGTStorageFile()'s 2nd parameter to write xml files\r
+ */\r
+define("CAS_PGT_STORAGE_FILE_FORMAT_XML",'xml');\r
+/**\r
+ * Default format used when storing PGT's to file\r
+ */\r
+define("CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT",CAS_PGT_STORAGE_FILE_FORMAT_PLAIN);\r
+// ------------------------------------------------------------------------\r
+//  DATABASE PGT STORAGE\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * default database type when storing PGT's to database\r
+  */\r
+define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE",'mysql');\r
+/**\r
+ * default host when storing PGT's to database\r
+ */\r
+define("CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME",'localhost');\r
+/**\r
+ * default port when storing PGT's to database\r
+ */\r
+define("CAS_PGT_STORAGE_DB_DEFAULT_PORT",'');\r
+/**\r
+ * default database when storing PGT's to database\r
+ */\r
+define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE",'phpCAS');\r
+/**\r
+ * default table when storing PGT's to database\r
+ */\r
+define("CAS_PGT_STORAGE_DB_DEFAULT_TABLE",'pgt');\r
+\r
+/** @} */\r
+// ------------------------------------------------------------------------\r
+// SERVICE ACCESS ERRORS\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * @addtogroup publicServices\r
+  * @{\r
+  */\r
+\r
+/**\r
+ * phpCAS::service() error code on success\r
+ */\r
+define("PHPCAS_SERVICE_OK",0);\r
+/**\r
+ * phpCAS::service() error code when the PT could not retrieve because\r
+ * the CAS server did not respond.\r
+ */\r
+define("PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE",1);\r
+/**\r
+ * phpCAS::service() error code when the PT could not retrieve because\r
+ * the response of the CAS server was ill-formed.\r
+ */\r
+define("PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE",2);\r
+/**\r
+ * phpCAS::service() error code when the PT could not retrieve because\r
+ * the CAS server did not want to.\r
+ */\r
+define("PHPCAS_SERVICE_PT_FAILURE",3);\r
+/**\r
+ * phpCAS::service() error code when the service was not available.\r
+ */\r
+define("PHPCAS_SERVICE_NOT AVAILABLE",4);\r
+\r
+/** @} */\r
+// ------------------------------------------------------------------------\r
+//  LANGUAGES\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * @addtogroup publicLang\r
+  * @{\r
+  */\r
+\r
+define("PHPCAS_LANG_ENGLISH",    'english');\r
+define("PHPCAS_LANG_FRENCH",     'french');\r
+define("PHPCAS_LANG_GREEK",      'greek');\r
+define("PHPCAS_LANG_GERMAN",     'german');\r
+define("PHPCAS_LANG_JAPANESE",   'japanese');\r
+define("PHPCAS_LANG_SPANISH",    'spanish');\r
+define("PHPCAS_LANG_CATALAN",    'catalan');\r
+\r
+/** @} */\r
+\r
+/**\r
+ * @addtogroup internalLang\r
+ * @{\r
+ */\r
+\r
+/**\r
+ * phpCAS default language (when phpCAS::setLang() is not used)\r
+ */\r
+define("PHPCAS_LANG_DEFAULT", PHPCAS_LANG_ENGLISH);\r
+\r
+/** @} */\r
+// ------------------------------------------------------------------------\r
+//  DEBUG\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * @addtogroup publicDebug\r
+  * @{\r
+  */\r
+\r
+/**\r
+ * The default directory for the debug file under Unix.\r
+ */\r
+define('DEFAULT_DEBUG_DIR','/tmp/');\r
+\r
+/** @} */\r
+// ------------------------------------------------------------------------\r
+//  MISC\r
+// ------------------------------------------------------------------------\r
+ /**\r
+  * @addtogroup internalMisc\r
+  * @{\r
+  */\r
+\r
+/**\r
+ * This global variable is used by the interface class phpCAS.\r
+ *\r
+ * @hideinitializer\r
+ */\r
+$GLOBALS['PHPCAS_CLIENT']  = null;\r
+\r
+/**\r
+ * This global variable is used to store where the initializer is called from \r
+ * (to print a comprehensive error in case of multiple calls).\r
+ *\r
+ * @hideinitializer\r
+ */\r
+$GLOBALS['PHPCAS_INIT_CALL'] = array('done' => FALSE,\r
+       'file' => '?',\r
+       'line' => -1,\r
+       'method' => '?');\r
+\r
+/**\r
+ * This global variable is used to store where the method checking\r
+ * the authentication is called from (to print comprehensive errors)\r
+ *\r
+ * @hideinitializer\r
+ */\r
+$GLOBALS['PHPCAS_AUTH_CHECK_CALL'] = array('done' => FALSE,\r
+       'file' => '?',\r
+       'line' => -1,\r
+       'method' => '?',\r
+       'result' => FALSE);\r
+\r
+/**\r
+ * This global variable is used to store phpCAS debug mode.\r
+ *\r
+ * @hideinitializer\r
+ */\r
+$GLOBALS['PHPCAS_DEBUG']  = array('filename' => FALSE,\r
+       'indent' => 0,\r
+       'unique_id' => '');\r
+\r
+/** @} */\r
+\r
+// ########################################################################\r
+//  CLIENT CLASS\r
+// ########################################################################\r
+\r
+// include client class\r
+include_once(dirname(__FILE__).'/CAS/client.php');\r
+\r
+// ########################################################################\r
+//  INTERFACE CLASS\r
+// ########################################################################\r
+\r
+/**\r
+ * @class phpCAS\r
+ * The phpCAS class is a simple container for the phpCAS library. It provides CAS\r
+ * authentication for web applications written in PHP.\r
+ *\r
+ * @ingroup public\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ *\r
+ * \internal All its methods access the same object ($PHPCAS_CLIENT, declared \r
+ * at the end of CAS/client.php).\r
+ */\r
+\r
+\r
+\r
+class phpCAS\r
+{\r
+       \r
+       // ########################################################################\r
+       //  INITIALIZATION\r
+       // ########################################################################\r
+       \r
+       /**\r
+        * @addtogroup publicInit\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * phpCAS client initializer.\r
+        * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be\r
+        * called, only once, and before all other methods (except phpCAS::getVersion()\r
+        * and phpCAS::setDebug()).\r
+        *\r
+        * @param $server_version the version of the CAS server\r
+        * @param $server_hostname the hostname of the CAS server\r
+        * @param $server_port the port the CAS server is running on\r
+        * @param $server_uri the URI the CAS server is responding on\r
+        * @param $start_session Have phpCAS start PHP sessions (default true)\r
+        *\r
+        * @return a newly created CASClient object\r
+        */\r
+       function client($server_version,\r
+                                       $server_hostname,\r
+                                       $server_port,\r
+                                       $server_uri,\r
+                                       $start_session = true)\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');\r
+               }\r
+               if ( gettype($server_version) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_version (should be `string\')');\r
+               }\r
+               if ( gettype($server_hostname) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');\r
+               }\r
+               if ( gettype($server_port) != 'integer' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');\r
+               }\r
+               if ( gettype($server_uri) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');\r
+               }\r
+               \r
+               // store where the initialzer is called from\r
+               $dbg = phpCAS::backtrace();\r
+               $PHPCAS_INIT_CALL = array('done' => TRUE,\r
+                       'file' => $dbg[0]['file'],\r
+                       'line' => $dbg[0]['line'],\r
+                       'method' => __CLASS__.'::'.__FUNCTION__);\r
+               \r
+               // initialize the global object $PHPCAS_CLIENT\r
+               $PHPCAS_CLIENT = new CASClient($server_version,FALSE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * phpCAS proxy initializer.\r
+        * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be\r
+        * called, only once, and before all other methods (except phpCAS::getVersion()\r
+        * and phpCAS::setDebug()).\r
+        *\r
+        * @param $server_version the version of the CAS server\r
+        * @param $server_hostname the hostname of the CAS server\r
+        * @param $server_port the port the CAS server is running on\r
+        * @param $server_uri the URI the CAS server is responding on\r
+        * @param $start_session Have phpCAS start PHP sessions (default true)\r
+        *\r
+        * @return a newly created CASClient object\r
+        */\r
+       function proxy($server_version,\r
+                                  $server_hostname,\r
+                                  $server_port,\r
+                                  $server_uri,\r
+                                  $start_session = true)\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');\r
+               }\r
+               if ( gettype($server_version) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_version (should be `string\')');\r
+               }\r
+               if ( gettype($server_hostname) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');\r
+               }\r
+               if ( gettype($server_port) != 'integer' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');\r
+               }\r
+               if ( gettype($server_uri) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');\r
+               }\r
+               \r
+               // store where the initialzer is called from\r
+               $dbg = phpCAS::backtrace();\r
+               $PHPCAS_INIT_CALL = array('done' => TRUE,\r
+                       'file' => $dbg[0]['file'],\r
+                       'line' => $dbg[0]['line'],\r
+                       'method' => __CLASS__.'::'.__FUNCTION__);\r
+               \r
+               // initialize the global object $PHPCAS_CLIENT\r
+               $PHPCAS_CLIENT = new CASClient($server_version,TRUE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  DEBUGGING\r
+       // ########################################################################\r
+       \r
+       /**\r
+        * @addtogroup publicDebug\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * Set/unset debug mode\r
+        *\r
+        * @param $filename the name of the file used for logging, or FALSE to stop debugging.\r
+        */\r
+       function setDebug($filename='')\r
+               {\r
+               global $PHPCAS_DEBUG;\r
+               \r
+               if ( $filename != FALSE && gettype($filename) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $dbg (should be FALSE or the name of the log file)');\r
+               }\r
+               \r
+               if ( empty($filename) ) {\r
+                       if ( preg_match('/^Win.*/',getenv('OS')) ) {\r
+                               if ( isset($_ENV['TMP']) ) {\r
+                                       $debugDir = $_ENV['TMP'].'/';\r
+                               } else if ( isset($_ENV['TEMP']) ) {\r
+                                       $debugDir = $_ENV['TEMP'].'/';\r
+                               } else {\r
+                                       $debugDir = '';\r
+                               }\r
+                       } else {\r
+                               $debugDir = DEFAULT_DEBUG_DIR;\r
+                       }\r
+                       $filename = $debugDir . 'phpCAS.log';\r
+               }\r
+               \r
+               if ( empty($PHPCAS_DEBUG['unique_id']) ) {\r
+                       $PHPCAS_DEBUG['unique_id'] = substr(strtoupper(md5(uniqid(''))),0,4);\r
+               }\r
+               \r
+               $PHPCAS_DEBUG['filename'] = $filename;\r
+               \r
+               phpCAS::trace('START ******************');\r
+               }\r
+       \r
+       /** @} */\r
+       /**\r
+        * @addtogroup internalDebug\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * This method is a wrapper for debug_backtrace() that is not available \r
+        * in all PHP versions (>= 4.3.0 only)\r
+        */\r
+       function backtrace()\r
+               {\r
+               if ( function_exists('debug_backtrace') ) {\r
+                       return debug_backtrace();\r
+               } else {\r
+                       // poor man's hack ... but it does work ...\r
+                       return array();\r
+               }\r
+               }\r
+       \r
+       /**\r
+        * Logs a string in debug mode.\r
+        *\r
+        * @param $str the string to write\r
+        *\r
+        * @private\r
+        */\r
+       function log($str)\r
+               {\r
+               $indent_str = ".";\r
+               global $PHPCAS_DEBUG;\r
+               \r
+               if ( $PHPCAS_DEBUG['filename'] ) {\r
+                       for ($i=0;$i<$PHPCAS_DEBUG['indent'];$i++) {\r
+                               $indent_str .= '|    ';\r
+                       }\r
+                       error_log($PHPCAS_DEBUG['unique_id'].' '.$indent_str.$str."\n",3,$PHPCAS_DEBUG['filename']);\r
+               }\r
+               \r
+               }\r
+       \r
+       /**\r
+        * This method is used by interface methods to print an error and where the function\r
+        * was originally called from.\r
+        *\r
+        * @param $msg the message to print\r
+        *\r
+        * @private\r
+        */\r
+       function error($msg)\r
+               {\r
+               $dbg = phpCAS::backtrace();\r
+               $function = '?';\r
+               $file = '?';\r
+               $line = '?';\r
+               if ( is_array($dbg) ) {\r
+                       for ( $i=1; $i<sizeof($dbg); $i++) {\r
+                               if ( is_array($dbg[$i]) ) {\r
+                                       if ( $dbg[$i]['class'] == __CLASS__ ) {\r
+                                               $function = $dbg[$i]['function'];\r
+                                               $file = $dbg[$i]['file'];\r
+                                               $line = $dbg[$i]['line'];\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+               echo "<br />\n<b>phpCAS error</b>: <font color=\"FF0000\"><b>".__CLASS__."::".$function.'(): '.htmlentities($msg)."</b></font> in <b>".$file."</b> on line <b>".$line."</b><br />\n";\r
+               phpCAS::trace($msg);\r
+               phpCAS::traceExit();\r
+               exit();\r
+               }\r
+       \r
+       /**\r
+        * This method is used to log something in debug mode.\r
+        */\r
+       function trace($str)\r
+               {\r
+               $dbg = phpCAS::backtrace();\r
+               phpCAS::log($str.' ['.basename($dbg[1]['file']).':'.$dbg[1]['line'].']');\r
+               }\r
+       \r
+       /**\r
+        * This method is used to indicate the start of the execution of a function in debug mode.\r
+        */\r
+       function traceBegin()\r
+               {\r
+               global $PHPCAS_DEBUG;\r
+               \r
+               $dbg = phpCAS::backtrace();\r
+               $str = '=> ';\r
+               if ( !empty($dbg[2]['class']) ) {\r
+                       $str .= $dbg[2]['class'].'::';\r
+               }\r
+               $str .= $dbg[2]['function'].'(';      \r
+               if ( is_array($dbg[2]['args']) ) {\r
+                       foreach ($dbg[2]['args'] as $index => $arg) {\r
+                               if ( $index != 0 ) {\r
+                                       $str .= ', ';\r
+                               }\r
+                               $str .= str_replace("\n","",var_export($arg,TRUE));\r
+                       }\r
+               }\r
+               $str .= ') ['.basename($dbg[2]['file']).':'.$dbg[2]['line'].']';\r
+               phpCAS::log($str);\r
+               $PHPCAS_DEBUG['indent'] ++;\r
+               }\r
+       \r
+       /**\r
+        * This method is used to indicate the end of the execution of a function in debug mode.\r
+        *\r
+        * @param $res the result of the function\r
+        */\r
+       function traceEnd($res='')\r
+               {\r
+               global $PHPCAS_DEBUG;\r
+               \r
+               $PHPCAS_DEBUG['indent'] --;\r
+               $dbg = phpCAS::backtrace();\r
+               $str = '';\r
+               $str .= '<= '.str_replace("\n","",var_export($res,TRUE));\r
+               phpCAS::log($str);\r
+               }\r
+       \r
+       /**\r
+        * This method is used to indicate the end of the execution of the program\r
+        */\r
+       function traceExit()\r
+               {\r
+               global $PHPCAS_DEBUG;\r
+               \r
+               phpCAS::log('exit()');\r
+               while ( $PHPCAS_DEBUG['indent'] > 0 ) {\r
+                       phpCAS::log('-');\r
+                       $PHPCAS_DEBUG['indent'] --;\r
+               }\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  INTERNATIONALIZATION\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup publicLang\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * This method is used to set the language used by phpCAS. \r
+        * @note Can be called only once.\r
+        *\r
+        * @param $lang a string representing the language.\r
+        *\r
+        * @sa PHPCAS_LANG_FRENCH, PHPCAS_LANG_ENGLISH\r
+        */\r
+       function setLang($lang)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( gettype($lang) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $lang (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setLang($lang);\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  VERSION\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup public\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * This method returns the phpCAS version.\r
+        *\r
+        * @return the phpCAS version.\r
+        */\r
+       function getVersion()\r
+               {\r
+               return PHPCAS_VERSION;\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  HTML OUTPUT\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup publicOutput\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * This method sets the HTML header used for all outputs.\r
+        *\r
+        * @param $header the HTML header.\r
+        */\r
+       function setHTMLHeader($header)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( gettype($header) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $header (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setHTMLHeader($header);\r
+               }\r
+       \r
+       /**\r
+        * This method sets the HTML footer used for all outputs.\r
+        *\r
+        * @param $footer the HTML footer.\r
+        */\r
+       function setHTMLFooter($footer)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( gettype($footer) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $footer (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setHTMLFooter($footer);\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  PGT STORAGE\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup publicPGTStorage\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * This method is used to tell phpCAS to store the response of the\r
+        * CAS server to PGT requests onto the filesystem. \r
+        *\r
+        * @param $format the format used to store the PGT's (`plain' and `xml' allowed)\r
+        * @param $path the path where the PGT's should be stored\r
+        */\r
+       function setPGTStorageFile($format='',\r
+               $path='')\r
+               {\r
+               global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_CLIENT->isProxy() ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {\r
+                       phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');\r
+               }\r
+               if ( gettype($format) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $format (should be `string\')');\r
+               }\r
+               if ( gettype($path) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $format (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setPGTStorageFile($format,$path);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * This method is used to tell phpCAS to store the response of the\r
+        * CAS server to PGT requests into a database. \r
+        * @note The connection to the database is done only when needed. \r
+        * As a consequence, bad parameters are detected only when \r
+        * initializing PGT storage, except in debug mode.\r
+        *\r
+        * @param $user the user to access the data with\r
+        * @param $password the user's password\r
+        * @param $database_type the type of the database hosting the data\r
+        * @param $hostname the server hosting the database\r
+        * @param $port the port the server is listening on\r
+        * @param $database the name of the database\r
+        * @param $table the name of the table storing the data\r
+        */\r
+       function setPGTStorageDB($user,\r
+                                                        $password,\r
+                                                        $database_type='',\r
+                                                                $hostname='',\r
+                                                                        $port=0,\r
+                                                                                $database='',\r
+                                                                                        $table='')\r
+               {\r
+               global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_CLIENT->isProxy() ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {\r
+                       phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');\r
+               }\r
+               if ( gettype($user) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $user (should be `string\')');\r
+               }\r
+               if ( gettype($password) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $password (should be `string\')');\r
+               }\r
+               if ( gettype($database_type) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $database_type (should be `string\')');\r
+               }\r
+               if ( gettype($hostname) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $hostname (should be `string\')');\r
+               }\r
+               if ( gettype($port) != 'integer' ) {\r
+                       phpCAS::error('type mismatched for parameter $port (should be `integer\')');\r
+               }\r
+               if ( gettype($database) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $database (should be `string\')');\r
+               }\r
+               if ( gettype($table) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $table (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setPGTStorageDB($this,$user,$password,$hostname,$port,$database,$table);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       // ACCESS TO EXTERNAL SERVICES\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup publicServices\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * This method is used to access an HTTP[S] service.\r
+        * \r
+        * @param $url the service to access.\r
+        * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on\r
+        * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,\r
+        * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.\r
+        * @param $output the output of the service (also used to give an error\r
+        * message on failure).\r
+        *\r
+        * @return TRUE on success, FALSE otherwise (in this later case, $err_code\r
+        * gives the reason why it failed and $output contains an error message).\r
+        */\r
+       function serviceWeb($url,&$err_code,&$output)\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_CLIENT->isProxy() ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {\r
+                       phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');\r
+               }\r
+               if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {\r
+                       phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');\r
+               }\r
+               if ( gettype($url) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be `string\')');\r
+               }\r
+               \r
+               $res = $PHPCAS_CLIENT->serviceWeb($url,$err_code,$output);\r
+               \r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+               }\r
+       \r
+       /**\r
+        * This method is used to access an IMAP/POP3/NNTP service.\r
+        * \r
+        * @param $url a string giving the URL of the service, including the mailing box\r
+        * for IMAP URLs, as accepted by imap_open().\r
+        * @param $flags options given to imap_open().\r
+        * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on\r
+        * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,\r
+        * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.\r
+        * @param $err_msg an error message on failure\r
+        * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL\r
+        * on success, FALSE on error).\r
+        *\r
+        * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code\r
+        * gives the reason why it failed and $err_msg contains an error message).\r
+        */\r
+       function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_CLIENT->isProxy() ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {\r
+                       phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');\r
+               }\r
+               if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {\r
+                       phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');\r
+               }\r
+               if ( gettype($url) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be `string\')');\r
+               }\r
+               \r
+               if ( gettype($flags) != 'integer' ) {\r
+                       phpCAS::error('type mismatched for parameter $flags (should be `integer\')');\r
+               }\r
+               \r
+               $res = $PHPCAS_CLIENT->serviceMail($url,$flags,$err_code,$err_msg,$pt);\r
+               \r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  AUTHENTICATION\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup publicAuth\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * Set the times authentication will be cached before really accessing the CAS server in gateway mode: \r
+        * - -1: check only once, and then never again (until you pree login)\r
+        * - 0: always check\r
+        * - n: check every "n" time\r
+        *\r
+        * @param $n an integer.\r
+        */\r
+       function setCacheTimesForAuthRecheck($n)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( gettype($n) != 'integer' ) {\r
+                       phpCAS::error('type mismatched for parameter $header (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setCacheTimesForAuthRecheck($n);\r
+               }\r
+       \r
+       /**\r
+        * This method is called to check if the user is authenticated (use the gateway feature).\r
+        * @return TRUE when the user is authenticated; otherwise FALSE.\r
+        */\r
+       function checkAuthentication()\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               \r
+               $auth = $PHPCAS_CLIENT->checkAuthentication();\r
+               \r
+               // store where the authentication has been checked and the result\r
+               $dbg = phpCAS::backtrace();\r
+               $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,\r
+                       'file' => $dbg[0]['file'],\r
+                       'line' => $dbg[0]['line'],\r
+                       'method' => __CLASS__.'::'.__FUNCTION__,\r
+                       'result' => $auth );\r
+               phpCAS::traceEnd($auth);\r
+               return $auth; \r
+               }\r
+       \r
+       /**\r
+        * This method is called to force authentication if the user was not already \r
+        * authenticated. If the user is not authenticated, halt by redirecting to \r
+        * the CAS server.\r
+        */\r
+       function forceAuthentication()\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               \r
+               $auth = $PHPCAS_CLIENT->forceAuthentication();\r
+               \r
+               // store where the authentication has been checked and the result\r
+               $dbg = phpCAS::backtrace();\r
+               $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,\r
+                       'file' => $dbg[0]['file'],\r
+                       'line' => $dbg[0]['line'],\r
+                       'method' => __CLASS__.'::'.__FUNCTION__,\r
+                       'result' => $auth );\r
+               \r
+               if ( !$auth ) {\r
+                       phpCAS::trace('user is not authenticated, redirecting to the CAS server');\r
+                       $PHPCAS_CLIENT->forceAuthentication();\r
+               } else {\r
+                       phpCAS::trace('no need to authenticate (user `'.phpCAS::getUser().'\' is already authenticated)');\r
+               }\r
+               \r
+               phpCAS::traceEnd();\r
+               return $auth; \r
+               }\r
+       \r
+       /**\r
+        * This method is called to renew the authentication.\r
+        **/\r
+       function renewAuthentication() {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before'.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               \r
+               // store where the authentication has been checked and the result\r
+               $dbg = phpCAS::backtrace();\r
+               $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE, 'file' => $dbg[0]['file'], 'line' => $dbg[0]['line'], 'method' => __CLASS__.'::'.__FUNCTION__, 'result' => $auth );\r
+               \r
+               $PHPCAS_CLIENT->renewAuthentication();\r
+               phpCAS::traceEnd();\r
+       }\r
+\r
+       /**\r
+        * This method has been left from version 0.4.1 for compatibility reasons.\r
+        */\r
+       function authenticate()\r
+               {\r
+               phpCAS::error('this method is deprecated. You should use '.__CLASS__.'::forceAuthentication() instead');\r
+               }\r
+       \r
+       /**\r
+        * This method is called to check if the user is authenticated (previously or by\r
+        * tickets given in the URL).\r
+        *\r
+        * @return TRUE when the user is authenticated.\r
+        */\r
+       function isAuthenticated()\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               \r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               \r
+               // call the isAuthenticated method of the global $PHPCAS_CLIENT object\r
+               $auth = $PHPCAS_CLIENT->isAuthenticated();\r
+               \r
+               // store where the authentication has been checked and the result\r
+               $dbg = phpCAS::backtrace();\r
+               $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,\r
+                       'file' => $dbg[0]['file'],\r
+                       'line' => $dbg[0]['line'],\r
+                       'method' => __CLASS__.'::'.__FUNCTION__,\r
+                       'result' => $auth );\r
+               phpCAS::traceEnd($auth);\r
+               return $auth;\r
+               }\r
+       \r
+       /**\r
+        * Checks whether authenticated based on $_SESSION. Useful to avoid\r
+        * server calls.\r
+        * @return true if authenticated, false otherwise.\r
+        * @since 0.4.22 by Brendan Arnold\r
+        */\r
+       function isSessionAuthenticated ()\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               return($PHPCAS_CLIENT->isSessionAuthenticated());\r
+               }\r
+       \r
+       /**\r
+        * This method returns the CAS user's login name.\r
+        * @warning should not be called only after phpCAS::forceAuthentication()\r
+        * or phpCAS::checkAuthentication().\r
+        *\r
+        * @return the login name of the authenticated user\r
+        */\r
+       function getUser()\r
+               {\r
+               global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');\r
+               }\r
+               if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {\r
+                       phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');\r
+               }\r
+               return $PHPCAS_CLIENT->getUser();\r
+               }\r
+       \r
+    /**\r
+     * Handle logout requests.\r
+     */\r
+    function handleLogoutRequests($check_client=true, $allowed_clients=false)\r
+        {\r
+            global $PHPCAS_CLIENT;\r
+            if ( !is_object($PHPCAS_CLIENT) ) {\r
+                phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+            }\r
+            return($PHPCAS_CLIENT->handleLogoutRequests($check_client, $allowed_clients));\r
+        }\r
+   \r
+       /**\r
+        * This method returns the URL to be used to login.\r
+        * or phpCAS::isAuthenticated().\r
+        *\r
+        * @return the login name of the authenticated user\r
+        */\r
+       function getServerLoginURL()\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               return $PHPCAS_CLIENT->getServerLoginURL();\r
+               }\r
+       \r
+       /**\r
+        * Set the login URL of the CAS server.\r
+        * @param $url the login URL\r
+        * @since 0.4.21 by Wyman Chan\r
+        */\r
+       function setServerLoginURL($url='')\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after\r
+                               '.__CLASS__.'::client()');\r
+               }\r
+               if ( gettype($url) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be\r
+                       `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setServerLoginURL($url);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * This method returns the URL to be used to login.\r
+        * or phpCAS::isAuthenticated().\r
+        *\r
+        * @return the login name of the authenticated user\r
+        */\r
+       function getServerLogoutURL()\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');\r
+               }\r
+               return $PHPCAS_CLIENT->getServerLogoutURL();\r
+               }\r
+       \r
+       /**\r
+        * Set the logout URL of the CAS server.\r
+        * @param $url the logout URL\r
+        * @since 0.4.21 by Wyman Chan\r
+        */\r
+       function setServerLogoutURL($url='')\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after\r
+                               '.__CLASS__.'::client()');\r
+               }\r
+               if ( gettype($url) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be\r
+                       `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setServerLogoutURL($url);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * This method is used to logout from CAS.\r
+        * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server\r
+        * @public\r
+        */\r
+       function logout($params = "") {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if (!is_object($PHPCAS_CLIENT)) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }\r
+               $parsedParams = array();\r
+               if ($params != "") {\r
+                       if (is_string($params)) {\r
+                               phpCAS::error('method `phpCAS::logout($url)\' is now deprecated, use `phpCAS::logoutWithUrl($url)\' instead');\r
+                       }\r
+                       if (!is_array($params)) {\r
+                               phpCAS::error('type mismatched for parameter $params (should be `array\')');\r
+                       }\r
+                       foreach ($params as $key => $value) {\r
+                               if ($key != "service" && $key != "url") {\r
+                                       phpCAS::error('only `url\' and `service\' parameters are allowed for method `phpCAS::logout($params)\'');\r
+                               }\r
+                               $parsedParams[$key] = $value;\r
+                       }\r
+               }\r
+               $PHPCAS_CLIENT->logout($parsedParams);\r
+               // never reached\r
+               phpCAS::traceEnd();\r
+       }\r
+       \r
+       /**\r
+        * This method is used to logout from CAS. Halts by redirecting to the CAS server.\r
+        * @param $service a URL that will be transmitted to the CAS server\r
+        */\r
+       function logoutWithRedirectService($service) {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }\r
+               if (!is_string($service)) {\r
+                       phpCAS::error('type mismatched for parameter $service (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->logout(array("service" => $service));\r
+               // never reached\r
+               phpCAS::traceEnd();\r
+       }\r
+       \r
+       /**\r
+        * This method is used to logout from CAS. Halts by redirecting to the CAS server.\r
+        * @param $url a URL that will be transmitted to the CAS server\r
+        */\r
+       function logoutWithUrl($url) {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }\r
+               if (!is_string($url)) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->logout(array("url" => $url));\r
+               // never reached\r
+               phpCAS::traceEnd();\r
+       }\r
+       \r
+       /**\r
+        * This method is used to logout from CAS. Halts by redirecting to the CAS server.\r
+        * @param $service a URL that will be transmitted to the CAS server\r
+        * @param $url a URL that will be transmitted to the CAS server\r
+        */\r
+       function logoutWithRedirectServiceAndUrl($service, $url) {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }\r
+               if (!is_string($service)) {\r
+                       phpCAS::error('type mismatched for parameter $service (should be `string\')');\r
+               }\r
+               if (!is_string($url)) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->logout(array("service" => $service, "url" => $url));\r
+               // never reached\r
+               phpCAS::traceEnd();\r
+       }\r
+       \r
+       /**\r
+        * Set the fixed URL that will be used by the CAS server to transmit the PGT.\r
+        * When this method is not called, a phpCAS script uses its own URL for the callback.\r
+        *\r
+        * @param $url the URL\r
+        */\r
+       function setFixedCallbackURL($url='')\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( !$PHPCAS_CLIENT->isProxy() ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }\r
+               if ( gettype($url) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setCallbackURL($url);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * Set the fixed URL that will be set as the CAS service parameter. When this\r
+        * method is not called, a phpCAS script uses its own URL.\r
+        *\r
+        * @param $url the URL\r
+        */\r
+       function setFixedServiceURL($url)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }  \r
+               if ( gettype($url) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $url (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setURL($url);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * Get the URL that is set as the CAS service parameter.\r
+        */\r
+       function getServiceURL()\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }  \r
+               return($PHPCAS_CLIENT->getURL());\r
+               }\r
+       \r
+       /**\r
+        * Retrieve a Proxy Ticket from the CAS server.\r
+        */\r
+       function retrievePT($target_service,&$err_code,&$err_msg)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');\r
+               }  \r
+               if ( gettype($target_service) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $target_service(should be `string\')');\r
+               }\r
+               return($PHPCAS_CLIENT->retrievePT($target_service,$err_code,$err_msg));\r
+               }\r
+       \r
+       /**\r
+        * Set the certificate of the CAS server.\r
+        *\r
+        * @param $cert the PEM certificate\r
+        */\r
+       function setCasServerCert($cert)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }  \r
+               if ( gettype($cert) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $cert (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setCasServerCert($cert);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * Set the certificate of the CAS server CA.\r
+        *\r
+        * @param $cert the CA certificate\r
+        */\r
+       function setCasServerCACert($cert)\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }  \r
+               if ( gettype($cert) != 'string' ) {\r
+                       phpCAS::error('type mismatched for parameter $cert (should be `string\')');\r
+               }\r
+               $PHPCAS_CLIENT->setCasServerCACert($cert);\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /**\r
+        * Set no SSL validation for the CAS server.\r
+        */\r
+       function setNoCasServerValidation()\r
+               {\r
+               global $PHPCAS_CLIENT;\r
+               phpCAS::traceBegin();\r
+               if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+               }  \r
+               $PHPCAS_CLIENT->setNoCasServerValidation();\r
+               phpCAS::traceEnd();\r
+               }\r
+       \r
+       /** @} */\r
+       \r
+  /**\r
+   * Change CURL options.\r
+   * CURL is used to connect through HTTPS to CAS server\r
+   * @param $key the option key\r
+   * @param $value the value to set\r
+   */\r
+   function setExtraCurlOption($key, $value)\r
+               {\r
+                 global $PHPCAS_CLIENT;\r
+                 phpCAS::traceBegin();\r
+                 if ( !is_object($PHPCAS_CLIENT) ) {\r
+                       phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');\r
+                 }  \r
+                 $PHPCAS_CLIENT->setExtraCurlOption($key, $value);\r
+                 phpCAS::traceEnd();\r
+               }\r
+\r
+}\r
+\r
+// ########################################################################\r
+// DOCUMENTATION\r
+// ########################################################################\r
+\r
+// ########################################################################\r
+//  MAIN PAGE\r
+\r
+/**\r
+ * @mainpage\r
+ *\r
+ * The following pages only show the source documentation.\r
+ *\r
+ */\r
+\r
+// ########################################################################\r
+//  MODULES DEFINITION\r
+\r
+/** @defgroup public User interface */\r
+\r
+/** @defgroup publicInit Initialization\r
+ *  @ingroup public */\r
+\r
+/** @defgroup publicAuth Authentication\r
+ *  @ingroup public */\r
+\r
+/** @defgroup publicServices Access to external services\r
+ *  @ingroup public */\r
+\r
+/** @defgroup publicConfig Configuration\r
+ *  @ingroup public */\r
+\r
+/** @defgroup publicLang Internationalization\r
+ *  @ingroup publicConfig */\r
+\r
+/** @defgroup publicOutput HTML output\r
+ *  @ingroup publicConfig */\r
+\r
+/** @defgroup publicPGTStorage PGT storage\r
+ *  @ingroup publicConfig */\r
+\r
+/** @defgroup publicDebug Debugging\r
+ *  @ingroup public */\r
+\r
+\r
+/** @defgroup internal Implementation */\r
+\r
+/** @defgroup internalAuthentication Authentication\r
+ *  @ingroup internal */\r
+\r
+/** @defgroup internalBasic CAS Basic client features (CAS 1.0, Service Tickets)\r
+ *  @ingroup internal */\r
+\r
+/** @defgroup internalProxy CAS Proxy features (CAS 2.0, Proxy Granting Tickets)\r
+ *  @ingroup internal */\r
+\r
+/** @defgroup internalPGTStorage PGT storage\r
+ *  @ingroup internalProxy */\r
+\r
+/** @defgroup internalPGTStorageDB PGT storage in a database\r
+ *  @ingroup internalPGTStorage */\r
+\r
+/** @defgroup internalPGTStorageFile PGT storage on the filesystem\r
+ *  @ingroup internalPGTStorage */\r
+\r
+/** @defgroup internalCallback Callback from the CAS server\r
+ *  @ingroup internalProxy */\r
+\r
+/** @defgroup internalProxied CAS proxied client features (CAS 2.0, Proxy Tickets)\r
+ *  @ingroup internal */\r
+\r
+/** @defgroup internalConfig Configuration\r
+ *  @ingroup internal */\r
+\r
+/** @defgroup internalOutput HTML output\r
+ *  @ingroup internalConfig */\r
+\r
+/** @defgroup internalLang Internationalization\r
+ *  @ingroup internalConfig\r
+ *\r
+ * To add a new language:\r
+ * - 1. define a new constant PHPCAS_LANG_XXXXXX in CAS/CAS.php\r
+ * - 2. copy any file from CAS/languages to CAS/languages/XXXXXX.php\r
+ * - 3. Make the translations\r
+ */\r
+\r
+/** @defgroup internalDebug Debugging\r
+ *  @ingroup internal */\r
+\r
+/** @defgroup internalMisc Miscellaneous\r
+ *  @ingroup internal */\r
+\r
+// ########################################################################\r
+//  EXAMPLES\r
+\r
+/**\r
+ * @example example_simple.php\r
+ */\r
+ /**\r
+  * @example example_proxy.php\r
+  */\r
+  /**\r
+   * @example example_proxy2.php\r
+   */\r
+   /**\r
+    * @example example_lang.php\r
+    */\r
+    /**\r
+     * @example example_html.php\r
+     */\r
+     /**\r
+      * @example example_file.php\r
+      */\r
+      /**\r
+       * @example example_db.php\r
+       */\r
+       /**\r
+        * @example example_service.php\r
+        */\r
+        /**\r
+         * @example example_session_proxy.php\r
+         */\r
+         /**\r
+          * @example example_session_service.php\r
+          */\r
+          /**\r
+           * @example example_gateway.php\r
+           */\r
+\r
+\r
+\r
+?>\r
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
new file mode 100644 (file)
index 0000000..5a589e4
--- /dev/null
@@ -0,0 +1,190 @@
+<?php\r
+\r
+/**\r
+ * @file CAS/PGTStorage/pgt-db.php\r
+ * Basic class for PGT database storage\r
+ */\r
+\r
+/**\r
+ * @class PGTStorageDB\r
+ * The PGTStorageDB class is a class for PGT database storage. An instance of \r
+ * this class is returned by CASClient::SetPGTStorageDB().\r
+ *\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ *\r
+ * @ingroup internalPGTStorageDB\r
+ */\r
+\r
+class PGTStorageDB extends PGTStorage\r
+{\r
+  /** \r
+   * @addtogroup internalPGTStorageDB\r
+   * @{ \r
+   */\r
+\r
+  /**\r
+   * a string representing a PEAR DB URL to connect to the database. Written by\r
+   * PGTStorageDB::PGTStorageDB(), read by getURL().\r
+   *\r
+   * @hideinitializer\r
+   * @private\r
+   */\r
+  var $_url='';\r
+\r
+  /**\r
+   * This method returns the PEAR DB URL to use to connect to the database.\r
+   *\r
+   * @return a PEAR DB URL\r
+   *\r
+   * @private\r
+   */\r
+  function getURL()\r
+    {\r
+      return $this->_url;\r
+    }\r
+\r
+  /**\r
+   * The handle of the connection to the database where PGT's are stored. Written by\r
+   * PGTStorageDB::init(), read by getLink().\r
+   *\r
+   * @hideinitializer\r
+   * @private\r
+   */\r
+  var $_link = null;\r
+\r
+  /**\r
+   * This method returns the handle of the connection to the database where PGT's are \r
+   * stored.\r
+   *\r
+   * @return a handle of connection.\r
+   *\r
+   * @private\r
+   */\r
+  function getLink()\r
+    {\r
+      return $this->_link;\r
+    }\r
+\r
+  /**\r
+   * The name of the table where PGT's are stored. Written by \r
+   * PGTStorageDB::PGTStorageDB(), read by getTable().\r
+   *\r
+   * @hideinitializer\r
+   * @private\r
+   */\r
+  var $_table = '';\r
+\r
+  /**\r
+   * This method returns the name of the table where PGT's are stored.\r
+   *\r
+   * @return the name of a table.\r
+   *\r
+   * @private\r
+   */\r
+  function getTable()\r
+    {\r
+      return $this->_table;\r
+    }\r
+\r
+  // ########################################################################\r
+  //  DEBUGGING\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * This method returns an informational string giving the type of storage\r
+   * used by the object (used for debugging purposes).\r
+   *\r
+   * @return an informational string.\r
+   * @public\r
+   */\r
+  function getStorageType()\r
+    {\r
+      return "database";\r
+    }\r
+\r
+  /**\r
+   * This method returns an informational string giving informations on the\r
+   * parameters of the storage.(used for debugging purposes).\r
+   *\r
+   * @public\r
+   */\r
+  function getStorageInfo()\r
+    {\r
+      return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';\r
+    }\r
+\r
+  // ########################################################################\r
+  //  CONSTRUCTOR\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * The class constructor, called by CASClient::SetPGTStorageDB().\r
+   *\r
+   * @param $cas_parent the CASClient instance that creates the object.\r
+   * @param $user the user to access the data with\r
+   * @param $password the user's password\r
+   * @param $database_type the type of the database hosting the data\r
+   * @param $hostname the server hosting the database\r
+   * @param $port the port the server is listening on\r
+   * @param $database the name of the database\r
+   * @param $table the name of the table storing the data\r
+   *\r
+   * @public\r
+   */\r
+  function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)\r
+    {\r
+      phpCAS::traceBegin();\r
+\r
+      // call the ancestor's constructor\r
+      $this->PGTStorage($cas_parent);\r
+\r
+      if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;\r
+      if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;\r
+      if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;\r
+      if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;\r
+      if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;\r
+\r
+      // build and store the PEAR DB URL\r
+      $this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;\r
+\r
+      // XXX should use setURL and setTable\r
+      phpCAS::traceEnd();\r
+    }\r
+  \r
+  // ########################################################################\r
+  //  INITIALIZATION\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * This method is used to initialize the storage. Halts on error.\r
+   *\r
+   * @public\r
+   */\r
+  function init()\r
+    {\r
+      phpCAS::traceBegin();\r
+      // if the storage has already been initialized, return immediatly\r
+      if ( $this->isInitialized() )\r
+               return;\r
+      // call the ancestor's method (mark as initialized)\r
+      parent::init();\r
+      \r
+         //include phpDB library (the test was introduced in release 0.4.8 for \r
+         //the integration into Tikiwiki).\r
+         if (!class_exists('DB')) {\r
+               include_once('DB.php');\r
+         }\r
+\r
+      // try to connect to the database\r
+      $this->_link = DB::connect($this->getURL());\r
+      if ( DB::isError($this->_link) ) {\r
+       phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');\r
+      }\r
+      var_dump($this->_link);\r
+      phpCAS::traceBEnd();\r
+    }\r
+\r
+  /** @} */\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
new file mode 100644 (file)
index 0000000..bc07485
--- /dev/null
@@ -0,0 +1,249 @@
+<?php\r
+\r
+/**\r
+ * @file CAS/PGTStorage/pgt-file.php\r
+ * Basic class for PGT file storage\r
+ */\r
+\r
+/**\r
+ * @class PGTStorageFile\r
+ * The PGTStorageFile class is a class for PGT file storage. An instance of \r
+ * this class is returned by CASClient::SetPGTStorageFile().\r
+ *\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ *\r
+ * @ingroup internalPGTStorageFile\r
+ */\r
+\r
+class PGTStorageFile extends PGTStorage\r
+{\r
+  /** \r
+   * @addtogroup internalPGTStorageFile \r
+   * @{ \r
+   */\r
+\r
+  /**\r
+   * a string telling where PGT's should be stored on the filesystem. Written by\r
+   * PGTStorageFile::PGTStorageFile(), read by getPath().\r
+   *\r
+   * @private\r
+   */\r
+  var $_path;\r
+\r
+  /**\r
+   * This method returns the name of the directory where PGT's should be stored \r
+   * on the filesystem.\r
+   *\r
+   * @return the name of a directory (with leading and trailing '/')\r
+   *\r
+   * @private\r
+   */\r
+  function getPath()\r
+    {\r
+      return $this->_path;\r
+    }\r
+\r
+  /**\r
+   * a string telling the format to use to store PGT's (plain or xml). Written by\r
+   * PGTStorageFile::PGTStorageFile(), read by getFormat().\r
+   *\r
+   * @private\r
+   */\r
+  var $_format;\r
+\r
+  /**\r
+   * This method returns the format to use when storing PGT's on the filesystem.\r
+   *\r
+   * @return a string corresponding to the format used (plain or xml).\r
+   *\r
+   * @private\r
+   */\r
+  function getFormat()\r
+    {\r
+      return $this->_format;\r
+    }\r
+\r
+  // ########################################################################\r
+  //  DEBUGGING\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * This method returns an informational string giving the type of storage\r
+   * used by the object (used for debugging purposes).\r
+   *\r
+   * @return an informational string.\r
+   * @public\r
+   */\r
+  function getStorageType()\r
+    {\r
+      return "file";\r
+    }\r
+\r
+  /**\r
+   * This method returns an informational string giving informations on the\r
+   * parameters of the storage.(used for debugging purposes).\r
+   *\r
+   * @return an informational string.\r
+   * @public\r
+   */\r
+  function getStorageInfo()\r
+    {\r
+      return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';\r
+    }\r
+\r
+  // ########################################################################\r
+  //  CONSTRUCTOR\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * The class constructor, called by CASClient::SetPGTStorageFile().\r
+   *\r
+   * @param $cas_parent the CASClient instance that creates the object.\r
+   * @param $format the format used to store the PGT's (`plain' and `xml' allowed).\r
+   * @param $path the path where the PGT's should be stored\r
+   *\r
+   * @public\r
+   */\r
+  function PGTStorageFile($cas_parent,$format,$path)\r
+    {\r
+      phpCAS::traceBegin();\r
+      // call the ancestor's constructor\r
+      $this->PGTStorage($cas_parent);\r
+\r
+      if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;\r
+      if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;\r
+\r
+      // check that the path is an absolute path\r
+      if (getenv("OS")=="Windows_NT"){\r
+       \r
+        if (!preg_match('`^[a-zA-Z]:`', $path)) {\r
+               phpCAS::error('an absolute path is needed for PGT storage to file');\r
+       }\r
+       \r
+      }\r
+      else\r
+      {\r
+      \r
+       if ( $path[0] != '/' ) {\r
+                       phpCAS::error('an absolute path is needed for PGT storage to file');\r
+       }\r
+\r
+       // store the path (with a leading and trailing '/')      \r
+       $path = preg_replace('|[/]*$|','/',$path);\r
+       $path = preg_replace('|^[/]*|','/',$path);\r
+      }\r
+      \r
+      $this->_path = $path;\r
+      // check the format and store it\r
+      switch ($format) {\r
+      case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:\r
+      case CAS_PGT_STORAGE_FILE_FORMAT_XML:\r
+       $this->_format = $format;\r
+       break;\r
+      default:\r
+       phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');\r
+      }\r
+      phpCAS::traceEnd();      \r
+    }\r
+\r
+  // ########################################################################\r
+  //  INITIALIZATION\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * This method is used to initialize the storage. Halts on error.\r
+   *\r
+   * @public\r
+   */\r
+  function init()\r
+    {\r
+      phpCAS::traceBegin();\r
+      // if the storage has already been initialized, return immediatly\r
+      if ( $this->isInitialized() )\r
+       return;\r
+      // call the ancestor's method (mark as initialized)\r
+      parent::init();\r
+      phpCAS::traceEnd();      \r
+    }\r
+\r
+  // ########################################################################\r
+  //  PGT I/O\r
+  // ########################################################################\r
+\r
+  /**\r
+   * This method returns the filename corresponding to a PGT Iou.\r
+   *\r
+   * @param $pgt_iou the PGT iou.\r
+   *\r
+   * @return a filename\r
+   * @private\r
+   */\r
+  function getPGTIouFilename($pgt_iou)\r
+    {\r
+      phpCAS::traceBegin();\r
+      $filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();\r
+      phpCAS::traceEnd($filename);\r
+      return $filename;\r
+    }\r
+  \r
+  /**\r
+   * This method stores a PGT and its corresponding PGT Iou into a file. Echoes a\r
+   * warning on error.\r
+   *\r
+   * @param $pgt the PGT\r
+   * @param $pgt_iou the PGT iou\r
+   *\r
+   * @public\r
+   */\r
+  function write($pgt,$pgt_iou)\r
+    {\r
+      phpCAS::traceBegin();\r
+      $fname = $this->getPGTIouFilename($pgt_iou);\r
+      if ( $f=fopen($fname,"w") ) {\r
+       if ( fputs($f,$pgt) === FALSE ) {\r
+         phpCAS::error('could not write PGT to `'.$fname.'\'');\r
+       }\r
+       fclose($f);\r
+      } else {\r
+       phpCAS::error('could not open `'.$fname.'\'');\r
+      }\r
+      phpCAS::traceEnd();      \r
+    }\r
+\r
+  /**\r
+   * This method reads a PGT corresponding to a PGT Iou and deletes the \r
+   * corresponding file.\r
+   *\r
+   * @param $pgt_iou the PGT iou\r
+   *\r
+   * @return the corresponding PGT, or FALSE on error\r
+   *\r
+   * @public\r
+   */\r
+  function read($pgt_iou)\r
+    {\r
+      phpCAS::traceBegin();\r
+      $pgt = FALSE;\r
+      $fname = $this->getPGTIouFilename($pgt_iou);\r
+      if ( !($f=fopen($fname,"r")) ) {\r
+       phpCAS::trace('could not open `'.$fname.'\'');\r
+      } else {\r
+       if ( ($pgt=fgets($f)) === FALSE ) {\r
+         phpCAS::trace('could not read PGT from `'.$fname.'\'');\r
+       } \r
+       fclose($f);\r
+      }\r
+\r
+      // delete the PGT file\r
+      @unlink($fname);\r
+\r
+      phpCAS::traceEnd($pgt);\r
+      return $pgt;\r
+    }\r
+  \r
+  /** @} */\r
+  \r
+}\r
+\r
+  \r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
new file mode 100644 (file)
index 0000000..cd9b499
--- /dev/null
@@ -0,0 +1,188 @@
+<?php\r
+\r
+/**\r
+ * @file CAS/PGTStorage/pgt-main.php\r
+ * Basic class for PGT storage\r
+ */\r
+\r
+/**\r
+ * @class PGTStorage\r
+ * The PGTStorage class is a generic class for PGT storage. This class should\r
+ * not be instanciated itself but inherited by specific PGT storage classes.\r
+ *\r
+ * @author   Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ *\r
+ * @ingroup internalPGTStorage\r
+ */\r
+\r
+class PGTStorage\r
+{\r
+  /** \r
+   * @addtogroup internalPGTStorage\r
+   * @{ \r
+   */\r
+\r
+  // ########################################################################\r
+  //  CONSTRUCTOR\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * The constructor of the class, should be called only by inherited classes.\r
+   *\r
+   * @param $cas_parent the CASclient instance that creates the current object.\r
+   *\r
+   * @protected\r
+   */\r
+  function PGTStorage($cas_parent)\r
+    {\r
+      phpCAS::traceBegin();\r
+      if ( !$cas_parent->isProxy() ) {\r
+       phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy'); \r
+      }\r
+      phpCAS::traceEnd();\r
+    }\r
+\r
+  // ########################################################################\r
+  //  DEBUGGING\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * This virtual method returns an informational string giving the type of storage\r
+   * used by the object (used for debugging purposes).\r
+   *\r
+   * @public\r
+   */\r
+  function getStorageType()\r
+    {\r
+      phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called'); \r
+    }\r
+\r
+  /**\r
+   * This virtual method returns an informational string giving informations on the\r
+   * parameters of the storage.(used for debugging purposes).\r
+   *\r
+   * @public\r
+   */\r
+  function getStorageInfo()\r
+    {\r
+      phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called'); \r
+    }\r
+\r
+  // ########################################################################\r
+  //  ERROR HANDLING\r
+  // ########################################################################\r
+  \r
+  /**\r
+   * string used to store an error message. Written by PGTStorage::setErrorMessage(),\r
+   * read by PGTStorage::getErrorMessage().\r
+   *\r
+   * @hideinitializer\r
+   * @private\r
+   * @deprecated not used.\r
+   */\r
+  var $_error_message=FALSE;\r
+\r
+  /**\r
+   * This method sets en error message, which can be read later by \r
+   * PGTStorage::getErrorMessage().\r
+   *\r
+   * @param $error_message an error message\r
+   *\r
+   * @protected\r
+   * @deprecated not used.\r
+   */\r
+  function setErrorMessage($error_message)\r
+    {\r
+      $this->_error_message = $error_message;\r
+    }\r
+\r
+  /**\r
+   * This method returns an error message set by PGTStorage::setErrorMessage().\r
+   *\r
+   * @return an error message when set by PGTStorage::setErrorMessage(), FALSE\r
+   * otherwise.\r
+   *\r
+   * @public\r
+   * @deprecated not used.\r
+   */\r
+  function getErrorMessage()\r
+    {\r
+      return $this->_error_message;\r
+    }\r
+\r
+  // ########################################################################\r
+  //  INITIALIZATION\r
+  // ########################################################################\r
+\r
+  /**\r
+   * a boolean telling if the storage has already been initialized. Written by \r
+   * PGTStorage::init(), read by PGTStorage::isInitialized().\r
+   *\r
+   * @hideinitializer\r
+   * @private\r
+   */\r
+  var $_initialized = FALSE;\r
+\r
+  /**\r
+   * This method tells if the storage has already been intialized.\r
+   *\r
+   * @return a boolean\r
+   *\r
+   * @protected\r
+   */\r
+  function isInitialized()\r
+    {\r
+      return $this->_initialized;\r
+    }\r
+\r
+  /**\r
+   * This virtual method initializes the object.\r
+   *\r
+   * @protected\r
+   */\r
+  function init()\r
+    {\r
+      $this->_initialized = TRUE;\r
+    }\r
+\r
+  // ########################################################################\r
+  //  PGT I/O\r
+  // ########################################################################\r
+\r
+  /**\r
+   * This virtual method stores a PGT and its corresponding PGT Iuo.\r
+   * @note Should never be called.\r
+   *\r
+   * @param $pgt the PGT\r
+   * @param $pgt_iou the PGT iou\r
+   *\r
+   * @protected\r
+   */\r
+  function write($pgt,$pgt_iou)\r
+    {\r
+      phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called'); \r
+    }\r
+\r
+  /**\r
+   * This virtual method reads a PGT corresponding to a PGT Iou and deletes\r
+   * the corresponding storage entry.\r
+   * @note Should never be called.\r
+   *\r
+   * @param $pgt_iou the PGT iou\r
+   *\r
+   * @protected\r
+   */\r
+  function read($pgt_iou)\r
+    {\r
+      phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called'); \r
+    }\r
+\r
+  /** @} */\r
+  \r
+} \r
+\r
+// include specific PGT storage classes\r
+include_once(dirname(__FILE__).'/pgt-file.php'); \r
+include_once(dirname(__FILE__).'/pgt-db.php');\r
+  \r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/client.php b/plugins/CasAuthentication/extlib/CAS/client.php
new file mode 100644 (file)
index 0000000..bfea590
--- /dev/null
@@ -0,0 +1,2297 @@
+<?php\r
+\r
+/**\r
+ * @file CAS/client.php\r
+ * Main class of the phpCAS library\r
+ */\r
+\r
+// include internationalization stuff\r
+include_once(dirname(__FILE__).'/languages/languages.php');\r
+\r
+// include PGT storage classes\r
+include_once(dirname(__FILE__).'/PGTStorage/pgt-main.php');\r
+\r
+/**\r
+ * @class CASClient\r
+ * The CASClient class is a client interface that provides CAS authentication\r
+ * to PHP applications.\r
+ *\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ */\r
+\r
+class CASClient\r
+{\r
+       \r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       // XX                                                                    XX\r
+       // XX                          CONFIGURATION                             XX\r
+       // XX                                                                    XX\r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       \r
+       // ########################################################################\r
+       //  HTML OUTPUT\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalOutput\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * This method filters a string by replacing special tokens by appropriate values\r
+        * and prints it. The corresponding tokens are taken into account:\r
+        * - __CAS_VERSION__\r
+        * - __PHPCAS_VERSION__\r
+        * - __SERVER_BASE_URL__\r
+        *\r
+        * Used by CASClient::PrintHTMLHeader() and CASClient::printHTMLFooter().\r
+        *\r
+        * @param $str the string to filter and output\r
+        *\r
+        * @private\r
+        */\r
+       function HTMLFilterOutput($str)\r
+               {\r
+               $str = str_replace('__CAS_VERSION__',$this->getServerVersion(),$str);\r
+               $str = str_replace('__PHPCAS_VERSION__',phpCAS::getVersion(),$str);\r
+               $str = str_replace('__SERVER_BASE_URL__',$this->getServerBaseURL(),$str);\r
+               echo $str;\r
+               }\r
+       \r
+       /**\r
+        * A string used to print the header of HTML pages. Written by CASClient::setHTMLHeader(),\r
+        * read by CASClient::printHTMLHeader().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        * @see CASClient::setHTMLHeader, CASClient::printHTMLHeader()\r
+        */\r
+       var $_output_header = '';\r
+       \r
+       /**\r
+        * This method prints the header of the HTML output (after filtering). If\r
+        * CASClient::setHTMLHeader() was not used, a default header is output.\r
+        *\r
+        * @param $title the title of the page\r
+        *\r
+        * @see HTMLFilterOutput()\r
+        * @private\r
+        */\r
+       function printHTMLHeader($title)\r
+               {\r
+               $this->HTMLFilterOutput(str_replace('__TITLE__',\r
+                       $title,\r
+                       (empty($this->_output_header)\r
+                                       ? '<html><head><title>__TITLE__</title></head><body><h1>__TITLE__</h1>'\r
+                                                       : $this->_output_header)\r
+               )\r
+               );\r
+               }\r
+       \r
+       /**\r
+        * A string used to print the footer of HTML pages. Written by CASClient::setHTMLFooter(),\r
+        * read by printHTMLFooter().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        * @see CASClient::setHTMLFooter, CASClient::printHTMLFooter()\r
+        */\r
+       var $_output_footer = '';\r
+       \r
+       /**\r
+        * This method prints the footer of the HTML output (after filtering). If\r
+        * CASClient::setHTMLFooter() was not used, a default footer is output.\r
+        *\r
+        * @see HTMLFilterOutput()\r
+        * @private\r
+        */\r
+       function printHTMLFooter()\r
+               {\r
+               $this->HTMLFilterOutput(empty($this->_output_footer)\r
+                       ?('<hr><address>phpCAS __PHPCAS_VERSION__ '.$this->getString(CAS_STR_USING_SERVER).' <a href="__SERVER_BASE_URL__">__SERVER_BASE_URL__</a> (CAS __CAS_VERSION__)</a></address></body></html>')\r
+                                       :$this->_output_footer);\r
+               }\r
+       \r
+       /**\r
+        * This method set the HTML header used for all outputs.\r
+        *\r
+        * @param $header the HTML header.\r
+        *\r
+        * @public\r
+        */\r
+       function setHTMLHeader($header)\r
+               {\r
+               $this->_output_header = $header;\r
+               }\r
+       \r
+       /**\r
+        * This method set the HTML footer used for all outputs.\r
+        *\r
+        * @param $footer the HTML footer.\r
+        *\r
+        * @public\r
+        */\r
+       function setHTMLFooter($footer)\r
+               {\r
+               $this->_output_footer = $footer;\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  INTERNATIONALIZATION\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalLang\r
+        * @{\r
+        */  \r
+       /**\r
+        * A string corresponding to the language used by phpCAS. Written by \r
+        * CASClient::setLang(), read by CASClient::getLang().\r
+        \r
+        * @note debugging information is always in english (debug purposes only).\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        * @sa CASClient::_strings, CASClient::getString()\r
+        */\r
+       var $_lang = '';\r
+       \r
+       /**\r
+        * This method returns the language used by phpCAS.\r
+        *\r
+        * @return a string representing the language\r
+        *\r
+        * @private\r
+        */\r
+       function getLang()\r
+               {\r
+               if ( empty($this->_lang) )\r
+                       $this->setLang(PHPCAS_LANG_DEFAULT);\r
+               return $this->_lang;\r
+               }\r
+       \r
+       /**\r
+        * array containing the strings used by phpCAS. Written by CASClient::setLang(), read by \r
+        * CASClient::getString() and used by CASClient::setLang().\r
+        *\r
+        * @note This array is filled by instructions in CAS/languages/<$this->_lang>.php\r
+        *\r
+        * @private\r
+        * @see CASClient::_lang, CASClient::getString(), CASClient::setLang(), CASClient::getLang()\r
+        */\r
+       var $_strings;\r
+       \r
+       /**\r
+        * This method returns a string depending on the language.\r
+        *\r
+        * @param $str the index of the string in $_string.\r
+        *\r
+        * @return the string corresponding to $index in $string.\r
+        *\r
+        * @private\r
+        */\r
+       function getString($str)\r
+               {\r
+               // call CASclient::getLang() to be sure the language is initialized\r
+               $this->getLang();\r
+               \r
+               if ( !isset($this->_strings[$str]) ) {\r
+                       trigger_error('string `'.$str.'\' not defined for language `'.$this->getLang().'\'',E_USER_ERROR);\r
+               }\r
+               return $this->_strings[$str];\r
+               }\r
+       \r
+       /**\r
+        * This method is used to set the language used by phpCAS. \r
+        * @note Can be called only once.\r
+        *\r
+        * @param $lang a string representing the language.\r
+        *\r
+        * @public\r
+        * @sa CAS_LANG_FRENCH, CAS_LANG_ENGLISH\r
+        */\r
+       function setLang($lang)\r
+               {\r
+               // include the corresponding language file\r
+               include_once(dirname(__FILE__).'/languages/'.$lang.'.php');\r
+               \r
+               if ( !is_array($this->_strings) ) {\r
+                       trigger_error('language `'.$lang.'\' is not implemented',E_USER_ERROR);\r
+               }\r
+               $this->_lang = $lang;\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  CAS SERVER CONFIG\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalConfig\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * a record to store information about the CAS server.\r
+        * - $_server["version"]: the version of the CAS server\r
+        * - $_server["hostname"]: the hostname of the CAS server\r
+        * - $_server["port"]: the port the CAS server is running on\r
+        * - $_server["uri"]: the base URI the CAS server is responding on\r
+        * - $_server["base_url"]: the base URL of the CAS server\r
+        * - $_server["login_url"]: the login URL of the CAS server\r
+        * - $_server["service_validate_url"]: the service validating URL of the CAS server\r
+        * - $_server["proxy_url"]: the proxy URL of the CAS server\r
+        * - $_server["proxy_validate_url"]: the proxy validating URL of the CAS server\r
+        * - $_server["logout_url"]: the logout URL of the CAS server\r
+        *\r
+        * $_server["version"], $_server["hostname"], $_server["port"] and $_server["uri"]\r
+        * are written by CASClient::CASClient(), read by CASClient::getServerVersion(), \r
+        * CASClient::getServerHostname(), CASClient::getServerPort() and CASClient::getServerURI().\r
+        *\r
+        * The other fields are written and read by CASClient::getServerBaseURL(), \r
+        * CASClient::getServerLoginURL(), CASClient::getServerServiceValidateURL(), \r
+        * CASClient::getServerProxyValidateURL() and CASClient::getServerLogoutURL().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_server = array(\r
+               'version' => -1,\r
+               'hostname' => 'none',\r
+               'port' => -1,\r
+               'uri' => 'none'\r
+       );\r
+       \r
+       /**\r
+        * This method is used to retrieve the version of the CAS server.\r
+        * @return the version of the CAS server.\r
+        * @private\r
+        */\r
+       function getServerVersion()\r
+               { \r
+               return $this->_server['version']; \r
+               }\r
+       \r
+       /**\r
+        * This method is used to retrieve the hostname of the CAS server.\r
+        * @return the hostname of the CAS server.\r
+        * @private\r
+        */\r
+       function getServerHostname()\r
+               { return $this->_server['hostname']; }\r
+       \r
+       /**\r
+        * This method is used to retrieve the port of the CAS server.\r
+        * @return the port of the CAS server.\r
+        * @private\r
+        */\r
+       function getServerPort()\r
+               { return $this->_server['port']; }\r
+       \r
+       /**\r
+        * This method is used to retrieve the URI of the CAS server.\r
+        * @return a URI.\r
+        * @private\r
+        */\r
+       function getServerURI()\r
+               { return $this->_server['uri']; }\r
+       \r
+       /**\r
+        * This method is used to retrieve the base URL of the CAS server.\r
+        * @return a URL.\r
+        * @private\r
+        */\r
+       function getServerBaseURL()\r
+               { \r
+               // the URL is build only when needed\r
+               if ( empty($this->_server['base_url']) ) {\r
+                       $this->_server['base_url'] = 'https://'\r
+                               .$this->getServerHostname()\r
+                               .':'\r
+                               .$this->getServerPort()\r
+                               .$this->getServerURI();\r
+               }\r
+               return $this->_server['base_url']; \r
+               }\r
+       \r
+       /**\r
+        * This method is used to retrieve the login URL of the CAS server.\r
+        * @param $gateway true to check authentication, false to force it\r
+        * @param $renew true to force the authentication with the CAS server\r
+        * NOTE : It is recommended that CAS implementations ignore the\r
+        "gateway" parameter if "renew" is set\r
+        * @return a URL.\r
+        * @private\r
+        */\r
+       function getServerLoginURL($gateway=false,$renew=false) {\r
+               phpCAS::traceBegin();\r
+               // the URL is build only when needed\r
+               if ( empty($this->_server['login_url']) ) {\r
+                       $this->_server['login_url'] = $this->getServerBaseURL();\r
+                       $this->_server['login_url'] .= 'login?service=';\r
+                       // $this->_server['login_url'] .= preg_replace('/&/','%26',$this->getURL());\r
+                       $this->_server['login_url'] .= urlencode($this->getURL());\r
+                       if($renew) {\r
+                               // It is recommended that when the "renew" parameter is set, its value be "true"\r
+                               $this->_server['login_url'] .= '&renew=true';\r
+                       } elseif ($gateway) {\r
+                               // It is recommended that when the "gateway" parameter is set, its value be "true"\r
+                               $this->_server['login_url'] .= '&gateway=true';\r
+                       }\r
+               }\r
+               phpCAS::traceEnd($this->_server['login_url']);\r
+               return $this->_server['login_url'];\r
+       } \r
+       \r
+       /**\r
+        * This method sets the login URL of the CAS server.\r
+        * @param $url the login URL\r
+        * @private\r
+        * @since 0.4.21 by Wyman Chan\r
+        */\r
+       function setServerLoginURL($url)\r
+               {\r
+               return $this->_server['login_url'] = $url;\r
+               }\r
+       \r
+       /**\r
+        * This method is used to retrieve the service validating URL of the CAS server.\r
+        * @return a URL.\r
+        * @private\r
+        */\r
+       function getServerServiceValidateURL()\r
+               { \r
+               // the URL is build only when needed\r
+               if ( empty($this->_server['service_validate_url']) ) {\r
+                       switch ($this->getServerVersion()) {\r
+                               case CAS_VERSION_1_0:\r
+                                       $this->_server['service_validate_url'] = $this->getServerBaseURL().'validate';\r
+                                       break;\r
+                               case CAS_VERSION_2_0:\r
+                                       $this->_server['service_validate_url'] = $this->getServerBaseURL().'serviceValidate';\r
+                                       break;\r
+                       }\r
+               }\r
+               //      return $this->_server['service_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL()); \r
+               return $this->_server['service_validate_url'].'?service='.urlencode($this->getURL()); \r
+               }\r
+       \r
+       /**\r
+        * This method is used to retrieve the proxy validating URL of the CAS server.\r
+        * @return a URL.\r
+        * @private\r
+        */\r
+       function getServerProxyValidateURL()\r
+               { \r
+               // the URL is build only when needed\r
+               if ( empty($this->_server['proxy_validate_url']) ) {\r
+                       switch ($this->getServerVersion()) {\r
+                               case CAS_VERSION_1_0:\r
+                                       $this->_server['proxy_validate_url'] = '';\r
+                                       break;\r
+                               case CAS_VERSION_2_0:\r
+                                       $this->_server['proxy_validate_url'] = $this->getServerBaseURL().'proxyValidate';\r
+                                       break;\r
+                       }\r
+               }\r
+               //      return $this->_server['proxy_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL()); \r
+               return $this->_server['proxy_validate_url'].'?service='.urlencode($this->getURL()); \r
+               }\r
+       \r
+       /**\r
+        * This method is used to retrieve the proxy URL of the CAS server.\r
+        * @return a URL.\r
+        * @private\r
+        */\r
+       function getServerProxyURL()\r
+               { \r
+               // the URL is build only when needed\r
+               if ( empty($this->_server['proxy_url']) ) {\r
+                       switch ($this->getServerVersion()) {\r
+                               case CAS_VERSION_1_0:\r
+                                       $this->_server['proxy_url'] = '';\r
+                                       break;\r
+                               case CAS_VERSION_2_0:\r
+                                       $this->_server['proxy_url'] = $this->getServerBaseURL().'proxy';\r
+                                       break;\r
+                       }\r
+               }\r
+               return $this->_server['proxy_url']; \r
+               }\r
+       \r
+       /**\r
+        * This method is used to retrieve the logout URL of the CAS server.\r
+        * @return a URL.\r
+        * @private\r
+        */\r
+       function getServerLogoutURL()\r
+               { \r
+               // the URL is build only when needed\r
+               if ( empty($this->_server['logout_url']) ) {\r
+                       $this->_server['logout_url'] = $this->getServerBaseURL().'logout';\r
+               }\r
+               return $this->_server['logout_url']; \r
+               }\r
+       \r
+       /**\r
+        * This method sets the logout URL of the CAS server.\r
+        * @param $url the logout URL\r
+        * @private\r
+        * @since 0.4.21 by Wyman Chan\r
+        */\r
+       function setServerLogoutURL($url)\r
+               {\r
+               return $this->_server['logout_url'] = $url;\r
+               }\r
+\r
+       /**\r
+        * An array to store extra curl options.\r
+        */     \r
+       var $_curl_options = array();\r
+\r
+       /**\r
+        * This method is used to set additional user curl options.\r
+        */\r
+       function setExtraCurlOption($key, $value)\r
+       {\r
+               $this->_curl_options[$key] = $value;\r
+       }\r
\r
+       /**\r
+        * This method checks to see if the request is secured via HTTPS\r
+        * @return true if https, false otherwise\r
+        * @private\r
+        */\r
+       function isHttps() {\r
+               //if ( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ) {\r
+               //0.4.24 by Hinnack\r
+               if ( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {\r
+                       return true;\r
+               } else {\r
+                       return false;\r
+               }\r
+       }\r
+       \r
+       // ########################################################################\r
+       //  CONSTRUCTOR\r
+       // ########################################################################\r
+       /**\r
+        * CASClient constructor.\r
+        *\r
+        * @param $server_version the version of the CAS server\r
+        * @param $proxy TRUE if the CAS client is a CAS proxy, FALSE otherwise\r
+        * @param $server_hostname the hostname of the CAS server\r
+        * @param $server_port the port the CAS server is running on\r
+        * @param $server_uri the URI the CAS server is responding on\r
+        * @param $start_session Have phpCAS start PHP sessions (default true)\r
+        *\r
+        * @return a newly created CASClient object\r
+        *\r
+        * @public\r
+        */\r
+       function CASClient(\r
+                                          $server_version,\r
+                                          $proxy,\r
+                                          $server_hostname,\r
+                                          $server_port,\r
+                                          $server_uri,\r
+                                          $start_session = true) {\r
+               \r
+               phpCAS::traceBegin();\r
+               \r
+               if (!$this->isLogoutRequest() && !empty($_GET['ticket']) && $start_session) {\r
+            // copy old session vars and destroy the current session\r
+            if (!isset($_SESSION)) {\r
+               session_start();\r
+            }\r
+            $old_session = $_SESSION;\r
+            session_destroy();\r
+            // set up a new session, of name based on the ticket\r
+                       $session_id = preg_replace('/[^\w]/','',$_GET['ticket']);\r
+                       phpCAS::LOG("Session ID: " . $session_id);\r
+                       session_id($session_id);\r
+            if (!isset($_SESSION)) {\r
+               session_start();\r
+            }\r
+            // restore old session vars\r
+            $_SESSION = $old_session;
+            // Redirect to location without ticket.
+            header('Location: '.$this->getURL());\r
+               }\r
+               \r
+               //activate session mechanism if desired\r
+               if (!$this->isLogoutRequest() && $start_session) {\r
+                       session_start();\r
+               }\r
+               \r
+               $this->_proxy = $proxy;\r
+               \r
+               //check version\r
+               switch ($server_version) {\r
+                       case CAS_VERSION_1_0:\r
+                               if ( $this->isProxy() )\r
+                                       phpCAS::error('CAS proxies are not supported in CAS '\r
+                                               .$server_version);\r
+                               break;\r
+                       case CAS_VERSION_2_0:\r
+                               break;\r
+                       default:\r
+                               phpCAS::error('this version of CAS (`'\r
+                                       .$server_version\r
+                                       .'\') is not supported by phpCAS '\r
+                                       .phpCAS::getVersion());\r
+               }\r
+               $this->_server['version'] = $server_version;\r
+               \r
+               //check hostname\r
+               if ( empty($server_hostname) \r
+                               || !preg_match('/[\.\d\-abcdefghijklmnopqrstuvwxyz]*/',$server_hostname) ) {\r
+                       phpCAS::error('bad CAS server hostname (`'.$server_hostname.'\')');\r
+               }\r
+               $this->_server['hostname'] = $server_hostname;\r
+               \r
+               //check port\r
+               if ( $server_port == 0 \r
+                       || !is_int($server_port) ) {\r
+                       phpCAS::error('bad CAS server port (`'.$server_hostname.'\')');\r
+               }\r
+               $this->_server['port'] = $server_port;\r
+               \r
+               //check URI\r
+               if ( !preg_match('/[\.\d\-_abcdefghijklmnopqrstuvwxyz\/]*/',$server_uri) ) {\r
+                       phpCAS::error('bad CAS server URI (`'.$server_uri.'\')');\r
+               }\r
+               //add leading and trailing `/' and remove doubles      \r
+               $server_uri = preg_replace('/\/\//','/','/'.$server_uri.'/');\r
+               $this->_server['uri'] = $server_uri;\r
+               \r
+               //set to callback mode if PgtIou and PgtId CGI GET parameters are provided \r
+               if ( $this->isProxy() ) {\r
+                       $this->setCallbackMode(!empty($_GET['pgtIou'])&&!empty($_GET['pgtId']));\r
+               }\r
+               \r
+               if ( $this->isCallbackMode() ) {\r
+                       //callback mode: check that phpCAS is secured\r
+                       if ( !$this->isHttps() ) {\r
+                               phpCAS::error('CAS proxies must be secured to use phpCAS; PGT\'s will not be received from the CAS server');\r
+                       }\r
+               } else {\r
+                       //normal mode: get ticket and remove it from CGI parameters for developpers\r
+                       $ticket = (isset($_GET['ticket']) ? $_GET['ticket'] : null);\r
+                       switch ($this->getServerVersion()) {\r
+                               case CAS_VERSION_1_0: // check for a Service Ticket\r
+                                       if( preg_match('/^ST-/',$ticket) ) {\r
+                                               phpCAS::trace('ST \''.$ticket.'\' found');\r
+                                               //ST present\r
+                                               $this->setST($ticket);\r
+                                               //ticket has been taken into account, unset it to hide it to applications\r
+                                               unset($_GET['ticket']);\r
+                                       } else if ( !empty($ticket) ) {\r
+                                               //ill-formed ticket, halt\r
+                                               phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');\r
+                                       }\r
+                                       break;\r
+                               case CAS_VERSION_2_0: // check for a Service or Proxy Ticket\r
+                                       if( preg_match('/^[SP]T-/',$ticket) ) {\r
+                                               phpCAS::trace('ST or PT \''.$ticket.'\' found');\r
+                                               $this->setPT($ticket);\r
+                                               unset($_GET['ticket']);\r
+                                       } else if ( !empty($ticket) ) {\r
+                                               //ill-formed ticket, halt\r
+                                               phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');\r
+                                       } \r
+                                       break;\r
+                       }\r
+               }\r
+               phpCAS::traceEnd();\r
+       }\r
+       \r
+       /** @} */\r
+       \r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       // XX                                                                    XX\r
+       // XX                           AUTHENTICATION                           XX\r
+       // XX                                                                    XX\r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       \r
+       /**\r
+        * @addtogroup internalAuthentication\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * The Authenticated user. Written by CASClient::setUser(), read by CASClient::getUser().\r
+        * @attention client applications should use phpCAS::getUser().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_user = '';\r
+       \r
+       /**\r
+        * This method sets the CAS user's login name.\r
+        *\r
+        * @param $user the login name of the authenticated user.\r
+        *\r
+        * @private\r
+        */\r
+       function setUser($user)\r
+               {\r
+               $this->_user = $user;\r
+               }\r
+       \r
+       /**\r
+        * This method returns the CAS user's login name.\r
+        * @warning should be called only after CASClient::forceAuthentication() or \r
+        * CASClient::isAuthenticated(), otherwise halt with an error.\r
+        *\r
+        * @return the login name of the authenticated user\r
+        */\r
+       function getUser()\r
+               {\r
+               if ( empty($this->_user) ) {\r
+                       phpCAS::error('this method should be used only after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');\r
+               }\r
+               return $this->_user;\r
+               }\r
+       \r
+       /**\r
+        * This method is called to renew the authentication of the user\r
+        * If the user is authenticated, renew the connection\r
+        * If not, redirect to CAS\r
+        * @public\r
+        */\r
+       function renewAuthentication(){\r
+               phpCAS::traceBegin();\r
+               // Either way, the user is authenticated by CAS\r
+               if( isset( $_SESSION['phpCAS']['auth_checked'] ) )\r
+                       unset($_SESSION['phpCAS']['auth_checked']);\r
+               if ( $this->isAuthenticated() ) {\r
+                       phpCAS::trace('user already authenticated; renew');\r
+                       $this->redirectToCas(false,true);\r
+               } else {\r
+                       $this->redirectToCas();\r
+               }\r
+               phpCAS::traceEnd();\r
+       }\r
+\r
+       /**\r
+        * This method is called to be sure that the user is authenticated. When not \r
+        * authenticated, halt by redirecting to the CAS server; otherwise return TRUE.\r
+        * @return TRUE when the user is authenticated; otherwise halt.\r
+        * @public\r
+        */\r
+       function forceAuthentication()\r
+               {\r
+               phpCAS::traceBegin();\r
+               \r
+               if ( $this->isAuthenticated() ) {\r
+                       // the user is authenticated, nothing to be done.\r
+                       phpCAS::trace('no need to authenticate');\r
+                       $res = TRUE;\r
+               } else {\r
+                       // the user is not authenticated, redirect to the CAS server\r
+                       if (isset($_SESSION['phpCAS']['auth_checked'])) {\r
+                               unset($_SESSION['phpCAS']['auth_checked']);\r
+                       }\r
+                       $this->redirectToCas(FALSE/* no gateway */);    \r
+                       // never reached\r
+                       $res = FALSE;\r
+               }\r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+               }\r
+       \r
+       /**\r
+        * An integer that gives the number of times authentication will be cached before rechecked.\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_cache_times_for_auth_recheck = 0;\r
+       \r
+       /**\r
+        * Set the number of times authentication will be cached before rechecked.\r
+        *\r
+        * @param $n an integer.\r
+        *\r
+        * @public\r
+        */\r
+       function setCacheTimesForAuthRecheck($n)\r
+               {\r
+               $this->_cache_times_for_auth_recheck = $n;\r
+               }\r
+       \r
+       /**\r
+        * This method is called to check whether the user is authenticated or not.\r
+        * @return TRUE when the user is authenticated, FALSE otherwise.\r
+        * @public\r
+        */\r
+       function checkAuthentication()\r
+               {\r
+               phpCAS::traceBegin();\r
+               \r
+               if ( $this->isAuthenticated() ) {\r
+                       phpCAS::trace('user is authenticated');\r
+                       $res = TRUE;\r
+               } else if (isset($_SESSION['phpCAS']['auth_checked'])) {\r
+                       // the previous request has redirected the client to the CAS server with gateway=true\r
+                       unset($_SESSION['phpCAS']['auth_checked']);\r
+                       $res = FALSE;\r
+               } else {\r
+                       //        $_SESSION['phpCAS']['auth_checked'] = true;\r
+                       //          $this->redirectToCas(TRUE/* gateway */);    \r
+                       //          // never reached\r
+                       //          $res = FALSE;\r
+                       // avoid a check against CAS on every request\r
+                       if (! isset($_SESSION['phpCAS']['unauth_count']) )\r
+                               $_SESSION['phpCAS']['unauth_count'] = -2; // uninitialized\r
+                       \r
+                       if (($_SESSION['phpCAS']['unauth_count'] != -2 && $this->_cache_times_for_auth_recheck == -1) \r
+                                       || ($_SESSION['phpCAS']['unauth_count'] >= 0 && $_SESSION['phpCAS']['unauth_count'] < $this->_cache_times_for_auth_recheck))\r
+                       {\r
+                               $res = FALSE;\r
+                               \r
+                               if ($this->_cache_times_for_auth_recheck != -1)\r
+                               {\r
+                                       $_SESSION['phpCAS']['unauth_count']++;\r
+                                       phpCAS::trace('user is not authenticated (cached for '.$_SESSION['phpCAS']['unauth_count'].' times of '.$this->_cache_times_for_auth_recheck.')');\r
+                               }\r
+                               else\r
+                               {\r
+                                       phpCAS::trace('user is not authenticated (cached for until login pressed)');\r
+                               }\r
+                       }\r
+                       else\r
+                       {\r
+                               $_SESSION['phpCAS']['unauth_count'] = 0;\r
+                               $_SESSION['phpCAS']['auth_checked'] = true;\r
+                               phpCAS::trace('user is not authenticated (cache reset)');\r
+                               $this->redirectToCas(TRUE/* gateway */);        \r
+                               // never reached\r
+                               $res = FALSE;\r
+                       }\r
+               }\r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+               }\r
+       \r
+       /**\r
+        * This method is called to check if the user is authenticated (previously or by\r
+        * tickets given in the URL).\r
+        *\r
+        * @return TRUE when the user is authenticated.\r
+        *\r
+        * @public\r
+        */\r
+       function isAuthenticated()\r
+               {\r
+               phpCAS::traceBegin();\r
+               $res = FALSE;\r
+               $validate_url = '';\r
+               \r
+               if ( $this->wasPreviouslyAuthenticated() ) {\r
+                       // the user has already (previously during the session) been \r
+                       // authenticated, nothing to be done.\r
+                       phpCAS::trace('user was already authenticated, no need to look for tickets');\r
+                       $res = TRUE;\r
+               } \r
+               elseif ( $this->hasST() ) {\r
+                       // if a Service Ticket was given, validate it\r
+                       phpCAS::trace('ST `'.$this->getST().'\' is present');\r
+                       $this->validateST($validate_url,$text_response,$tree_response); // if it fails, it halts\r
+                       phpCAS::trace('ST `'.$this->getST().'\' was validated');\r
+                       if ( $this->isProxy() ) {\r
+                               $this->validatePGT($validate_url,$text_response,$tree_response); // idem\r
+                               phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');\r
+                               $_SESSION['phpCAS']['pgt'] = $this->getPGT();\r
+                       }\r
+                       $_SESSION['phpCAS']['user'] = $this->getUser();\r
+                       $res = TRUE;\r
+               }\r
+               elseif ( $this->hasPT() ) {\r
+                       // if a Proxy Ticket was given, validate it\r
+                       phpCAS::trace('PT `'.$this->getPT().'\' is present');\r
+                       $this->validatePT($validate_url,$text_response,$tree_response); // note: if it fails, it halts\r
+                       phpCAS::trace('PT `'.$this->getPT().'\' was validated');\r
+                       if ( $this->isProxy() ) {\r
+                               $this->validatePGT($validate_url,$text_response,$tree_response); // idem\r
+                               phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');\r
+                               $_SESSION['phpCAS']['pgt'] = $this->getPGT();\r
+                       }\r
+                       $_SESSION['phpCAS']['user'] = $this->getUser();\r
+                       $res = TRUE;\r
+               } \r
+               else {\r
+                       // no ticket given, not authenticated\r
+                       phpCAS::trace('no ticket found');\r
+               }\r
+               \r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+               }\r
+       \r
+       /**\r
+        * This method tells if the current session is authenticated.\r
+        * @return true if authenticated based soley on $_SESSION variable\r
+        * @since 0.4.22 by Brendan Arnold\r
+        */\r
+       function isSessionAuthenticated ()\r
+               {\r
+               return !empty($_SESSION['phpCAS']['user']);\r
+               }\r
+       \r
+       /**\r
+        * This method tells if the user has already been (previously) authenticated\r
+        * by looking into the session variables.\r
+        *\r
+        * @note This function switches to callback mode when needed.\r
+        *\r
+        * @return TRUE when the user has already been authenticated; FALSE otherwise.\r
+        *\r
+        * @private\r
+        */\r
+       function wasPreviouslyAuthenticated()\r
+               {\r
+               phpCAS::traceBegin();\r
+               \r
+               if ( $this->isCallbackMode() ) {\r
+                       $this->callback();\r
+               }\r
+               \r
+               $auth = FALSE;\r
+               \r
+               if ( $this->isProxy() ) {\r
+                       // CAS proxy: username and PGT must be present\r
+                       if ( $this->isSessionAuthenticated() && !empty($_SESSION['phpCAS']['pgt']) ) {\r
+                               // authentication already done\r
+                               $this->setUser($_SESSION['phpCAS']['user']);\r
+                               $this->setPGT($_SESSION['phpCAS']['pgt']);\r
+                               phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\', PGT = `'.$_SESSION['phpCAS']['pgt'].'\''); \r
+                               $auth = TRUE;\r
+                       } elseif ( $this->isSessionAuthenticated() && empty($_SESSION['phpCAS']['pgt']) ) {\r
+                               // these two variables should be empty or not empty at the same time\r
+                               phpCAS::trace('username found (`'.$_SESSION['phpCAS']['user'].'\') but PGT is empty');\r
+                               // unset all tickets to enforce authentication\r
+                               unset($_SESSION['phpCAS']);\r
+                               $this->setST('');\r
+                               $this->setPT('');\r
+                       } elseif ( !$this->isSessionAuthenticated() && !empty($_SESSION['phpCAS']['pgt']) ) {\r
+                               // these two variables should be empty or not empty at the same time\r
+                               phpCAS::trace('PGT found (`'.$_SESSION['phpCAS']['pgt'].'\') but username is empty'); \r
+                               // unset all tickets to enforce authentication\r
+                               unset($_SESSION['phpCAS']);\r
+                               $this->setST('');\r
+                               $this->setPT('');\r
+                       } else {\r
+                               phpCAS::trace('neither user not PGT found'); \r
+                       }\r
+               } else {\r
+                       // `simple' CAS client (not a proxy): username must be present\r
+                       if ( $this->isSessionAuthenticated() ) {\r
+                               // authentication already done\r
+                               $this->setUser($_SESSION['phpCAS']['user']);\r
+                               phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\''); \r
+                               $auth = TRUE;\r
+                       } else {\r
+                               phpCAS::trace('no user found');\r
+                       }\r
+               }\r
+               \r
+               phpCAS::traceEnd($auth);\r
+               return $auth;\r
+               }\r
+       \r
+       /**\r
+        * This method is used to redirect the client to the CAS server.\r
+        * It is used by CASClient::forceAuthentication() and CASClient::checkAuthentication().\r
+        * @param $gateway true to check authentication, false to force it\r
+        * @param $renew true to force the authentication with the CAS server\r
+        * @public\r
+        */\r
+       function redirectToCas($gateway=false,$renew=false){\r
+               phpCAS::traceBegin();\r
+               $cas_url = $this->getServerLoginURL($gateway,$renew);\r
+               header('Location: '.$cas_url);\r
+               phpCAS::log( "Redirect to : ".$cas_url );\r
+               \r
+               $this->printHTMLHeader($this->getString(CAS_STR_AUTHENTICATION_WANTED));\r
+               \r
+               printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);\r
+               $this->printHTMLFooter();\r
+               phpCAS::traceExit();\r
+               exit();\r
+       }\r
+\r
+//     /**\r
+//      * This method is used to logout from CAS.\r
+//      * @param $url a URL that will be transmitted to the CAS server (to come back to when logged out)\r
+//      * @public\r
+//      */\r
+//     function logout($url = "") {\r
+//             phpCAS::traceBegin();\r
+//             $cas_url = $this->getServerLogoutURL();\r
+//             // v0.4.14 sebastien.gougeon at univ-rennes1.fr\r
+//             // header('Location: '.$cas_url);\r
+//             if ( $url != "" ) {\r
+//                     // Adam Moore 1.0.0RC2\r
+//                     $url = '?service=' . $url . '&url=' . $url;\r
+//             }\r
+//             header('Location: '.$cas_url . $url);\r
+//             session_unset();\r
+//             session_destroy();\r
+//             $this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));\r
+//             printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);\r
+//             $this->printHTMLFooter();\r
+//             phpCAS::traceExit();\r
+//             exit();\r
+//     }\r
+       \r
+       /**\r
+        * This method is used to logout from CAS.\r
+        * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server\r
+        * @public\r
+        */\r
+       function logout($params) {\r
+               phpCAS::traceBegin();\r
+               $cas_url = $this->getServerLogoutURL();\r
+               $paramSeparator = '?';\r
+               if (isset($params['url'])) {\r
+                       $cas_url = $cas_url . $paramSeparator . "url=" . urlencode($params['url']); \r
+                       $paramSeparator = '&';\r
+               }\r
+               if (isset($params['service'])) {\r
+                       $cas_url = $cas_url . $paramSeparator . "service=" . urlencode($params['service']); \r
+               }\r
+               header('Location: '.$cas_url);\r
+               session_unset();\r
+               session_destroy();\r
+               $this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));\r
+               printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);\r
+               $this->printHTMLFooter();\r
+               phpCAS::traceExit();\r
+               exit();\r
+       }\r
+       \r
+       /**\r
+        * @return true if the current request is a logout request.\r
+        * @private\r
+        */\r
+       function isLogoutRequest() {\r
+               return !empty($_POST['logoutRequest']);\r
+       }\r
+       \r
+       /**\r
+        * @return true if a logout request is allowed.\r
+        * @private\r
+        */\r
+       function isLogoutRequestAllowed() {\r
+       }\r
+       \r
+       /**\r
+        * This method handles logout requests.\r
+        * @param $check_client true to check the client bofore handling the request, \r
+        * false not to perform any access control. True by default.\r
+        * @param $allowed_clients an array of host names allowed to send logout requests. \r
+        * By default, only the CAs server (declared in the constructor) will be allowed.\r
+        * @public\r
+        */\r
+       function handleLogoutRequests($check_client=true, $allowed_clients=false) {\r
+               phpCAS::traceBegin();\r
+               if (!$this->isLogoutRequest()) {\r
+                       phpCAS::log("Not a logout request");\r
+                       phpCAS::traceEnd();\r
+                       return;\r
+               }\r
+               phpCAS::log("Logout requested");\r
+               phpCAS::log("SAML REQUEST: ".$_POST['logoutRequest']);\r
+               if ($check_client) {\r
+                       if (!$allowed_clients) {\r
+                               $allowed_clients = array( $this->getServerHostname() ); \r
+                       }\r
+                       $client_ip = $_SERVER['REMOTE_ADDR'];\r
+                       $client = gethostbyaddr($client_ip);\r
+                       phpCAS::log("Client: ".$client);\r
+                       $allowed = false;\r
+                       foreach ($allowed_clients as $allowed_client) {\r
+                               if ($client == $allowed_client) {\r
+                                       phpCAS::log("Allowed client '".$allowed_client."' matches, logout request is allowed");\r
+                                       $allowed = true;\r
+                                       break;\r
+                               } else {\r
+                                       phpCAS::log("Allowed client '".$allowed_client."' does not match");\r
+                               }\r
+                       }\r
+                       if (!$allowed) {\r
+                               phpCAS::error("Unauthorized logout request from client '".$client."'");\r
+                           printf("Unauthorized!");\r
+                               phpCAS::traceExit();\r
+                               exit();\r
+                       }\r
+               } else {\r
+                       phpCAS::log("No access control set");\r
+               }\r
+               // Extract the ticket from the SAML Request\r
+               preg_match("|<samlp:SessionIndex>(.*)</samlp:SessionIndex>|", $_POST['logoutRequest'], $tick, PREG_OFFSET_CAPTURE, 3);\r
+               $wrappedSamlSessionIndex = preg_replace('|<samlp:SessionIndex>|','',$tick[0][0]);\r
+               $ticket2logout = preg_replace('|</samlp:SessionIndex>|','',$wrappedSamlSessionIndex);\r
+               phpCAS::log("Ticket to logout: ".$ticket2logout);\r
+               $session_id = preg_replace('/[^\w]/','',$ticket2logout);\r
+               phpCAS::log("Session id: ".$session_id);\r
+\r
+               // fix New session ID\r
+               session_id($session_id);\r
+               $_COOKIE[session_name()]=$session_id;\r
+               $_GET[session_name()]=$session_id;\r
+               \r
+               // Overwrite session\r
+               session_start();        \r
+               session_unset();\r
+           session_destroy();\r
+           printf("Disconnected!");\r
+               phpCAS::traceExit();\r
+               exit();\r
+       }\r
+       \r
+       /** @} */\r
+       \r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       // XX                                                                    XX\r
+       // XX                  BASIC CLIENT FEATURES (CAS 1.0)                   XX\r
+       // XX                                                                    XX\r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       \r
+       // ########################################################################\r
+       //  ST\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalBasic\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * the Service Ticket provided in the URL of the request if present\r
+        * (empty otherwise). Written by CASClient::CASClient(), read by \r
+        * CASClient::getST() and CASClient::hasPGT().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_st = '';\r
+       \r
+       /**\r
+        * This method returns the Service Ticket provided in the URL of the request.\r
+        * @return The service ticket.\r
+        * @private\r
+        */\r
+       function getST()\r
+               { return $this->_st; }\r
+       \r
+       /**\r
+        * This method stores the Service Ticket.\r
+        * @param $st The Service Ticket.\r
+        * @private\r
+        */\r
+       function setST($st)\r
+               { $this->_st = $st; }\r
+       \r
+       /**\r
+        * This method tells if a Service Ticket was stored.\r
+        * @return TRUE if a Service Ticket has been stored.\r
+        * @private\r
+        */\r
+       function hasST()\r
+               { return !empty($this->_st); }\r
+       \r
+       /** @} */\r
+       \r
+       // ########################################################################\r
+       //  ST VALIDATION\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalBasic\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * the certificate of the CAS server.\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_cas_server_cert = '';\r
+       \r
+       /**\r
+        * the certificate of the CAS server CA.\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_cas_server_ca_cert = '';\r
+       \r
+       /**\r
+        * Set to true not to validate the CAS server.\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_no_cas_server_validation = false;\r
+       \r
+       /**\r
+        * Set the certificate of the CAS server.\r
+        *\r
+        * @param $cert the PEM certificate\r
+        */\r
+       function setCasServerCert($cert)\r
+               {\r
+               $this->_cas_server_cert = $cert;\r
+               }\r
+       \r
+       /**\r
+        * Set the CA certificate of the CAS server.\r
+        *\r
+        * @param $cert the PEM certificate of the CA that emited the cert of the server\r
+        */\r
+       function setCasServerCACert($cert)\r
+               {\r
+               $this->_cas_server_ca_cert = $cert;\r
+               }\r
+       \r
+       /**\r
+        * Set no SSL validation for the CAS server.\r
+        */\r
+       function setNoCasServerValidation()\r
+               {\r
+               $this->_no_cas_server_validation = true;\r
+               }\r
+       \r
+       /**\r
+        * This method is used to validate a ST; halt on failure, and sets $validate_url,\r
+        * $text_reponse and $tree_response on success. These parameters are used later\r
+        * by CASClient::validatePGT() for CAS proxies.\r
+        * \r
+        * @param $validate_url the URL of the request to the CAS server.\r
+        * @param $text_response the response of the CAS server, as is (XML text).\r
+        * @param $tree_response the response of the CAS server, as a DOM XML tree.\r
+        *\r
+        * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().\r
+        *\r
+        * @private\r
+        */\r
+       function validateST($validate_url,&$text_response,&$tree_response)\r
+               {\r
+               phpCAS::traceBegin();\r
+               // build the URL to validate the ticket\r
+               $validate_url = $this->getServerServiceValidateURL().'&ticket='.$this->getST();\r
+               if ( $this->isProxy() ) {\r
+                       // pass the callback url for CAS proxies\r
+                       $validate_url .= '&pgtUrl='.$this->getCallbackURL();\r
+               }\r
+               \r
+               // open and read the URL\r
+               if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {\r
+                       phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');\r
+                       $this->authError('ST not validated',\r
+                               $validate_url,\r
+                               TRUE/*$no_response*/);\r
+               }\r
+               \r
+               // analyze the result depending on the version\r
+               switch ($this->getServerVersion()) {\r
+                       case CAS_VERSION_1_0:\r
+                               if (preg_match('/^no\n/',$text_response)) {\r
+                                       phpCAS::trace('ST has not been validated');\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               FALSE/*$bad_response*/,\r
+                                               $text_response);\r
+                               }\r
+                               if (!preg_match('/^yes\n/',$text_response)) {\r
+                                       phpCAS::trace('ill-formed response');\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               TRUE/*$bad_response*/,\r
+                                               $text_response);\r
+                               }\r
+                               // ST has been validated, extract the user name\r
+                               $arr = preg_split('/\n/',$text_response);\r
+                               $this->setUser(trim($arr[1]));\r
+                               break;\r
+                       case CAS_VERSION_2_0:\r
+                               // read the response of the CAS server into a DOM object\r
+                               if ( !($dom = domxml_open_mem($text_response))) {\r
+                                       phpCAS::trace('domxml_open_mem() failed');\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               TRUE/*$bad_response*/,\r
+                                               $text_response);\r
+                               }\r
+                               // read the root node of the XML tree\r
+                               if ( !($tree_response = $dom->document_element()) ) {\r
+                                       phpCAS::trace('document_element() failed');\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               TRUE/*$bad_response*/,\r
+                                               $text_response);\r
+                               }\r
+                               // insure that tag name is 'serviceResponse'\r
+                               if ( $tree_response->node_name() != 'serviceResponse' ) {\r
+                                       phpCAS::trace('bad XML root node (should be `serviceResponse\' instead of `'.$tree_response->node_name().'\'');\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               TRUE/*$bad_response*/,\r
+                                               $text_response);\r
+                               }\r
+                               if ( sizeof($success_elements = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) {\r
+                                       // authentication succeded, extract the user name\r
+                                       if ( sizeof($user_elements = $success_elements[0]->get_elements_by_tagname("user")) == 0) {\r
+                                               phpCAS::trace('<authenticationSuccess> found, but no <user>');\r
+                                               $this->authError('ST not validated',\r
+                                                       $validate_url,\r
+                                                       FALSE/*$no_response*/,\r
+                                                       TRUE/*$bad_response*/,\r
+                                                       $text_response);\r
+                                       }\r
+                                       $user = trim($user_elements[0]->get_content());\r
+                                       phpCAS::trace('user = `'.$user);\r
+                                       $this->setUser($user);\r
+                                       \r
+                               } else if ( sizeof($failure_elements = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) {\r
+                                       phpCAS::trace('<authenticationFailure> found');\r
+                                       // authentication failed, extract the error code and message\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               FALSE/*$bad_response*/,\r
+                                               $text_response,\r
+                                               $failure_elements[0]->get_attribute('code')/*$err_code*/,\r
+                                               trim($failure_elements[0]->get_content())/*$err_msg*/);\r
+                               } else {\r
+                                       phpCAS::trace('neither <authenticationSuccess> nor <authenticationFailure> found');\r
+                                       $this->authError('ST not validated',\r
+                                               $validate_url,\r
+                                               FALSE/*$no_response*/,\r
+                                               TRUE/*$bad_response*/,\r
+                                               $text_response);\r
+                               }\r
+                               break;\r
+               }\r
+               \r
+               // at this step, ST has been validated and $this->_user has been set,\r
+               phpCAS::traceEnd(TRUE);\r
+               return TRUE;\r
+               }\r
+       \r
+       /** @} */\r
+       \r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       // XX                                                                    XX\r
+       // XX                     PROXY FEATURES (CAS 2.0)                       XX\r
+       // XX                                                                    XX\r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       \r
+       // ########################################################################\r
+       //  PROXYING\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalProxy\r
+        * @{\r
+        */\r
+       \r
+       /**\r
+        * A boolean telling if the client is a CAS proxy or not. Written by CASClient::CASClient(), \r
+        * read by CASClient::isProxy().\r
+        *\r
+        * @private\r
+        */\r
+       var $_proxy;\r
+       \r
+       /**\r
+        * Tells if a CAS client is a CAS proxy or not\r
+        *\r
+        * @return TRUE when the CAS client is a CAs proxy, FALSE otherwise\r
+        *\r
+        * @private\r
+        */\r
+       function isProxy()\r
+               {\r
+               return $this->_proxy;\r
+               }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  PGT\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalProxy\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * the Proxy Grnting Ticket given by the CAS server (empty otherwise). \r
+        * Written by CASClient::setPGT(), read by CASClient::getPGT() and CASClient::hasPGT().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_pgt = '';\r
+       \r
+       /**\r
+        * This method returns the Proxy Granting Ticket given by the CAS server.\r
+        * @return The Proxy Granting Ticket.\r
+        * @private\r
+        */\r
+       function getPGT()\r
+               { return $this->_pgt; }\r
+       \r
+       /**\r
+        * This method stores the Proxy Granting Ticket.\r
+        * @param $pgt The Proxy Granting Ticket.\r
+        * @private\r
+        */\r
+       function setPGT($pgt)\r
+               { $this->_pgt = $pgt; }\r
+       \r
+       /**\r
+        * This method tells if a Proxy Granting Ticket was stored.\r
+        * @return TRUE if a Proxy Granting Ticket has been stored.\r
+        * @private\r
+        */\r
+       function hasPGT()\r
+               { return !empty($this->_pgt); }\r
+       \r
+       /** @} */\r
+       \r
+       // ########################################################################\r
+       //  CALLBACK MODE\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalCallback\r
+        * @{\r
+        */  \r
+       /**\r
+        * each PHP script using phpCAS in proxy mode is its own callback to get the\r
+        * PGT back from the CAS server. callback_mode is detected by the constructor\r
+        * thanks to the GET parameters.\r
+        */\r
+       \r
+       /**\r
+        * a boolean to know if the CAS client is running in callback mode. Written by\r
+        * CASClient::setCallBackMode(), read by CASClient::isCallbackMode().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_callback_mode = FALSE;\r
+       \r
+       /**\r
+        * This method sets/unsets callback mode.\r
+        *\r
+        * @param $callback_mode TRUE to set callback mode, FALSE otherwise.\r
+        *\r
+        * @private\r
+        */\r
+       function setCallbackMode($callback_mode)\r
+               {\r
+               $this->_callback_mode = $callback_mode;\r
+               }\r
+       \r
+       /**\r
+        * This method returns TRUE when the CAs client is running i callback mode, \r
+        * FALSE otherwise.\r
+        *\r
+        * @return A boolean.\r
+        *\r
+        * @private\r
+        */\r
+       function isCallbackMode()\r
+               {\r
+               return $this->_callback_mode;\r
+               }\r
+       \r
+       /**\r
+        * the URL that should be used for the PGT callback (in fact the URL of the \r
+        * current request without any CGI parameter). Written and read by \r
+        * CASClient::getCallbackURL().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_callback_url = '';\r
+       \r
+       /**\r
+        * This method returns the URL that should be used for the PGT callback (in\r
+        * fact the URL of the current request without any CGI parameter, except if\r
+        * phpCAS::setFixedCallbackURL() was used).\r
+        *\r
+        * @return The callback URL\r
+        *\r
+        * @private\r
+        */\r
+       function getCallbackURL()\r
+               {\r
+               // the URL is built when needed only\r
+               if ( empty($this->_callback_url) ) {\r
+                       $final_uri = '';\r
+                       // remove the ticket if present in the URL\r
+                       $final_uri = 'https://';\r
+                       /* replaced by Julien Marchal - v0.4.6\r
+                        * $this->uri .= $_SERVER['SERVER_NAME'];\r
+                        */\r
+                       if(empty($_SERVER['HTTP_X_FORWARDED_SERVER'])){\r
+                               /* replaced by teedog - v0.4.12\r
+                                * $final_uri .= $_SERVER['SERVER_NAME'];\r
+                                */\r
+                               if (empty($_SERVER['SERVER_NAME'])) {\r
+                                       $final_uri .= $_SERVER['HTTP_HOST'];\r
+                               } else {\r
+                                       $final_uri .= $_SERVER['SERVER_NAME'];\r
+                               }\r
+                       } else {\r
+                               $final_uri .= $_SERVER['HTTP_X_FORWARDED_SERVER'];\r
+                       }\r
+                       if ( ($this->isHttps() && $_SERVER['SERVER_PORT']!=443)\r
+                                       || (!$this->isHttps() && $_SERVER['SERVER_PORT']!=80) ) {\r
+                               $final_uri .= ':';\r
+                               $final_uri .= $_SERVER['SERVER_PORT'];\r
+                       }\r
+                       $request_uri = $_SERVER['REQUEST_URI'];\r
+                       $request_uri = preg_replace('/\?.*$/','',$request_uri);\r
+                       $final_uri .= $request_uri;\r
+                       $this->setCallbackURL($final_uri);\r
+               }\r
+               return $this->_callback_url;\r
+               }\r
+       \r
+       /**\r
+        * This method sets the callback url.\r
+        *\r
+        * @param $callback_url url to set callback \r
+        *\r
+        * @private\r
+        */\r
+       function setCallbackURL($url)\r
+               {\r
+               return $this->_callback_url = $url;\r
+               }\r
+       \r
+       /**\r
+        * This method is called by CASClient::CASClient() when running in callback\r
+        * mode. It stores the PGT and its PGT Iou, prints its output and halts.\r
+        *\r
+        * @private\r
+        */\r
+       function callback()\r
+               {\r
+               phpCAS::traceBegin();\r
+               $this->printHTMLHeader('phpCAS callback');\r
+               $pgt_iou = $_GET['pgtIou'];\r
+               $pgt = $_GET['pgtId'];\r
+               phpCAS::trace('Storing PGT `'.$pgt.'\' (id=`'.$pgt_iou.'\')');\r
+               echo '<p>Storing PGT `'.$pgt.'\' (id=`'.$pgt_iou.'\').</p>';\r
+               $this->storePGT($pgt,$pgt_iou);\r
+               $this->printHTMLFooter();\r
+               phpCAS::traceExit();\r
+               }\r
+       \r
+       /** @} */\r
+       \r
+       // ########################################################################\r
+       //  PGT STORAGE\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalPGTStorage\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * an instance of a class inheriting of PGTStorage, used to deal with PGT\r
+        * storage. Created by CASClient::setPGTStorageFile() or CASClient::setPGTStorageDB(), used \r
+        * by CASClient::setPGTStorageFile(), CASClient::setPGTStorageDB() and CASClient::initPGTStorage().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_pgt_storage = null;\r
+       \r
+       /**\r
+        * This method is used to initialize the storage of PGT's.\r
+        * Halts on error.\r
+        *\r
+        * @private\r
+        */\r
+       function initPGTStorage()\r
+               {\r
+               // if no SetPGTStorageXxx() has been used, default to file\r
+               if ( !is_object($this->_pgt_storage) ) {\r
+                       $this->setPGTStorageFile();\r
+               }\r
+               \r
+               // initializes the storage\r
+               $this->_pgt_storage->init();\r
+               }\r
+       \r
+       /**\r
+        * This method stores a PGT. Halts on error.\r
+        *\r
+        * @param $pgt the PGT to store\r
+        * @param $pgt_iou its corresponding Iou\r
+        *\r
+        * @private\r
+        */\r
+       function storePGT($pgt,$pgt_iou)\r
+               {\r
+               // ensure that storage is initialized\r
+               $this->initPGTStorage();\r
+               // writes the PGT\r
+               $this->_pgt_storage->write($pgt,$pgt_iou);\r
+               }\r
+       \r
+       /**\r
+        * This method reads a PGT from its Iou and deletes the corresponding storage entry.\r
+        *\r
+        * @param $pgt_iou the PGT Iou\r
+        *\r
+        * @return The PGT corresponding to the Iou, FALSE when not found.\r
+        *\r
+        * @private\r
+        */\r
+       function loadPGT($pgt_iou)\r
+               {\r
+               // ensure that storage is initialized\r
+               $this->initPGTStorage();\r
+               // read the PGT\r
+               return $this->_pgt_storage->read($pgt_iou);\r
+               }\r
+       \r
+       /**\r
+        * This method is used to tell phpCAS to store the response of the\r
+        * CAS server to PGT requests onto the filesystem. \r
+        *\r
+        * @param $format the format used to store the PGT's (`plain' and `xml' allowed)\r
+        * @param $path the path where the PGT's should be stored\r
+        *\r
+        * @public\r
+        */\r
+       function setPGTStorageFile($format='',\r
+               $path='')\r
+               {\r
+               // check that the storage has not already been set\r
+               if ( is_object($this->_pgt_storage) ) {\r
+                       phpCAS::error('PGT storage already defined');\r
+               }\r
+               \r
+               // create the storage object\r
+               $this->_pgt_storage = &new PGTStorageFile($this,$format,$path);\r
+               }\r
+       \r
+       /**\r
+        * This method is used to tell phpCAS to store the response of the\r
+        * CAS server to PGT requests into a database. \r
+        * @note The connection to the database is done only when needed. \r
+        * As a consequence, bad parameters are detected only when \r
+        * initializing PGT storage.\r
+        *\r
+        * @param $user the user to access the data with\r
+        * @param $password the user's password\r
+        * @param $database_type the type of the database hosting the data\r
+        * @param $hostname the server hosting the database\r
+        * @param $port the port the server is listening on\r
+        * @param $database the name of the database\r
+        * @param $table the name of the table storing the data\r
+        *\r
+        * @public\r
+        */\r
+       function setPGTStorageDB($user,\r
+                                                        $password,\r
+                                                        $database_type,\r
+                                                        $hostname,\r
+                                                        $port,\r
+                                                        $database,\r
+                                                        $table)\r
+               {\r
+               // check that the storage has not already been set\r
+               if ( is_object($this->_pgt_storage) ) {\r
+                       phpCAS::error('PGT storage already defined');\r
+               }\r
+               \r
+               // warn the user that he should use file storage...\r
+               trigger_error('PGT storage into database is an experimental feature, use at your own risk',E_USER_WARNING);\r
+               \r
+               // create the storage object\r
+               $this->_pgt_storage = & new PGTStorageDB($this,$user,$password,$database_type,$hostname,$port,$database,$table);\r
+               }\r
+       \r
+       // ########################################################################\r
+       //  PGT VALIDATION\r
+       // ########################################################################\r
+       /**\r
+        * This method is used to validate a PGT; halt on failure.\r
+        * \r
+        * @param $validate_url the URL of the request to the CAS server.\r
+        * @param $text_response the response of the CAS server, as is (XML text); result\r
+        * of CASClient::validateST() or CASClient::validatePT().\r
+        * @param $tree_response the response of the CAS server, as a DOM XML tree; result\r
+        * of CASClient::validateST() or CASClient::validatePT().\r
+        *\r
+        * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().\r
+        *\r
+        * @private\r
+        */\r
+       function validatePGT(&$validate_url,$text_response,$tree_response)\r
+               {\r
+               phpCAS::traceBegin();\r
+               if ( sizeof($arr = $tree_response->get_elements_by_tagname("proxyGrantingTicket")) == 0) {\r
+                       phpCAS::trace('<proxyGrantingTicket> not found');\r
+                       // authentication succeded, but no PGT Iou was transmitted\r
+                       $this->authError('Ticket validated but no PGT Iou transmitted',\r
+                               $validate_url,\r
+                               FALSE/*$no_response*/,\r
+                               FALSE/*$bad_response*/,\r
+                               $text_response);\r
+               } else {\r
+                       // PGT Iou transmitted, extract it\r
+                       $pgt_iou = trim($arr[0]->get_content());\r
+                       $pgt = $this->loadPGT($pgt_iou);\r
+                       if ( $pgt == FALSE ) {\r
+                               phpCAS::trace('could not load PGT');\r
+                               $this->authError('PGT Iou was transmitted but PGT could not be retrieved',\r
+                                       $validate_url,\r
+                                       FALSE/*$no_response*/,\r
+                                       FALSE/*$bad_response*/,\r
+                                       $text_response);\r
+                       }\r
+                       $this->setPGT($pgt);\r
+               }\r
+               phpCAS::traceEnd(TRUE);\r
+               return TRUE;\r
+               }\r
+       \r
+       // ########################################################################\r
+       //  PGT VALIDATION\r
+       // ########################################################################\r
+       \r
+       /**\r
+        * This method is used to retrieve PT's from the CAS server thanks to a PGT.\r
+        * \r
+        * @param $target_service the service to ask for with the PT.\r
+        * @param $err_code an error code (PHPCAS_SERVICE_OK on success).\r
+        * @param $err_msg an error message (empty on success).\r
+        *\r
+        * @return a Proxy Ticket, or FALSE on error.\r
+        *\r
+        * @private\r
+        */\r
+       function retrievePT($target_service,&$err_code,&$err_msg)\r
+               {\r
+               phpCAS::traceBegin();\r
+               \r
+               // by default, $err_msg is set empty and $pt to TRUE. On error, $pt is\r
+               // set to false and $err_msg to an error message. At the end, if $pt is FALSE \r
+               // and $error_msg is still empty, it is set to 'invalid response' (the most\r
+               // commonly encountered error).\r
+               $err_msg = '';\r
+               \r
+               // build the URL to retrieve the PT\r
+               //      $cas_url = $this->getServerProxyURL().'?targetService='.preg_replace('/&/','%26',$target_service).'&pgt='.$this->getPGT();\r
+               $cas_url = $this->getServerProxyURL().'?targetService='.urlencode($target_service).'&pgt='.$this->getPGT();\r
+               \r
+               // open and read the URL\r
+               if ( !$this->readURL($cas_url,''/*cookies*/,$headers,$cas_response,$err_msg) ) {\r
+                       phpCAS::trace('could not open URL \''.$cas_url.'\' to validate ('.$err_msg.')');\r
+                       $err_code = PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE;\r
+                       $err_msg = 'could not retrieve PT (no response from the CAS server)';\r
+                       phpCAS::traceEnd(FALSE);\r
+                       return FALSE;\r
+               }\r
+               \r
+               $bad_response = FALSE;\r
+               \r
+               if ( !$bad_response ) {\r
+                       // read the response of the CAS server into a DOM object\r
+                       if ( !($dom = @domxml_open_mem($cas_response))) {\r
+                               phpCAS::trace('domxml_open_mem() failed');\r
+                               // read failed\r
+                               $bad_response = TRUE;\r
+                       } \r
+               }\r
+               \r
+               if ( !$bad_response ) {\r
+                       // read the root node of the XML tree\r
+                       if ( !($root = $dom->document_element()) ) {\r
+                               phpCAS::trace('document_element() failed');\r
+                               // read failed\r
+                               $bad_response = TRUE;\r
+                       } \r
+               }\r
+               \r
+               if ( !$bad_response ) {\r
+                       // insure that tag name is 'serviceResponse'\r
+                       if ( $root->node_name() != 'serviceResponse' ) {\r
+                               phpCAS::trace('node_name() failed');\r
+                               // bad root node\r
+                               $bad_response = TRUE;\r
+                       } \r
+               }\r
+               \r
+               if ( !$bad_response ) {\r
+                       // look for a proxySuccess tag\r
+                       if ( sizeof($arr = $root->get_elements_by_tagname("proxySuccess")) != 0) {\r
+                               // authentication succeded, look for a proxyTicket tag\r
+                               if ( sizeof($arr = $root->get_elements_by_tagname("proxyTicket")) != 0) {\r
+                                       $err_code = PHPCAS_SERVICE_OK;\r
+                                       $err_msg = '';\r
+                                       phpCAS::trace('original PT: '.trim($arr[0]->get_content()));\r
+                                       $pt = trim($arr[0]->get_content());\r
+                                       phpCAS::traceEnd($pt);\r
+                                       return $pt;\r
+                               } else {\r
+                                       phpCAS::trace('<proxySuccess> was found, but not <proxyTicket>');\r
+                               }\r
+                       } \r
+                       // look for a proxyFailure tag\r
+                       else if ( sizeof($arr = $root->get_elements_by_tagname("proxyFailure")) != 0) {\r
+                               // authentication failed, extract the error\r
+                               $err_code = PHPCAS_SERVICE_PT_FAILURE;\r
+                               $err_msg = 'PT retrieving failed (code=`'\r
+                                       .$arr[0]->get_attribute('code')\r
+                                       .'\', message=`'\r
+                                       .trim($arr[0]->get_content())\r
+                                       .'\')';\r
+                               phpCAS::traceEnd(FALSE);\r
+                               return FALSE;\r
+                       } else {\r
+                               phpCAS::trace('neither <proxySuccess> nor <proxyFailure> found');\r
+                       }\r
+               }\r
+               \r
+               // at this step, we are sure that the response of the CAS server was ill-formed\r
+               $err_code = PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE;\r
+               $err_msg = 'Invalid response from the CAS server (response=`'.$cas_response.'\')';\r
+               \r
+               phpCAS::traceEnd(FALSE);\r
+               return FALSE;\r
+               }\r
+       \r
+       // ########################################################################\r
+       // ACCESS TO EXTERNAL SERVICES\r
+       // ########################################################################\r
+       \r
+       /**\r
+        * This method is used to acces a remote URL.\r
+        *\r
+        * @param $url the URL to access.\r
+        * @param $cookies an array containing cookies strings such as 'name=val'\r
+        * @param $headers an array containing the HTTP header lines of the response\r
+        * (an empty array on failure).\r
+        * @param $body the body of the response, as a string (empty on failure).\r
+        * @param $err_msg an error message, filled on failure.\r
+        *\r
+        * @return TRUE on success, FALSE otherwise (in this later case, $err_msg\r
+        * contains an error message).\r
+        *\r
+        * @private\r
+        */\r
+       function readURL($url,$cookies,&$headers,&$body,&$err_msg)\r
+               {\r
+               phpCAS::traceBegin();\r
+               $headers = '';\r
+               $body = '';\r
+               $err_msg = '';\r
+               \r
+               $res = TRUE;\r
+               \r
+               // initialize the CURL session\r
+               $ch = curl_init($url);\r
+               \r
+               if (version_compare(PHP_VERSION,'5.1.3','>=')) {\r
+                       //only avaible in php5\r
+                       curl_setopt_array($ch, $this->_curl_options);\r
+               } else {\r
+                       foreach ($this->_curl_options as $key => $value) {\r
+                               curl_setopt($ch, $key, $value);\r
+                       }\r
+               }\r
+\r
+               if ($this->_cas_server_cert == '' && $this->_cas_server_ca_cert == '' && !$this->_no_cas_server_validation) {\r
+                       phpCAS::error('one of the methods phpCAS::setCasServerCert(), phpCAS::setCasServerCACert() or phpCAS::setNoCasServerValidation() must be called.');\r
+               }\r
+               if ($this->_cas_server_cert != '' ) {\r
+                       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);\r
+                       curl_setopt($ch, CURLOPT_SSLCERT, $this->_cas_server_cert);\r
+               } else if ($this->_cas_server_ca_cert != '') {\r
+                       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);\r
+                       curl_setopt($ch, CURLOPT_CAINFO, $this->_cas_server_ca_cert);\r
+               } else {\r
+                       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);\r
+                       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);\r
+               }\r
+               \r
+               // return the CURL output into a variable\r
+               curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r
+               // get the HTTP header with a callback\r
+               $this->_curl_headers = array(); // empty the headers array\r
+               curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, '_curl_read_headers'));\r
+               // add cookies headers\r
+               if ( is_array($cookies) ) {\r
+                       curl_setopt($ch,CURLOPT_COOKIE,implode(';',$cookies));\r
+               }\r
+               // perform the query\r
+               $buf = curl_exec ($ch);\r
+               if ( $buf === FALSE ) {\r
+                       phpCAS::trace('curl_exec() failed');\r
+                       $err_msg = 'CURL error #'.curl_errno($ch).': '.curl_error($ch);\r
+                       // close the CURL session\r
+                       curl_close ($ch);\r
+                       $res = FALSE;\r
+               } else {\r
+                       // close the CURL session\r
+                       curl_close ($ch);\r
+                       \r
+                       $headers = $this->_curl_headers;\r
+                       $body = $buf;\r
+               }\r
+               \r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+       }\r
+       \r
+       /**\r
+        * This method is the callback used by readURL method to request HTTP headers.\r
+        */\r
+       var $_curl_headers = array();\r
+       function _curl_read_headers($ch, $header)\r
+       {\r
+               $this->_curl_headers[] = $header;\r
+               return strlen($header);\r
+       }\r
+\r
+       /**\r
+        * This method is used to access an HTTP[S] service.\r
+        * \r
+        * @param $url the service to access.\r
+        * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on\r
+        * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,\r
+        * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.\r
+        * @param $output the output of the service (also used to give an error\r
+        * message on failure).\r
+        *\r
+        * @return TRUE on success, FALSE otherwise (in this later case, $err_code\r
+        * gives the reason why it failed and $output contains an error message).\r
+        *\r
+        * @public\r
+        */\r
+       function serviceWeb($url,&$err_code,&$output)\r
+               {\r
+               phpCAS::traceBegin();\r
+               // at first retrieve a PT\r
+               $pt = $this->retrievePT($url,$err_code,$output);\r
+               \r
+               $res = TRUE;\r
+               \r
+               // test if PT was retrieved correctly\r
+               if ( !$pt ) {\r
+                       // note: $err_code and $err_msg are filled by CASClient::retrievePT()\r
+                       phpCAS::trace('PT was not retrieved correctly');\r
+                       $res = FALSE;\r
+               } else {\r
+                       // add cookies if necessary\r
+                       if ( is_array($_SESSION['phpCAS']['services'][$url]['cookies']) ) {\r
+                               foreach ( $_SESSION['phpCAS']['services'][$url]['cookies'] as $name => $val ) { \r
+                                       $cookies[] = $name.'='.$val;\r
+                               }\r
+                       }\r
+                       \r
+                       // build the URL including the PT\r
+                       if ( strstr($url,'?') === FALSE ) {\r
+                               $service_url = $url.'?ticket='.$pt;\r
+                       } else {\r
+                               $service_url = $url.'&ticket='.$pt;\r
+                       }\r
+                       \r
+                       phpCAS::trace('reading URL`'.$service_url.'\'');\r
+                       if ( !$this->readURL($service_url,$cookies,$headers,$output,$err_msg) ) {\r
+                               phpCAS::trace('could not read URL`'.$service_url.'\'');\r
+                               $err_code = PHPCAS_SERVICE_NOT_AVAILABLE;\r
+                               // give an error message\r
+                               $output = sprintf($this->getString(CAS_STR_SERVICE_UNAVAILABLE),\r
+                                       $service_url,\r
+                                       $err_msg);\r
+                               $res = FALSE;\r
+                       } else {\r
+                               // URL has been fetched, extract the cookies\r
+                               phpCAS::trace('URL`'.$service_url.'\' has been read, storing cookies:');\r
+                               foreach ( $headers as $header ) {\r
+                                       // test if the header is a cookie\r
+                                       if ( preg_match('/^Set-Cookie:/',$header) ) {\r
+                                               // the header is a cookie, remove the beginning\r
+                                               $header_val = preg_replace('/^Set-Cookie: */','',$header);\r
+                                               // extract interesting information\r
+                                               $name_val = strtok($header_val,'; ');\r
+                                               // extract the name and the value of the cookie\r
+                                               $cookie_name = strtok($name_val,'=');\r
+                                               $cookie_val = strtok('=');\r
+                                               // store the cookie \r
+                                               $_SESSION['phpCAS']['services'][$url]['cookies'][$cookie_name] = $cookie_val;\r
+                                               phpCAS::trace($cookie_name.' -> '.$cookie_val);\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+               \r
+               phpCAS::traceEnd($res);\r
+               return $res;\r
+               }\r
+       \r
+       /**\r
+        * This method is used to access an IMAP/POP3/NNTP service.\r
+        * \r
+        * @param $url a string giving the URL of the service, including the mailing box\r
+        * for IMAP URLs, as accepted by imap_open().\r
+        * @param $flags options given to imap_open().\r
+        * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on\r
+        * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,\r
+        * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.\r
+        * @param $err_msg an error message on failure\r
+        * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL\r
+        * on success, FALSE on error).\r
+        *\r
+        * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code\r
+        * gives the reason why it failed and $err_msg contains an error message).\r
+        *\r
+        * @public\r
+        */\r
+       function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)\r
+               {\r
+               phpCAS::traceBegin();\r
+               // at first retrieve a PT\r
+               $pt = $this->retrievePT($target_service,$err_code,$output);\r
+               \r
+               $stream = FALSE;\r
+               \r
+               // test if PT was retrieved correctly\r
+               if ( !$pt ) {\r
+                       // note: $err_code and $err_msg are filled by CASClient::retrievePT()\r
+                       phpCAS::trace('PT was not retrieved correctly');\r
+               } else {\r
+                       phpCAS::trace('opening IMAP URL `'.$url.'\'...');\r
+                       $stream = @imap_open($url,$this->getUser(),$pt,$flags);\r
+                       if ( !$stream ) {\r
+                               phpCAS::trace('could not open URL');\r
+                               $err_code = PHPCAS_SERVICE_NOT_AVAILABLE;\r
+                               // give an error message\r
+                               $err_msg = sprintf($this->getString(CAS_STR_SERVICE_UNAVAILABLE),\r
+                                       $service_url,\r
+                                       var_export(imap_errors(),TRUE));\r
+                               $pt = FALSE;\r
+                               $stream = FALSE;\r
+                       } else {\r
+                               phpCAS::trace('ok');\r
+                       }\r
+               }\r
+               \r
+               phpCAS::traceEnd($stream);\r
+               return $stream;\r
+               }\r
+       \r
+       /** @} */\r
+       \r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       // XX                                                                    XX\r
+       // XX                  PROXIED CLIENT FEATURES (CAS 2.0)                 XX\r
+       // XX                                                                    XX\r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       \r
+       // ########################################################################\r
+       //  PT\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalProxied\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * the Proxy Ticket provided in the URL of the request if present\r
+        * (empty otherwise). Written by CASClient::CASClient(), read by \r
+        * CASClient::getPT() and CASClient::hasPGT().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_pt = '';\r
+       \r
+       /**\r
+        * This method returns the Proxy Ticket provided in the URL of the request.\r
+        * @return The proxy ticket.\r
+        * @private\r
+        */\r
+       function getPT()\r
+               {\r
+               //      return 'ST'.substr($this->_pt, 2);\r
+               return $this->_pt;\r
+               }\r
+       \r
+       /**\r
+        * This method stores the Proxy Ticket.\r
+        * @param $pt The Proxy Ticket.\r
+        * @private\r
+        */\r
+       function setPT($pt)\r
+               { $this->_pt = $pt; }\r
+       \r
+       /**\r
+        * This method tells if a Proxy Ticket was stored.\r
+        * @return TRUE if a Proxy Ticket has been stored.\r
+        * @private\r
+        */\r
+       function hasPT()\r
+               { return !empty($this->_pt); }\r
+       \r
+       /** @} */\r
+       // ########################################################################\r
+       //  PT VALIDATION\r
+       // ########################################################################\r
+       /**\r
+        * @addtogroup internalProxied\r
+        * @{\r
+        */  \r
+       \r
+       /**\r
+        * This method is used to validate a PT; halt on failure\r
+        * \r
+        * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().\r
+        *\r
+        * @private\r
+        */\r
+       function validatePT(&$validate_url,&$text_response,&$tree_response)\r
+               {\r
+               phpCAS::traceBegin();\r
+               // build the URL to validate the ticket\r
+               $validate_url = $this->getServerProxyValidateURL().'&ticket='.$this->getPT();\r
+               \r
+               if ( $this->isProxy() ) {\r
+                       // pass the callback url for CAS proxies\r
+                       $validate_url .= '&pgtUrl='.$this->getCallbackURL();\r
+               }\r
+               \r
+               // open and read the URL\r
+               if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {\r
+                       phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');\r
+                       $this->authError('PT not validated',\r
+                               $validate_url,\r
+                               TRUE/*$no_response*/);\r
+               }\r
+               \r
+               // read the response of the CAS server into a DOM object\r
+               if ( !($dom = domxml_open_mem($text_response))) {\r
+                       // read failed\r
+                       $this->authError('PT not validated',\r
+                               $validate_url,\r
+                               FALSE/*$no_response*/,\r
+                               TRUE/*$bad_response*/,\r
+                               $text_response);\r
+               }\r
+               // read the root node of the XML tree\r
+               if ( !($tree_response = $dom->document_element()) ) {\r
+                       // read failed\r
+                       $this->authError('PT not validated',\r
+                               $validate_url,\r
+                               FALSE/*$no_response*/,\r
+                               TRUE/*$bad_response*/,\r
+                               $text_response);\r
+               }\r
+               // insure that tag name is 'serviceResponse'\r
+               if ( $tree_response->node_name() != 'serviceResponse' ) {\r
+                       // bad root node\r
+                       $this->authError('PT not validated',\r
+                               $validate_url,\r
+                               FALSE/*$no_response*/,\r
+                               TRUE/*$bad_response*/,\r
+                               $text_response);\r
+               }\r
+               if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) {\r
+                       // authentication succeded, extract the user name\r
+                       if ( sizeof($arr = $tree_response->get_elements_by_tagname("user")) == 0) {\r
+                               // no user specified => error\r
+                               $this->authError('PT not validated',\r
+                                       $validate_url,\r
+                                       FALSE/*$no_response*/,\r
+                                       TRUE/*$bad_response*/,\r
+                                       $text_response);\r
+                       }\r
+                       $this->setUser(trim($arr[0]->get_content()));\r
+                       \r
+               } else if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) {\r
+                       // authentication succeded, extract the error code and message\r
+                       $this->authError('PT not validated',\r
+                               $validate_url,\r
+                               FALSE/*$no_response*/,\r
+                               FALSE/*$bad_response*/,\r
+                               $text_response,\r
+                               $arr[0]->get_attribute('code')/*$err_code*/,\r
+                               trim($arr[0]->get_content())/*$err_msg*/);\r
+               } else {\r
+                       $this->authError('PT not validated',\r
+                               $validate_url,  \r
+                               FALSE/*$no_response*/,\r
+                               TRUE/*$bad_response*/,\r
+                               $text_response);\r
+               }\r
+               \r
+               // at this step, PT has been validated and $this->_user has been set,\r
+               \r
+               phpCAS::traceEnd(TRUE);\r
+               return TRUE;\r
+               }\r
+       \r
+       /** @} */\r
+       \r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       // XX                                                                    XX\r
+       // XX                               MISC                                 XX\r
+       // XX                                                                    XX\r
+       // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r
+       \r
+       /**\r
+        * @addtogroup internalMisc\r
+        * @{\r
+        */  \r
+       \r
+       // ########################################################################\r
+       //  URL\r
+       // ########################################################################\r
+       /**\r
+        * the URL of the current request (without any ticket CGI parameter). Written \r
+        * and read by CASClient::getURL().\r
+        *\r
+        * @hideinitializer\r
+        * @private\r
+        */\r
+       var $_url = '';\r
+       \r
+       /**\r
+        * This method returns the URL of the current request (without any ticket\r
+        * CGI parameter).\r
+        *\r
+        * @return The URL\r
+        *\r
+        * @private\r
+        */\r
+       function getURL()\r
+               {\r
+               phpCAS::traceBegin();\r
+               // the URL is built when needed only\r
+               if ( empty($this->_url) ) {\r
+                       $final_uri = '';\r
+                       // remove the ticket if present in the URL\r
+                       $final_uri = ($this->isHttps()) ? 'https' : 'http';\r
+                       $final_uri .= '://';\r
+                       /* replaced by Julien Marchal - v0.4.6\r
+                        * $this->_url .= $_SERVER['SERVER_NAME'];\r
+                        */\r
+                       if(empty($_SERVER['HTTP_X_FORWARDED_SERVER'])){\r
+                               /* replaced by teedog - v0.4.12\r
+                                * $this->_url .= $_SERVER['SERVER_NAME'];\r
+                                */\r
+                               if (empty($_SERVER['SERVER_NAME'])) {\r
+                                       $server_name = $_SERVER['HTTP_HOST'];\r
+                               } else {\r
+                                       $server_name = $_SERVER['SERVER_NAME'];\r
+                               }\r
+                       } else {\r
+                               $server_name = $_SERVER['HTTP_X_FORWARDED_SERVER'];\r
+                       }\r
+                       $final_uri .= $server_name;\r
+                       if (!strpos($server_name, ':')) {\r
+                               if ( ($this->isHttps() && $_SERVER['SERVER_PORT']!=443)\r
+                                               || (!$this->isHttps() && $_SERVER['SERVER_PORT']!=80) ) {\r
+                                       $final_uri .= ':';\r
+                                       $final_uri .= $_SERVER['SERVER_PORT'];\r
+                               }\r
+                       }\r
+                       \r
+                       $final_uri .= strtok($_SERVER['REQUEST_URI'],"?");\r
+                       $cgi_params = '?'.strtok("?");\r
+                       // remove the ticket if present in the CGI parameters\r
+                       $cgi_params = preg_replace('/&ticket=[^&]*/','',$cgi_params);\r
+                       $cgi_params = preg_replace('/\?ticket=[^&;]*/','?',$cgi_params);\r
+                       $cgi_params = preg_replace('/\?%26/','?',$cgi_params);\r
+                       $cgi_params = preg_replace('/\?&/','?',$cgi_params);\r
+                       $cgi_params = preg_replace('/\?$/','',$cgi_params);\r
+                       $final_uri .= $cgi_params;\r
+                       $this->setURL($final_uri);\r
+               }\r
+               phpCAS::traceEnd($this->_url);\r
+               return $this->_url;\r
+               }\r
+       \r
+       /**\r
+        * This method sets the URL of the current request \r
+        *\r
+        * @param $url url to set for service\r
+        *\r
+        * @private\r
+        */\r
+       function setURL($url)\r
+               {\r
+               $this->_url = $url;\r
+               }\r
+       \r
+       // ########################################################################\r
+       //  AUTHENTICATION ERROR HANDLING\r
+       // ########################################################################\r
+       /**\r
+        * This method is used to print the HTML output when the user was not authenticated.\r
+        *\r
+        * @param $failure the failure that occured\r
+        * @param $cas_url the URL the CAS server was asked for\r
+        * @param $no_response the response from the CAS server (other \r
+        * parameters are ignored if TRUE)\r
+        * @param $bad_response bad response from the CAS server ($err_code\r
+        * and $err_msg ignored if TRUE)\r
+        * @param $cas_response the response of the CAS server\r
+        * @param $err_code the error code given by the CAS server\r
+        * @param $err_msg the error message given by the CAS server\r
+        *\r
+        * @private\r
+        */\r
+       function authError($failure,$cas_url,$no_response,$bad_response='',$cas_response='',$err_code='',$err_msg='')\r
+               {\r
+               phpCAS::traceBegin();\r
+               \r
+               $this->printHTMLHeader($this->getString(CAS_STR_AUTHENTICATION_FAILED));\r
+               printf($this->getString(CAS_STR_YOU_WERE_NOT_AUTHENTICATED),$this->getURL(),$_SERVER['SERVER_ADMIN']);\r
+               phpCAS::trace('CAS URL: '.$cas_url);\r
+               phpCAS::trace('Authentication failure: '.$failure);\r
+               if ( $no_response ) {\r
+                       phpCAS::trace('Reason: no response from the CAS server');\r
+               } else {\r
+                       if ( $bad_response ) {\r
+                               phpCAS::trace('Reason: bad response from the CAS server');\r
+                       } else {\r
+                               switch ($this->getServerVersion()) {\r
+                                       case CAS_VERSION_1_0:\r
+                                               phpCAS::trace('Reason: CAS error');\r
+                                               break;\r
+                                       case CAS_VERSION_2_0:\r
+                                               if ( empty($err_code) )\r
+                                                       phpCAS::trace('Reason: no CAS error');\r
+                                               else\r
+                                                       phpCAS::trace('Reason: ['.$err_code.'] CAS error: '.$err_msg);\r
+                                               break;\r
+                               }\r
+                       }\r
+                       phpCAS::trace('CAS response: '.$cas_response);\r
+               }\r
+               $this->printHTMLFooter();\r
+               phpCAS::traceExit();\r
+               exit();\r
+               }\r
+       \r
+       /** @} */\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php b/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
new file mode 100644 (file)
index 0000000..d647475
--- /dev/null
@@ -0,0 +1,277 @@
+<?php\r
+/**\r
+ * @file domxml-php4-php5.php\r
+ * Require PHP5, uses built-in DOM extension.\r
+ * To be used in PHP4 scripts using DOMXML extension.\r
+ * Allows PHP4/DOMXML scripts to run on PHP5/DOM.\r
+ * (Requires PHP5/XSL extension for domxml_xslt functions)\r
+ *\r
+ * Typical use:\r
+ * <pre>\r
+ * {\r
+ *  if (version_compare(PHP_VERSION,'5','>='))\r
+ *   require_once('domxml-php4-to-php5.php');\r
+ * }\r
+ * </pre>\r
+ *\r
+ * Version 1.5.5, 2005-01-18, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/\r
+ *\r
+ * ------------------------------------------------------------------<br>\r
+ * Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/\r
+ *\r
+ * Copyright 2004, Licence: Creative Commons "Attribution-ShareAlike 2.0 France" BY-SA (FR),\r
+ * http://creativecommons.org/licenses/by-sa/2.0/fr/\r
+ * http://alexandre.alapetite.net/divers/apropos/#by-sa\r
+ * - Attribution. You must give the original author credit\r
+ * - Share Alike. If you alter, transform, or build upon this work,\r
+ *   you may distribute the resulting work only under a license identical to this one\r
+ * - The French law is authoritative\r
+ * - Any of these conditions can be waived if you get permission from Alexandre Alapetite\r
+ * - Please send to Alexandre Alapetite the modifications you make,\r
+ *   in order to improve this file for the benefit of everybody\r
+ *\r
+ * If you want to distribute this code, please do it as a link to:\r
+ * http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/\r
+ */\r
+\r
+function domxml_new_doc($version) {return new php4DOMDocument('');}\r
+function domxml_open_file($filename) {return new php4DOMDocument($filename);}\r
+function domxml_open_mem($str)\r
+{\r
+ $dom=new php4DOMDocument('');\r
+ $dom->myDOMNode->loadXML($str);\r
+ return $dom;\r
+}\r
+function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->query($eval_str,$contextnode);}\r
+function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}\r
+\r
+class php4DOMAttr extends php4DOMNode\r
+{\r
+ function php4DOMAttr($aDOMAttr) {$this->myDOMNode=$aDOMAttr;}\r
+ function Name() {return $this->myDOMNode->name;}\r
+ function Specified() {return $this->myDOMNode->specified;}\r
+ function Value() {return $this->myDOMNode->value;}\r
+}\r
+\r
+class php4DOMDocument extends php4DOMNode\r
+{\r
+ function php4DOMDocument($filename='')\r
+ {\r
+  $this->myDOMNode=new DOMDocument();\r
+  if ($filename!='') $this->myDOMNode->load($filename);\r
+ }\r
+ function create_attribute($name,$value)\r
+ {\r
+  $myAttr=$this->myDOMNode->createAttribute($name);\r
+  $myAttr->value=$value;\r
+  return new php4DOMAttr($myAttr,$this);\r
+ }\r
+ function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}\r
+ function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}\r
+ function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}\r
+ function create_text_node($content) {return new php4DOMNode($this->myDOMNode->createTextNode($content),$this);}\r
+ function document_element() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}\r
+ function dump_file($filename,$compressionmode=false,$format=false) {return $this->myDOMNode->save($filename);}\r
+ function dump_mem($format=false,$encoding=false) {return $this->myDOMNode->saveXML();}\r
+ function get_element_by_id($id) {return new php4DOMElement($this->myDOMNode->getElementById($id),$this);}\r
+ function get_elements_by_tagname($name)\r
+ {\r
+  $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);\r
+  $nodeSet=array();\r
+  $i=0;\r
+  if (isset($myDOMNodeList))\r
+   while ($node=$myDOMNodeList->item($i))\r
+   {\r
+    $nodeSet[]=new php4DOMElement($node,$this);\r
+    $i++;\r
+   }\r
+  return $nodeSet;\r
+ }\r
+ function html_dump_mem() {return $this->myDOMNode->saveHTML();}\r
+ function root() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}\r
+}\r
+\r
+class php4DOMElement extends php4DOMNode\r
+{\r
+ function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}\r
+ function get_elements_by_tagname($name)\r
+ {\r
+  $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);\r
+  $nodeSet=array();\r
+  $i=0;\r
+  if (isset($myDOMNodeList))\r
+   while ($node=$myDOMNodeList->item($i))\r
+   {\r
+    $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);\r
+    $i++;\r
+   }\r
+  return $nodeSet;\r
+ }\r
+ function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}\r
+ function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}\r
+ function set_attribute($name,$value) {return $this->myDOMNode->setAttribute($name,$value);}\r
+ function tagname() {return $this->myDOMNode->tagName;}\r
+}\r
+\r
+class php4DOMNode\r
+{\r
+ var $myDOMNode;\r
+ var $myOwnerDocument;\r
+ function php4DOMNode($aDomNode,$aOwnerDocument)\r
+ {\r
+  $this->myDOMNode=$aDomNode;\r
+  $this->myOwnerDocument=$aOwnerDocument;\r
+ }\r
+ function __get($name)\r
+ {\r
+  if ($name=='type') return $this->myDOMNode->nodeType;\r
+  elseif ($name=='tagname') return $this->myDOMNode->tagName;\r
+  elseif ($name=='content') return $this->myDOMNode->textContent;\r
+  else\r
+  {\r
+   $myErrors=debug_backtrace();\r
+   trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);\r
+   return false;\r
+  }\r
+ }\r
+ function append_child($newnode) {return new php4DOMElement($this->myDOMNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}\r
+ function append_sibling($newnode) {return new php4DOMElement($this->myDOMNode->parentNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}\r
+ function attributes()\r
+ {\r
+  $myDOMNodeList=$this->myDOMNode->attributes;\r
+  $nodeSet=array();\r
+  $i=0;\r
+  if (isset($myDOMNodeList))\r
+   while ($node=$myDOMNodeList->item($i))\r
+   {\r
+    $nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);\r
+    $i++;\r
+   }\r
+  return $nodeSet;\r
+ }\r
+ function child_nodes()\r
+ {\r
+  $myDOMNodeList=$this->myDOMNode->childNodes;\r
+  $nodeSet=array();\r
+  $i=0;\r
+  if (isset($myDOMNodeList))\r
+   while ($node=$myDOMNodeList->item($i))\r
+   {\r
+    $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);\r
+    $i++;\r
+   }\r
+  return $nodeSet;\r
+ }\r
+ function children() {return $this->child_nodes();}\r
+ function clone_node($deep=false) {return new php4DOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}\r
+ function first_child() {return new php4DOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}\r
+ function get_content() {return $this->myDOMNode->textContent;}\r
+ function has_attributes() {return $this->myDOMNode->hasAttributes();}\r
+ function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}\r
+ function insert_before($newnode,$refnode) {return new php4DOMElement($this->myDOMNode->insertBefore($newnode->myDOMNode,$refnode->myDOMNode),$this->myOwnerDocument);}\r
+ function is_blank_node()\r
+ {\r
+  $myDOMNodeList=$this->myDOMNode->childNodes;\r
+  $i=0;\r
+  if (isset($myDOMNodeList))\r
+   while ($node=$myDOMNodeList->item($i))\r
+   {\r
+    if (($node->nodeType==XML_ELEMENT_NODE)||\r
+        (($node->nodeType==XML_TEXT_NODE)&&!ereg('^([[:cntrl:]]|[[:space:]])*$',$node->nodeValue)))\r
+     return false;\r
+    $i++;\r
+   }\r
+  return true;\r
+ }\r
+ function last_child() {return new php4DOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}\r
+ function new_child($name,$content)\r
+ {\r
+  $mySubNode=$this->myDOMNode->ownerDocument->createElement($name);\r
+  $mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($content));\r
+  $this->myDOMNode->appendChild($mySubNode);\r
+  return new php4DOMElement($mySubNode,$this->myOwnerDocument);\r
+ }\r
+ function next_sibling() {return new php4DOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}\r
+ function node_name() {return $this->myDOMNode->localName;}\r
+ function node_type() {return $this->myDOMNode->nodeType;}\r
+ function node_value() {return $this->myDOMNode->nodeValue;}\r
+ function owner_document() {return $this->myOwnerDocument;}\r
+ function parent_node() {return new php4DOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}\r
+ function prefix() {return $this->myDOMNode->prefix;}\r
+ function previous_sibling() {return new php4DOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}\r
+ function remove_child($oldchild) {return new php4DOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}\r
+ function replace_child($oldnode,$newnode) {return new php4DOMElement($this->myDOMNode->replaceChild($oldnode->myDOMNode,$newnode->myDOMNode),$this->myOwnerDocument);}\r
+ function set_content($text)\r
+ {\r
+  if (($this->myDOMNode->hasChildNodes())&&($this->myDOMNode->firstChild->nodeType==XML_TEXT_NODE))\r
+   $this->myDOMNode->removeChild($this->myDOMNode->firstChild);\r
+  return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($text));\r
+ }\r
+}\r
+\r
+class php4DOMNodelist\r
+{\r
+ var $myDOMNodelist;\r
+ var $nodeset;\r
+ function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)\r
+ {\r
+  $this->myDOMNodelist=$aDOMNodelist;\r
+  $this->nodeset=array();\r
+  $i=0;\r
+  if (isset($this->myDOMNodelist))\r
+   while ($node=$this->myDOMNodelist->item($i))\r
+   {\r
+    $this->nodeset[]=new php4DOMElement($node,$aOwnerDocument);\r
+    $i++;\r
+   }\r
+ }\r
+}\r
+\r
+class php4DOMXPath\r
+{\r
+ var $myDOMXPath;\r
+ var $myOwnerDocument;\r
+ function php4DOMXPath($dom_document)\r
+ {\r
+  $this->myOwnerDocument=$dom_document;\r
+  $this->myDOMXPath=new DOMXPath($dom_document->myDOMNode);\r
+ }\r
+ function query($eval_str,$contextnode)\r
+ {\r
+  if (isset($contextnode)) return new php4DOMNodelist($this->myDOMXPath->query($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument);\r
+  else return new php4DOMNodelist($this->myDOMXPath->query($eval_str),$this->myOwnerDocument);\r
+ }\r
+ function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}\r
+}\r
+\r
+if (extension_loaded('xsl'))\r
+{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/\r
+ function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}\r
+ function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}\r
+ function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}\r
+ class php4DomXsltStylesheet\r
+ {\r
+  var $myxsltProcessor;\r
+  function php4DomXsltStylesheet($dom_document)\r
+  {\r
+   $this->myxsltProcessor=new xsltProcessor();\r
+   $this->myxsltProcessor->importStyleSheet($dom_document);\r
+  }\r
+  function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)\r
+  {\r
+   foreach ($xslt_parameters as $param=>$value)\r
+    $this->myxsltProcessor->setParameter('',$param,$value);\r
+   $myphp4DOMDocument=new php4DOMDocument();\r
+   $myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);\r
+   return $myphp4DOMDocument;\r
+  }\r
+  function result_dump_file($dom_document,$filename)\r
+  {\r
+   $html=$dom_document->myDOMNode->saveHTML();\r
+   file_put_contents($filename,$html);\r
+   return $html;\r
+  }\r
+  function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}\r
+ }\r
+}\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/catalan.php b/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
new file mode 100644 (file)
index 0000000..3d67473
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+\r
+/**\r
+ * @file languages/spanish.php\r
+ * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+$this->_strings = array(\r
+ CAS_STR_USING_SERVER \r
+ => 'usant servidor',\r
+ CAS_STR_AUTHENTICATION_WANTED \r
+ => 'Autentificació CAS necessària!',\r
+ CAS_STR_LOGOUT \r
+ => 'Sortida de CAS necessària!',\r
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED \r
+ => 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',\r
+ CAS_STR_AUTHENTICATION_FAILED \r
+ => 'Autentificació CAS fallida!',\r
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED \r
+ => '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',\r
+ CAS_STR_SERVICE_UNAVAILABLE\r
+ => 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'\r
+);\r
+\r
+?>\r
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/english.php b/plugins/CasAuthentication/extlib/CAS/languages/english.php
new file mode 100644 (file)
index 0000000..c143450
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+\r
+/**\r
+ * @file languages/english.php\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+$this->_strings = array(\r
+ CAS_STR_USING_SERVER \r
+ => 'using server',\r
+ CAS_STR_AUTHENTICATION_WANTED \r
+ => 'CAS Authentication wanted!',\r
+ CAS_STR_LOGOUT \r
+ => 'CAS logout wanted!',\r
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED \r
+ => 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',\r
+ CAS_STR_AUTHENTICATION_FAILED \r
+ => 'CAS Authentication failed!',\r
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED \r
+ => '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',\r
+ CAS_STR_SERVICE_UNAVAILABLE\r
+ => 'The service `<b>%s</b>\' is not available (<b>%s</b>).'\r
+);\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/french.php b/plugins/CasAuthentication/extlib/CAS/languages/french.php
new file mode 100644 (file)
index 0000000..675a7fc
--- /dev/null
@@ -0,0 +1,28 @@
+<?php\r
+\r
+/**\r
+ * @file languages/english.php\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+$this->_strings = array(\r
+ CAS_STR_USING_SERVER \r
+ => 'utilisant le serveur',\r
+ CAS_STR_AUTHENTICATION_WANTED \r
+ => 'Authentication CAS nécessaire&nbsp;!',\r
+ CAS_STR_LOGOUT \r
+ => 'Déconnexion demandée&nbsp;!',\r
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED \r
+ => 'Vous auriez du etre redirigé(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',\r
+ CAS_STR_AUTHENTICATION_FAILED \r
+ => 'Authentification CAS infructueuse&nbsp;!',\r
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED \r
+ => '<p>Vous n\'avez pas été authentifié(e).</p><p>Vous pouvez soumettre votre requete à nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le problème persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',\r
+ CAS_STR_SERVICE_UNAVAILABLE\r
+ => 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'\r
+\r
+);\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/german.php b/plugins/CasAuthentication/extlib/CAS/languages/german.php
new file mode 100644 (file)
index 0000000..29daeb3
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+\r
+/**\r
+ * @file languages/german.php\r
+ * @author Henrik Genssen <hg at mediafactory.de>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+$this->_strings = array(\r
+ CAS_STR_USING_SERVER \r
+ => 'via Server',\r
+ CAS_STR_AUTHENTICATION_WANTED \r
+ => 'CAS Authentifizierung erforderlich!',\r
+ CAS_STR_LOGOUT \r
+ => 'CAS Abmeldung!',\r
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED \r
+ => 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',\r
+ CAS_STR_AUTHENTICATION_FAILED \r
+ => 'CAS Anmeldung fehlgeschlagen!',\r
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED \r
+ => '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',\r
+ CAS_STR_SERVICE_UNAVAILABLE\r
+ => 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'\r
+);\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/greek.php b/plugins/CasAuthentication/extlib/CAS/languages/greek.php
new file mode 100644 (file)
index 0000000..c17b1d6
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+\r
+/**\r
+ * @file languages/greek.php\r
+ * @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+$this->_strings = array(\r
+ CAS_STR_USING_SERVER \r
+ => '÷ñçóéìïðïéåßôáé ï åîõðçñåôçôÞò',\r
+ CAS_STR_AUTHENTICATION_WANTED \r
+ => 'Áðáéôåßôáé ç ôáõôïðïßçóç CAS!',\r
+ CAS_STR_LOGOUT \r
+ => 'Áðáéôåßôáé ç áðïóýíäåóç áðü CAS!',\r
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED \r
+ => 'Èá Ýðñåðå íá åß÷áôå áíáêáôåõèõíèåß óôïí åîõðçñåôçôÞ CAS. ÊÜíôå êëßê <a href="%s">åäþ</a> ãéá íá óõíå÷ßóåôå.',\r
+ CAS_STR_AUTHENTICATION_FAILED \r
+ => 'Ç ôáõôïðïßçóç CAS áðÝôõ÷å!',\r
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED \r
+ => '<p>Äåí ôáõôïðïéçèÞêáôå.</p><p>Ìðïñåßôå íá îáíáðñïóðáèÞóåôå, êÜíïíôáò êëßê <a href="%s">åäþ</a>.</p><p>Åáí ôï ðñüâëçìá åðéìåßíåé, åëÜôå óå åðáöÞ ìå ôïí <a href="mailto:%s">äéá÷åéñéóôÞ</a>.</p>',\r
+ CAS_STR_SERVICE_UNAVAILABLE\r
+ => 'Ç õðçñåóßá `<b>%s</b>\' äåí åßíáé äéáèÝóéìç (<b>%s</b>).'\r
+);\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/japanese.php b/plugins/CasAuthentication/extlib/CAS/languages/japanese.php
new file mode 100644 (file)
index 0000000..333bb17
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file languages/japanese.php
+ * @author fnorif (fnorif@yahoo.co.jp)
+ * 
+ * Now Encoding is EUC-JP and LF
+ **/
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER 
+ => 'using server',
+ CAS_STR_AUTHENTICATION_WANTED 
+ => 'CAS¤Ë¤è¤ëǧ¾Ú¤ò¹Ô¤¤¤Þ¤¹',
+ CAS_STR_LOGOUT 
+ => 'CAS¤«¤é¥í¥°¥¢¥¦¥È¤·¤Þ¤¹!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED 
+ => 'CAS¥µ¡¼¥Ð¤Ë¹Ô¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¼«Æ°Åª¤ËžÁ÷¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï <a href="%s">¤³¤Á¤é</a> ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ³¹Ô¤·¤Þ¤¹¡£',
+ CAS_STR_AUTHENTICATION_FAILED 
+ => 'CAS¤Ë¤è¤ëǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED 
+ => '<p>ǧ¾Ú¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿.</p><p>¤â¤¦°ìÅ٥ꥯ¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë¾ì¹ç¤Ï<a href="%s">¤³¤Á¤é</a>¤ò¥¯¥ê¥Ã¥¯.</p><p>ÌäÂ꤬²ò·è¤·¤Ê¤¤¾ì¹ç¤Ï <a href="mailto:%s">¤³¤Î¥µ¥¤¥È¤Î´ÉÍý¼Ô</a>¤ËÌ䤤¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => '¥µ¡¼¥Ó¥¹ `<b>%s</b>\' ¤ÏÍøÍѤǤ­¤Þ¤»¤ó (<b>%s</b>).'
+);
+
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/languages.php b/plugins/CasAuthentication/extlib/CAS/languages/languages.php
new file mode 100644 (file)
index 0000000..2c6f8bb
--- /dev/null
@@ -0,0 +1,24 @@
+<?php\r
+\r
+/**\r
+ * @file languages/languages.php\r
+ * Internationalization constants\r
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+//@{\r
+/**\r
+ * a phpCAS string index\r
+ */\r
+define("CAS_STR_USING_SERVER",                1);\r
+define("CAS_STR_AUTHENTICATION_WANTED",       2);\r
+define("CAS_STR_LOGOUT",                      3);\r
+define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);\r
+define("CAS_STR_AUTHENTICATION_FAILED",       5);\r
+define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED",  6);\r
+define("CAS_STR_SERVICE_UNAVAILABLE",         7);\r
+//@}\r
+\r
+?>
\ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/spanish.php b/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
new file mode 100644 (file)
index 0000000..3a8ffc2
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+\r
+/**\r
+ * @file languages/spanish.php\r
+ * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>\r
+ * @sa @link internalLang Internationalization @endlink\r
+ * @ingroup internalLang\r
+ */\r
+\r
+$this->_strings = array(\r
+ CAS_STR_USING_SERVER \r
+ => 'usando servidor',\r
+ CAS_STR_AUTHENTICATION_WANTED \r
+ => '¡Autentificación CAS necesaria!',\r
+ CAS_STR_LOGOUT \r
+ => '¡Salida CAS necesaria!',\r
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED \r
+ => 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',\r
+ CAS_STR_AUTHENTICATION_FAILED \r
+ => '¡Autentificación CAS fallida!',\r
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED \r
+ => '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',\r
+ CAS_STR_SERVICE_UNAVAILABLE\r
+ => 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'\r
+);\r
+\r
+?>\r
index 39b2ef28767641e08322256fbca42cc70b9ccc12..de91bf24a12d2f9a8cfedf94b5518823ab56d94c 100644 (file)
@@ -32,6 +32,7 @@ if (!defined('STATUSNET')) {
 }
 
 define("FACEBOOK_CONNECT_SERVICE", 3);
+define('FACEBOOKPLUGIN_VERSION', '0.9');
 
 require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
 
@@ -554,4 +555,18 @@ class FacebookPlugin extends Plugin
         return true;
     }
 
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Facebook',
+                            'version' => FACEBOOKPLUGIN_VERSION,
+                            'author' => 'Zach Copley',
+                            'homepage' => 'http://status.net/wiki/Plugin:Facebook',
+                            'rawdescription' =>
+                            _m('The Facebook plugin allows you to integrate ' .
+                               'your StatusNet instance with ' .
+                               '<a href="http://facebook.com/">Facebook</a> ' .
+                               'and Facebook Connect.'));
+        return true;
+    }
+
 }
index 016e8e8e0d4931d888b68d8051107d36045fc143..440706cbc3fdb5543001003e88e2bc9721414192 100644 (file)
@@ -82,7 +82,8 @@ class Facebook {
 
 
     if (isset($this->fb_params['friends'])) {
-      $this->api_client->friends_list = explode(',', $this->fb_params['friends']);
+      $this->api_client->friends_list =
+        array_filter(explode(',', $this->fb_params['friends']));
     }
     if (isset($this->fb_params['added'])) {
       $this->api_client->added = $this->fb_params['added'];
@@ -215,11 +216,15 @@ class Facebook {
   // Invalidate the session currently being used, and clear any state associated
   // with it. Note that the user will still remain logged into Facebook.
   public function expire_session() {
-    if ($this->api_client->auth_expireSession()) {
+    try {
+      if ($this->api_client->auth_expireSession()) {
+        $this->clear_cookie_state();
+        return true;
+      } else {
+        return false;
+      }
+    } catch (Exception $e) {
       $this->clear_cookie_state();
-      return true;
-    } else {
-      return false;
     }
   }
 
@@ -249,10 +254,14 @@ class Facebook {
     if (!$this->in_fb_canvas() && isset($_COOKIE[$this->api_key . '_user'])) {
        $cookies = array('user', 'session_key', 'expires', 'ss');
        foreach ($cookies as $name) {
-         setcookie($this->api_key . '_' . $name, false, time() - 3600);
+         setcookie($this->api_key . '_' . $name,
+                   false,
+                   time() - 3600,
+                   '',
+                   $this->base_domain);
          unset($_COOKIE[$this->api_key . '_' . $name]);
        }
-       setcookie($this->api_key, false, time() - 3600);
+       setcookie($this->api_key, false, time() - 3600, '', $this->base_domain);
        unset($_COOKIE[$this->api_key]);
      }
 
index e79a2ca3433819126fef76d29ea6251dbdaceb76..ed4762215bf53cec4211ea05b30037e2f221e34a 100644 (file)
@@ -60,7 +60,7 @@ class FacebookDesktop extends Facebook {
 
   public function set_session_secret($session_secret) {
     $this->secret = $session_secret;
-    $this->api_client->secret = $session_secret;
+    $this->api_client->use_session_secret($session_secret);
   }
 
   public function require_login() {
diff --git a/plugins/Facebook/facebook/facebook_mobile.php b/plugins/Facebook/facebook/facebook_mobile.php
new file mode 100644 (file)
index 0000000..5ee7f4e
--- /dev/null
@@ -0,0 +1,260 @@
+<?php
+// Copyright 2004-2009 Facebook. All Rights Reserved.
+//
+// +---------------------------------------------------------------------------+
+// | Facebook Platform PHP5 client                                             |
+// +---------------------------------------------------------------------------+
+// | Copyright (c) 2007 Facebook, 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:                                                                  |
+// |                                                                           |
+// | 1. Redistributions of source code must retain the above copyright         |
+// |    notice, this list of conditions and the following disclaimer.          |
+// | 2. 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.   |
+// |                                                                           |
+// | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.         |
+// +---------------------------------------------------------------------------+
+// | For help with this library, contact developers-help@facebook.com          |
+// +---------------------------------------------------------------------------+
+//
+/**
+ *  This class extends and modifies the "Facebook" class to better suit wap
+ *  apps. Since there is no javascript support, we need to use server redirect
+ *  to implement Facebook connect functionalities such as authenticate,
+ *  authorize, feed form etc.. This library provide many helper functions for
+ *  wap developer to locate the right wap url. The url here is targed at
+ *  facebook wap site or wap-friendly url.
+ */
+class FacebookMobile extends Facebook {
+  // the application secret, which differs from the session secret
+
+  public function __construct($api_key, $secret, $generate_session_secret=false) {
+    parent::__construct($api_key, $secret, $generate_session_secret);
+  }
+
+  public function redirect($url) {
+    header('Location: '. $url);
+  }
+
+  public function get_m_url($action, $params) {
+    $page = parent::get_facebook_url('m'). '/' .$action;
+    foreach($params as $key => $val) {
+      if (!$val) {
+        unset($params[$key]);
+      }
+    }
+    return $page . '?' . http_build_query($params);
+  }
+
+  public function get_www_url($action, $params) {
+    $page = parent::get_facebook_url('www'). '/' .$action;
+    foreach($params as $key => $val) {
+      if (!$val) {
+        unset($params[$key]);
+      }
+    }
+    return $page . '?' . http_build_query($params);
+  }
+
+  public function get_add_url($next=null) {
+
+    return $this->get_m_url('add.php', array('api_key' => $this->api_key,
+                                             'next'    => $next));
+  }
+
+  public function get_tos_url($next=null, $cancel = null, $canvas=null) {
+    return $this->get_m_url('tos.php', array('api_key' => $this->api_key,
+                                             'v'       => '1.0',
+                                             'next'    => $next,
+                                             'canvas'  => $canvas,
+                                             'cancel'   => $cancel));
+  }
+
+  public function get_logout_url($next=null) {
+    $params = array('api_key'     => $this->api_key,
+                    'session_key' => $this->api_client->session_key,
+                   );
+
+    if ($next) {
+      $params['connect_next'] = 1;
+      $params['next'] = $next;
+    }
+
+    return $this->get_m_url('logout.php', $params);
+  }
+  public function get_register_url($next=null, $cancel_url=null) {
+    return $this->get_m_url('r.php',
+      array('fbconnect' => 1,
+            'api_key' => $this->api_key,
+            'next' => $next ? $next : parent::current_url(),
+            'cancel_url' => $cancel_url ? $cancel_url : parent::current_url()));
+  }
+  /**
+   * These set of fbconnect style url redirect back to the application current
+   * page when the action is done. Developer can also use the non fbconnect
+   * style url and provide their own redirect link by giving the right parameter
+   * to $next and/or $cancel_url
+   */
+  public function get_fbconnect_register_url() {
+    return $this->get_register_url(parent::current_url(), parent::current_url());
+  }
+  public function get_fbconnect_tos_url() {
+    return $this->get_tos_url(parent::current_url(), parent::current_url(), $this->in_frame());
+  }
+
+  public function get_fbconnect_logout_url() {
+    return $this->get_logout_url(parent::current_url());
+  }
+
+  public function logout_user() {
+    $this->user = null;
+  }
+
+  public function get_prompt_permissions_url($ext_perm,
+                                             $next=null,
+                                             $cancel_url=null) {
+
+    return $this->get_www_url('connect/prompt_permissions.php',
+      array('api_key' => $this->api_key,
+            'ext_perm' => $ext_perm,
+            'next' => $next ? $next : parent::current_url(),
+            'cancel' => $cancel_url ? $cancel_url : parent::current_url(),
+            'display' => 'wap'));
+
+  }
+
+  /**
+   * support both prompt_permissions.php and authorize.php for now.
+   * authorized.php is to be deprecate though.
+   */
+  public function get_extended_permission_url($ext_perm,
+                                              $next=null,
+                                              $cancel_url=null) {
+    $next = $next ? $next : parent::current_url();
+    $cancel_url = $cancel_url ? $cancel_url : parent::current_url();
+
+    return $this->get_m_url('authorize.php',
+                      array('api_key' => $this->api_key,
+                            'ext_perm' => $ext_perm,
+                            'next' => $next,
+                            'cancel_url' => $cancel_url));
+
+  }
+
+  public function render_prompt_feed_url($action_links=NULL,
+                                         $target_id=NULL,
+                                         $message='',
+                                         $user_message_prompt='',
+                                         $caption=NULL,
+                                         $callback ='',
+                                         $cancel='',
+                                         $attachment=NULL,
+                                         $preview=true) {
+
+    $params = array('api_key'     => $this->api_key,
+                    'session_key' => $this->api_client->session_key,
+                   );
+    if (!empty($attachment)) {
+      $params['attachment'] = urlencode(json_encode($attachment));
+    } else {
+      $attachment = new stdClass();
+      $app_display_info = $this->api_client->admin_getAppProperties(array('application_name',
+                                                                          'callback_url',
+                                                                          'description',
+                                                                          'logo_url'));
+      $app_display_info = $app_display_info;
+      $attachment->name = $app_display_info['application_name'];
+      $attachment->caption = !empty($caption) ? $caption : 'Just see what\'s new!';
+      $attachment->description = $app_display_info['description'];
+      $attachment->href = $app_display_info['callback_url'];
+      if (!empty($app_display_info['logo_url'])) {
+        $logo = new stdClass();
+        $logo->type = 'image';
+        $logo->src = $app_display_info['logo_url'];
+        $logo->href = $app_display_info['callback_url'];
+        $attachment->media = array($logo);
+      }
+      $params['attachment'] = urlencode(json_encode($attachment));
+    }
+    $params['preview'] = $preview;
+    $params['message'] = $message;
+    $params['user_message_prompt'] = $user_message_prompt;
+    if (!empty($callback)) {
+      $params['callback'] = $callback;
+    } else {
+      $params['callback'] = $this->current_url();
+    }
+    if (!empty($cancel)) {
+      $params['cancel'] = $cancel;
+    } else {
+      $params['cancel'] = $this->current_url();
+    }
+
+    if (!empty($target_id)) {
+      $params['target_id'] = $target_id;
+    }
+    if (!empty($action_links)) {
+      $params['action_links'] = urlencode(json_encode($action_links));
+    }
+
+    $params['display'] = 'wap';
+    header('Location: '. $this->get_www_url('connect/prompt_feed.php', $params));
+  }
+
+//use template_id
+  public function render_feed_form_url($template_id=NULL,
+                                       $template_data=NULL,
+                                       $user_message=NULL,
+                                       $body_general=NULL,
+                                       $user_message_prompt=NULL,
+                                       $target_id=NULL,
+                                       $callback=NULL,
+                                       $cancel=NULL,
+                                       $preview=true) {
+
+    $params = array('api_key' => $this->api_key);
+    $params['preview'] = $preview;
+    if (isset($template_id) && $template_id) {
+      $params['template_id'] = $template_id;
+    }
+    $params['message'] = $user_message ? $user_message['value'] : '';
+    if (isset($body_general) && $body_general) {
+      $params['body_general'] = $body_general;
+    }
+    if (isset($user_message_prompt) && $user_message_prompt) {
+      $params['user_message_prompt'] = $user_message_prompt;
+    }
+    if (isset($callback) && $callback) {
+      $params['callback'] = $callback;
+    } else {
+      $params['callback'] = $this->current_url();
+    }
+    if (isset($cancel) && $cancel) {
+      $params['cancel'] = $cancel;
+    } else {
+      $params['cancel'] = $this->current_url();
+    }
+    if (isset($template_data) && $template_data) {
+      $params['template_data'] = $template_data;
+    }
+    if (isset($target_id) && $target_id) {
+      $params['to_ids'] = $target_id;
+    }
+    $params['display'] = 'wap';
+    header('Location: '. $this->get_www_url('connect/prompt_feed.php', $params));
+  }
+}
index 55cb7fb86a9a7f23b4a2f6a44ae9c5bb733dcddd..fa1088cd00bffedbcd3d7af4593b5d4e998b7c1f 100755 (executable)
@@ -56,6 +56,8 @@ class FacebookRestClient {
   private $call_as_apikey;
   private $use_curl_if_available;
   private $format = null;
+  private $using_session_secret = false;
+  private $rawData = null;
 
   const BATCH_MODE_DEFAULT = 0;
   const BATCH_MODE_SERVER_PARALLEL = 0;
@@ -76,7 +78,10 @@ class FacebookRestClient {
     $this->last_call_id = 0;
     $this->call_as_apikey = '';
     $this->use_curl_if_available = true;
-    $this->server_addr  = Facebook::get_facebook_url('api') . '/restserver.php';
+    $this->server_addr =
+      Facebook::get_facebook_url('api') . '/restserver.php';
+    $this->photo_server_addr =
+      Facebook::get_facebook_url('api-photo') . '/restserver.php';
 
     if (!empty($GLOBALS['facebook_config']['debug'])) {
       $this->cur_id = 0;
@@ -128,6 +133,16 @@ function toggleDisplay(id, type) {
     $this->user = $uid;
   }
 
+
+  /**
+   * Switch to use the session secret instead of the app secret,
+   * for desktop and unsecured environment
+   */
+  public function use_session_secret($session_secret) {
+    $this->secret = $session_secret;
+    $this->using_session_secret = true;
+  }
+
   /**
    * Normally, if the cURL library/PHP extension is available, it is used for
    * HTTP transactions.  This allows that behavior to be overridden, falling
@@ -270,25 +285,35 @@ function toggleDisplay(id, type) {
   /**
    * Returns the session information available after current user logs in.
    *
-   * @param string $auth_token             the token returned by
-   *                                       auth_createToken or passed back to
-   *                                       your callback_url.
-   * @param bool $generate_session_secret  whether the session returned should
-   *                                       include a session secret
+   * @param string $auth_token the token returned by auth_createToken or
+   *               passed back to your callback_url.
+   * @param bool $generate_session_secret whether the session returned should
+   *             include a session secret
+   * @param string $host_url the connect site URL for which the session is
+   *               being generated.  This parameter is optional, unless
+   *               you want Facebook to determine which of several base domains
+   *               to choose from.  If this third argument isn't provided but
+   *               there are several base domains, the first base domain is
+   *               chosen.
    *
    * @return array  An assoc array containing session_key, uid
    */
-  public function auth_getSession($auth_token, $generate_session_secret=false) {
+  public function auth_getSession($auth_token,
+                                  $generate_session_secret = false,
+                                  $host_url = null) {
     if (!$this->pending_batch()) {
-      $result = $this->call_method('facebook.auth.getSession',
-          array('auth_token' => $auth_token,
-                'generate_session_secret' => $generate_session_secret));
+      $result = $this->call_method(
+        'facebook.auth.getSession',
+        array('auth_token' => $auth_token,
+              'generate_session_secret' => $generate_session_secret,
+              'host_url' => $host_url));
       $this->session_key = $result['session_key'];
 
-    if (!empty($result['secret']) && !$generate_session_secret) {
-      // desktop apps have a special secret
-      $this->secret = $result['secret'];
-    }
+      if (!empty($result['secret']) && !$generate_session_secret) {
+        // desktop apps have a special secret
+        $this->secret = $result['secret'];
+      }
+
       return $result;
     }
   }
@@ -519,13 +544,34 @@ function toggleDisplay(id, type) {
       return $this->call_upload_method('facebook.events.create',
         array('event_info' => $event_info),
         $file,
-        Facebook::get_facebook_url('api-photo') . '/restserver.php');
+        $this->photo_server_addr);
     } else {
       return $this->call_method('facebook.events.create',
         array('event_info' => $event_info));
     }
   }
 
+  /**
+   * Invites users to an event. If a session user exists, the session user
+   * must have permissions to invite friends to the event and $uids must contain
+   * a list of friend ids. Otherwise, the event must have been
+   * created by the app and $uids must contain users of the app.
+   * This method requires the 'create_event' extended permission to
+   * invite people on behalf of a user.
+   *
+   * @param $eid   the event id
+   * @param $uids  an array of users to invite
+   * @param $personal_message  a string containing the user's message
+   *                           (text only)
+   *
+   */
+  public function events_invite($eid, $uids, $personal_message) {
+    return $this->call_method('facebook.events.invite',
+                              array('eid' => $eid,
+                                    'uids' => $uids,
+                                    'personal_message', $personal_message));
+  }
+
   /**
    * Edits an existing event. Only works for events where application is admin.
    *
@@ -540,7 +586,7 @@ function toggleDisplay(id, type) {
       return $this->call_upload_method('facebook.events.edit',
         array('eid' => $eid, 'event_info' => $event_info),
         $file,
-        Facebook::get_facebook_url('api-photo') . '/restserver.php');
+        $this->photo_server_addr);
     } else {
       return $this->call_method('facebook.events.edit',
         array('eid' => $eid,
@@ -576,21 +622,7 @@ function toggleDisplay(id, type) {
         array('url' => $url));
   }
 
-  /**
-   * Lets you insert text strings in their native language into the Facebook
-   * Translations database so they can be translated.
-   *
-   * @param array $native_strings  An array of maps, where each map has a 'text'
-   *                               field and a 'description' field.
-   *
-   * @return int  Number of strings uploaded.
-   */
-  public function &fbml_uploadNativeStrings($native_strings) {
-    return $this->call_method('facebook.fbml.uploadNativeStrings',
-        array('native_strings' => json_encode($native_strings)));
-  }
-
-  /**
+ /**
    * Associates a given "handle" with FBML markup so that the handle can be
    * used within the fb:ref FBML tag. A handle is unique within an application
    * and allows an application to publish identical FBML to many user profiles
@@ -668,7 +700,44 @@ function toggleDisplay(id, type) {
                               array('tag_names' => json_encode($tag_names)));
   }
 
+  /**
+   * Gets the best translations for native strings submitted by an application
+   * for translation. If $locale is not specified, only native strings and their
+   * descriptions are returned. If $all is true, then unapproved translations
+   * are returned as well, otherwise only approved translations are returned.
+   *
+   * A mapping of locale codes -> language names is available at
+   * http://wiki.developers.facebook.com/index.php/Facebook_Locales
+   *
+   * @param string $locale the locale to get translations for, or 'all' for all
+   *                       locales, or 'en_US' for native strings
+   * @param bool   $all    whether to return all or only approved translations
+   *
+   * @return array (locale, array(native_strings, array('best translation
+   *                available given enough votes or manual approval', approval
+   *                                                                  status)))
+   * @error API_EC_PARAM
+   * @error API_EC_PARAM_BAD_LOCALE
+   */
+  public function &intl_getTranslations($locale = 'en_US', $all = false) {
+    return $this->call_method('facebook.intl.getTranslations',
+                              array('locale' => $locale,
+                                    'all'    => $all));
+  }
 
+  /**
+   * Lets you insert text strings in their native language into the Facebook
+   * Translations database so they can be translated.
+   *
+   * @param array $native_strings  An array of maps, where each map has a 'text'
+   *                               field and a 'description' field.
+   *
+   * @return int  Number of strings uploaded.
+   */
+  public function &intl_uploadNativeStrings($native_strings) {
+    return $this->call_method('facebook.intl.uploadNativeStrings',
+        array('native_strings' => json_encode($native_strings)));
+  }
 
   /**
    * This method is deprecated for calls made on behalf of users. This method
@@ -1248,6 +1317,87 @@ function toggleDisplay(id, type) {
               'test_mode' => $test_mode)), true);
   }
 
+  /**
+   * Gifts API
+   */
+
+  /**
+   * Get Gifts associated with an app
+   *
+   * @return             array of gifts
+   */
+  public function gifts_get() {
+    return json_decode(
+        $this->call_method('facebook.gifts.get',
+                           array()),
+        true
+        );
+  }
+
+  /*
+   * Update gifts stored by an app
+   *
+   * @param array containing gift_id => gift_data to be updated
+   * @return array containing gift_id => true/false indicating success
+   *                                     in updating that gift
+   */
+  public function gifts_update($update_array) {
+    return json_decode(
+      $this->call_method('facebook.gifts.update',
+                         array('update_str' => json_encode($update_array))
+                        ),
+      true
+    );
+  }
+
+  /**
+   * Dashboard API
+   */
+
+  /**
+   * Set the news for the specified user.
+   *
+   * @param int    $uid     The user for whom you are setting news for
+   * @param string $news    Text of news to display
+   *
+   * @return bool   Success
+   */
+  public function dashboard_setNews($uid, $news) {
+    return $this->call_method('facebook.dashboard.setNews',
+                              array('uid'  => $uid,
+                                    'news' => $news)
+                             );
+  }
+
+  /**
+   * Get the current news of the specified user.
+   *
+   * @param int    $uid     The user to get the news of
+   *
+   * @return string   The text of the current news for the user
+   */
+  public function dashboard_getNews($uid) {
+    return json_decode(
+      $this->call_method('facebook.dashboard.getNews',
+                         array('uid' => $uid)
+                        ), true);
+  }
+
+  /**
+   * Set the news for the specified user.
+   *
+   * @param int    $uid     The user you are clearing the news of
+   *
+   * @return bool   Success
+   */
+  public function dashboard_clearNews($uid) {
+    return $this->call_method('facebook.dashboard.clearNews',
+                              array('uid' => $uid)
+                             );
+  }
+
+
+
   /**
    * Creates a note with the specified title and content.
    *
@@ -1795,14 +1945,20 @@ function toggleDisplay(id, type) {
                               $start_time = 0,
                               $end_time = 0,
                               $limit = 30,
-                              $filter_key = '') {
+                              $filter_key = '',
+                              $exportable_only = false,
+                              $metadata = null,
+                              $post_ids = null) {
     $args = array(
       'viewer_id'  => $viewer_id,
       'source_ids' => $source_ids,
       'start_time' => $start_time,
       'end_time'   => $end_time,
       'limit'      => $limit,
-      'filter_key' => $filter_key);
+      'filter_key' => $filter_key,
+      'exportable_only' => $exportable_only,
+      'metadata' => $metadata,
+      'post_ids' => $post_ids);
     return $this->call_method('facebook.stream.get', $args);
   }
 
@@ -1949,97 +2105,6 @@ function toggleDisplay(id, type) {
               'options' => json_encode($options)));
   }
 
-  /**
-   * Get all the marketplace categories.
-   *
-   * @return array  A list of category names
-   */
-  function marketplace_getCategories() {
-    return $this->call_method('facebook.marketplace.getCategories',
-        array());
-  }
-
-  /**
-   * Get all the marketplace subcategories for a particular category.
-   *
-   * @param  category  The category for which we are pulling subcategories
-   *
-   * @return array A list of subcategory names
-   */
-  function marketplace_getSubCategories($category) {
-    return $this->call_method('facebook.marketplace.getSubCategories',
-        array('category' => $category));
-  }
-
-  /**
-   * Get listings by either listing_id or user.
-   *
-   * @param listing_ids   An array of listing_ids (optional)
-   * @param uids          An array of user ids (optional)
-   *
-   * @return array  The data for matched listings
-   */
-  function marketplace_getListings($listing_ids, $uids) {
-    return $this->call_method('facebook.marketplace.getListings',
-        array('listing_ids' => $listing_ids, 'uids' => $uids));
-  }
-
-  /**
-   * Search for Marketplace listings.  All arguments are optional, though at
-   * least one must be filled out to retrieve results.
-   *
-   * @param category     The category in which to search (optional)
-   * @param subcategory  The subcategory in which to search (optional)
-   * @param query        A query string (optional)
-   *
-   * @return array  The data for matched listings
-   */
-  function marketplace_search($category, $subcategory, $query) {
-    return $this->call_method('facebook.marketplace.search',
-        array('category' => $category,
-              'subcategory' => $subcategory,
-              'query' => $query));
-  }
-
-  /**
-   * Remove a listing from Marketplace.
-   *
-   * @param listing_id  The id of the listing to be removed
-   * @param status      'SUCCESS', 'NOT_SUCCESS', or 'DEFAULT'
-   *
-   * @return bool  True on success
-   */
-  function marketplace_removeListing($listing_id,
-                                     $status='DEFAULT',
-                                     $uid=null) {
-    return $this->call_method('facebook.marketplace.removeListing',
-        array('listing_id' => $listing_id,
-              'status' => $status,
-              'uid' => $uid));
-  }
-
-  /**
-   * Create/modify a Marketplace listing for the loggedinuser.
-   *
-   * @param int              listing_id  The id of a listing to be modified, 0
-   *                                     for a new listing.
-   * @param show_on_profile  bool        Should we show this listing on the
-   *                                     user's profile
-   * @param listing_attrs    array       An array of the listing data
-   *
-   * @return int  The listing_id (unchanged if modifying an existing listing).
-   */
-  function marketplace_createListing($listing_id,
-                                     $show_on_profile,
-                                     $attrs,
-                                     $uid=null) {
-    return $this->call_method('facebook.marketplace.createListing',
-        array('listing_id' => $listing_id,
-              'show_on_profile' => $show_on_profile,
-              'listing_attrs' => json_encode($attrs),
-              'uid' => $uid));
-  }
-
   /////////////////////////////////////////////////////////////////////////////
   // Data Store API
 
@@ -2875,6 +2940,35 @@ function toggleDisplay(id, type) {
        array('properties' => json_encode($properties)));
   }
 
+  /**
+   * Sets href and text for a Live Stream Box xid's via link
+   *
+   * @param  string  $xid       xid of the Live Stream
+   * @param  string  $via_href  Href for the via link
+   * @param  string  $via_text  Text for the via link
+   *
+   * @return boolWhether the set was successful
+   */
+  public function admin_setLiveStreamViaLink($xid, $via_href, $via_text) {
+    return $this->call_method('facebook.admin.setLiveStreamViaLink',
+                              array('xid'      => $xid,
+                                    'via_href' => $via_href,
+                                    'via_text' => $via_text));
+  }
+
+  /**
+   * Gets href and text for a Live Stream Box xid's via link
+   *
+   * @param  string  $xid  xid of the Live Stream
+   *
+   * @return Array  Associative array with keys 'via_href' and 'via_text'
+   *                False if there was an error.
+   */
+  public function admin_getLiveStreamViaLink($xid) {
+    return $this->call_method('facebook.admin.getLiveStreamViaLink',
+                              array('xid' => $xid));
+  }
+
   /**
    * Returns the allocation limit value for a specified integration point name
    * Integration point names are defined in lib/api/karma/constants.php in the
@@ -3012,6 +3106,7 @@ function toggleDisplay(id, type) {
         $params['call_as_apikey'] = $this->call_as_apikey;
       }
       $data = $this->post_request($method, $params);
+      $this->rawData = $data;
       $result = $this->convert_result($data, $method, $params);
       if (is_array($result) && isset($result['error_code'])) {
         throw new FacebookRestClientException($result['error_msg'],
@@ -3053,6 +3148,16 @@ function toggleDisplay(id, type) {
     return $this->format;
   }
 
+  /**
+   * Returns the raw JSON or XML output returned by the server in the most
+   * recent API call.
+   *
+   * @return string
+   */
+   public function getRawData() {
+     return $this->rawData;
+   }
+
   /**
    * Calls the specified file-upload POST method with the specified parameters
    *
@@ -3144,6 +3249,10 @@ function toggleDisplay(id, type) {
     if ($this->call_as_apikey) {
       $get['call_as_apikey'] = $this->call_as_apikey;
     }
+    if ($this->using_session_secret) {
+      $get['ss'] = '1';
+    }
+
     $get['method'] = $method;
     $get['session_key'] = $this->session_key;
     $get['api_key'] = $this->api_key;
@@ -3241,7 +3350,7 @@ function toggleDisplay(id, type) {
       return $result;
   }
 
-  private function post_upload_request($method, $params, $file, $server_addr = null) {
+  protected function post_upload_request($method, $params, $file, $server_addr = null) {
     $server_addr = $server_addr ? $server_addr : $this->server_addr;
     list($get, $post) = $this->finalize_params($method, $params);
     $get_string = $this->create_url_string($get);
@@ -3345,6 +3454,8 @@ class FacebookAPIErrorCodes {
   const API_EC_VERSION = 12;
   const API_EC_INTERNAL_FQL_ERROR = 13;
   const API_EC_HOST_PUP = 14;
+  const API_EC_SESSION_SECRET_NOT_ALLOWED = 15;
+  const API_EC_HOST_READONLY = 16;
 
   /*
    * PARAMETER ERRORS
@@ -3372,6 +3483,8 @@ class FacebookAPIErrorCodes {
   const API_EC_PARAM_BAD_EID = 150;
   const API_EC_PARAM_UNKNOWN_CITY = 151;
   const API_EC_PARAM_BAD_PAGE_TYPE = 152;
+  const API_EC_PARAM_BAD_LOCALE = 170;
+  const API_EC_PARAM_BLOCKED_NOTIFICATION = 180;
 
   /*
    * USER PERMISSIONS ERRORS
@@ -3394,6 +3507,7 @@ class FacebookAPIErrorCodes {
   const API_EC_PERMISSION_EVENT = 290;
   const API_EC_PERMISSION_LARGE_FBML_TEMPLATE = 291;
   const API_EC_PERMISSION_LIVEMESSAGE = 292;
+  const API_EC_PERMISSION_CREATE_EVENT = 296;
   const API_EC_PERMISSION_RSVP_EVENT = 299;
 
   /*
@@ -3469,6 +3583,8 @@ class FacebookAPIErrorCodes {
   const FQL_EC_EXTENDED_PERMISSION = 612;
   const FQL_EC_RATE_LIMIT_EXCEEDED = 613;
   const FQL_EC_UNRESOLVED_DEPENDENCY = 614;
+  const FQL_EC_INVALID_SEARCH = 615;
+  const FQL_EC_CONTAINS_ERROR = 616;
 
   const API_EC_REF_SET_FAILED = 700;
 
@@ -3506,6 +3622,7 @@ class FacebookAPIErrorCodes {
    * EVENT API ERRORS
    */
   const API_EC_EVENT_INVALID_TIME = 1000;
+  const API_EC_EVENT_NAME_LOCKED  = 1001;
 
   /*
    * INFO BOX ERRORS
@@ -3566,6 +3683,21 @@ class FacebookAPIErrorCodes {
   const API_EC_COMMENTS_INVALID_POST = 1705;
   const API_EC_COMMENTS_INVALID_REMOVE = 1706;
 
+  /*
+   * GIFTS
+   */
+  const API_EC_GIFTS_UNKNOWN = 1900;
+
+  /*
+   * APPLICATION MORATORIUM ERRORS
+   */
+  const API_EC_DISABLED_ALL = 2000;
+  const API_EC_DISABLED_STATUS = 2001;
+  const API_EC_DISABLED_FEED_STORIES = 2002;
+  const API_EC_DISABLED_NOTIFICATIONS = 2003;
+  const API_EC_DISABLED_REQUESTS = 2004;
+  const API_EC_DISABLED_EMAIL = 2005;
+
   /**
    * This array is no longer maintained; to view the description of an error
    * code, please look at the message element of the API response or visit
index 3e8c5cf4123f6624b64719278627ad116f79c917..bf9c037a579b791e240d99767005bcbe61d9aee1 100644 (file)
@@ -294,63 +294,7 @@ class FacebookAction extends Action
         $app_props = $this->facebook->api_client->Admin_getAppProperties(array('icon_url'));
         $icon_url = $app_props['icon_url'];
 
-        $style = '<style>
-     .entry-title *,
-     .entry-content * {
-     font-size:14px;
-     font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
-     }
-     .entry-title a,
-     .entry-content a {
-     color:#002E6E;
-     }
-
-         .entry-title .vcard .photo {
-         float:left;
-         display:inline;
-     margin-right:11px;
-     margin-bottom:11px
-         }
-     .entry-title {
-     margin-bottom:11px;
-     }
-         .entry-title p.entry-content {
-         display:inline;
-     margin-left:5px;
-         }
-
-     div.entry-content {
-     clear:both;
-     }
-         div.entry-content dl,
-         div.entry-content dt,
-         div.entry-content dd {
-         display:inline;
-     text-transform:lowercase;
-         }
-
-         div.entry-content dd,
-     div.entry-content .device dt {
-     margin-left:0;
-     margin-right:5px;
-         }
-         div.entry-content dl.timestamp dt,
-     div.entry-content dl.response dt {
-         display:none;
-         }
-         div.entry-content dd a {
-         display:inline-block;
-         }
-
-     #facebook_statusnet_app {
-     text-indent:-9999px;
-     height:16px;
-     width:16px;
-     display:block;
-     background:url('.$icon_url.') no-repeat 0 0;
-     float:right;
-     }
-         </style>';
+        $style = '<style> .entry-title *, .entry-content * { font-size:14px; font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif; } .entry-title a, .entry-content a { color:#002E6E; } .entry-title .vcard .photo { float:left; display:inline; margin-right:11px; margin-bottom:11px } .entry-title { margin-bottom:11px; } .entry-title p.entry-content { display:inline; margin-left:5px; } div.entry-content { clear:both; } div.entry-content dl, div.entry-content dt, div.entry-content dd { display:inline; text-transform:lowercase; } div.entry-content dd, div.entry-content .device dt { margin-left:0; margin-right:5px; } div.entry-content dl.timestamp dt, div.entry-content dl.response dt { display:none; } div.entry-content dd a { display:inline-block; } #facebook_statusnet_app { text-indent:-9999px; height:16px; width:16px; display:block; background:url('.$icon_url.') no-repeat 0 0; float:right; } </style>';
 
         $this->xw->openMemory();
 
index 857a9794d500526f773eee57bd7f3df9b2279f7e..e49e2a648a044d93d48b9a7eca1523a2f6032e38 100644 (file)
@@ -105,12 +105,11 @@ class FeedSubPlugin extends Plugin
         return true;
     }
 
-    /*
-    // auto increment seems to be broken
     function onCheckSchema() {
+        // warning: the autoincrement doesn't seem to set.
+        // alter table feedinfo change column id id int(11) not null  auto_increment;
         $schema = Schema::get();
-        $schema->ensureDataObject('Feedinfo');
+        $schema->ensureTable('feedinfo', Feedinfo::schemaDef());
         return true;
     }
-    */
 }
index fff66afe97a1d3a51a64f86a4c792d36172513c8..b166bd6e12e4b68796a484901d15d0eff69e67b7 100644 (file)
@@ -31,7 +31,7 @@ class FeedDBException extends FeedSubException
     }
 }
 
-class Feedinfo extends Plugin_DataObject
+class Feedinfo extends Memcached_DataObject
 {
     public $__table = 'feedinfo';
 
@@ -56,34 +56,90 @@ class Feedinfo extends Plugin_DataObject
         return parent::staticGet(__CLASS__, $k, $v);
     }
 
-    function tableDef()
+    /**
+     * 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('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+                     'profile_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+                     'feeduri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
+                     'homeuri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
+                     'huburi' =>  DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
+                     'verify_token' => DB_DATAOBJECT_STR,
+                     'sub_start' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
+                     'sub_end' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
+                     'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
+                     'lastupdate' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
+    }
+    
+    static function schemaDef()
+    {
+        return array(new ColumnDef('id', 'integer',
+                                   /*size*/ null,
+                                   /*nullable*/ false,
+                                   /*key*/ 'PRI',
+                                   /*default*/ '0',
+                                   /*extra*/ null,
+                                   /*auto_increment*/ true),
+                     new ColumnDef('profile_id', 'integer',
+                                   null, false),
+                     new ColumnDef('feeduri', 'varchar',
+                                   255, false, 'UNI'),
+                     new ColumnDef('homeuri', 'varchar',
+                                   255, false),
+                     new ColumnDef('huburi', 'varchar',
+                                   255, false),
+                     new ColumnDef('verify_token', 'varchar',
+                                   32, true),
+                     new ColumnDef('sub_start', 'datetime',
+                                   null, true),
+                     new ColumnDef('sub_end', 'datetime',
+                                   null, true),
+                     new ColumnDef('created', 'datetime',
+                                   null, false),
+                     new ColumnDef('lastupdate', 'datetime',
+                                   null, false));
+    }
+
+    /**
+     * return key definitions for DB_DataObject
+     *
+     * DB_DataObject needs to know about keys that the table has; this function
+     * defines them.
+     *
+     * @return array key definitions
+     */
+
+    function keys()
     {
-        class_exists('Schema'); // autoload hack
-        // warning: the autoincrement doesn't seem to set.
-        // alter table feedinfo change column id id int(11) not null  auto_increment;
-        return new TableDef($this->__table,
-                            array(new ColumnDef('id', 'integer',
-                                                null, false, 'PRI', '0', null, true),
-                                  new ColumnDef('profile_id', 'integer',
-                                                null, false),
-                                  new ColumnDef('feeduri', 'varchar',
-                                                255, false, 'UNI'),
-                                  new ColumnDef('homeuri', 'varchar',
-                                                255, false),
-                                  new ColumnDef('huburi', 'varchar',
-                                                255, false),
-                                  new ColumnDef('verify_token', 'varchar',
-                                                32, true),
-                                  new ColumnDef('sub_start', 'datetime',
-                                                null, true),
-                                  new ColumnDef('sub_end', 'datetime',
-                                                null, true),
-                                  new ColumnDef('created', 'datetime',
-                                                null, false),
-                                  new ColumnDef('lastupdate', 'datetime',
-                                                null, false)));
+        return array('id' => 'P'); //?
     }
 
+    /**
+     * return key definitions for Memcached_DataObject
+     *
+     * Our caching system uses the same key definitions, but uses a different
+     * method to get them.
+     *
+     * @return array key definitions
+     */
+
+    function keyTypes()
+    {
+        return $this->keys();
+    }
+
+    /**
+     * Fetch the StatusNet-side profile for this feed
+     * @return Profile
+     */
     public function getProfile()
     {
         return Profile::staticGet('id', $this->profile_id);
index 30ff2c27881c7549e3e49402c7a978134a59ff51..01178f39c0f4c246089246ec792bf5476752daef 100644 (file)
@@ -116,4 +116,16 @@ class GeoURLPlugin extends Plugin
 
         return true;
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'GeoURL',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:GeoURL',
+                            'rawdescription' =>
+                            _m('Ping <a href="http://geourl.org/">GeoURL</a> when '.
+                               'new geolocation-enhanced notices are posted.'));
+        return true;
+    }
 }
index df99c7849b4b68255e85cc57072d32a6065f6752..52cc9c97f94b48a52c7dcdaae09a3e0eb97b371c 100644 (file)
@@ -76,38 +76,25 @@ class GeonamesPlugin extends Plugin
             return false;
         }
 
-        $client = HTTPClient::start();
-
-        // XXX: break down a name by commas, narrow by each
-
-        $result = $client->get($this->wsUrl('search',
-                                            array('maxRows' => 1,
-                                                  'q' => $name,
-                                                  'lang' => $language,
-                                                  'type' => 'json')));
-
-        if (!$result->isOk()) {
-            $this->log(LOG_WARNING, "Error code " . $result->code .
-                       " from " . $this->host . " for $name");
-            return true;
-        }
-
-        $rj = json_decode($result->getBody());
-
-        if (count($rj->geonames) <= 0) {
-            $this->log(LOG_WARNING, "No results in response from " .
-                       $this->host . " for $name");
+        try {
+            $geonames = $this->getGeonames('search',
+                                           array('maxRows' => 1,
+                                                 'q' => $name,
+                                                 'lang' => $language,
+                                                 'type' => 'xml'));
+        } catch (Exception $e) {
+            $this->log(LOG_WARNING, "Error for $name: " . $e->getMessage());
             return true;
         }
 
-        $n = $rj->geonames[0];
+        $n = $geonames[0];
 
         $location = new Location();
 
-        $location->lat              = $n->lat;
-        $location->lon              = $n->lng;
-        $location->names[$language] = $n->name;
-        $location->location_id      = $n->geonameId;
+        $location->lat              = (string)$n->lat;
+        $location->lon              = (string)$n->lng;
+        $location->names[$language] = (string)$n->name;
+        $location->location_id      = (string)$n->geonameId;
         $location->location_ns      = self::LOCATION_NS;
 
         $this->setCache(array('name' => $name,
@@ -143,54 +130,41 @@ class GeonamesPlugin extends Plugin
             return false;
         }
 
-        $client = HTTPClient::start();
-
-        $result = $client->get($this->wsUrl('hierarchyJSON',
-                                            array('geonameId' => $id,
-                                                  'lang' => $language)));
-
-        if (!$result->isOk()) {
-            $this->log(LOG_WARNING,
-                       "Error code " . $result->code .
-                       " from " . $this->host . " for ID $id");
-            return false;
-        }
-
-        $rj = json_decode($result->getBody());
-
-        if (count($rj->geonames) <= 0) {
-            $this->log(LOG_WARNING,
-                       "No results in response from " .
-                       $this->host . " for ID $id");
+        try {
+            $geonames = $this->getGeonames('hierarchy',
+                                           array('geonameId' => $id,
+                                                 'lang' => $language));
+        } catch (Exception $e) {
+            $this->log(LOG_WARNING, "Error for ID $id: " . $e->getMessage());
             return false;
         }
 
         $parts = array();
 
-        foreach ($rj->geonames as $level) {
+        foreach ($geonames as $level) {
             if (in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
-                $parts[] = $level->name;
+                $parts[] = (string)$level->name;
             }
         }
 
-        $last = $rj->geonames[count($rj->geonames)-1];
+        $last = $geonames[count($geonames)-1];
 
         if (!in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
-            $parts[] = $last->name;
+            $parts[] = (string)$last->name;
         }
 
         $location = new Location();
 
-        $location->location_id      = $last->geonameId;
+        $location->location_id      = (string)$last->geonameId;
         $location->location_ns      = self::LOCATION_NS;
-        $location->lat              = $last->lat;
-        $location->lon              = $last->lng;
+        $location->lat              = (string)$last->lat;
+        $location->lon              = (string)$last->lng;
         $location->names[$language] = implode(', ', array_reverse($parts));
 
-        $this->setCache(array('id' => $last->geonameId),
+        $this->setCache(array('id' => (string)$last->geonameId),
                         $location);
 
-        // We're responsible for this NAMESPACE; nobody else
+        // We're responsible for this namespace; nobody else
         // can resolve it
 
         return false;
@@ -223,50 +197,36 @@ class GeonamesPlugin extends Plugin
             return false;
         }
 
-        $client = HTTPClient::start();
-
-        $result =
-          $client->get($this->wsUrl('findNearbyPlaceNameJSON',
-                                    array('lat' => $lat,
-                                          'lng' => $lon,
-                                          'lang' => $language)));
-
-        if (!$result->isOk()) {
-            $this->log(LOG_WARNING,
-                       "Error code " . $result->code .
-                       " from " . $this->host . " for coords $lat, $lon");
+        try {
+          $geonames = $this->getGeonames('findNearbyPlaceName',
+                                         array('lat' => $lat,
+                                               'lng' => $lon,
+                                               'lang' => $language));
+        } catch (Exception $e) {
+            $this->log(LOG_WARNING, "Error for coords $lat, $lon: " . $e->getMessage());
             return true;
         }
 
-        $rj = json_decode($result->getBody());
-
-        if (count($rj->geonames) <= 0) {
-            $this->log(LOG_WARNING,
-                       "No results in response from " .
-                       $this->host . " for coords $lat, $lon");
-            return true;
-        }
-
-        $n = $rj->geonames[0];
+        $n = $geonames[0];
 
         $parts = array();
 
         $location = new Location();
 
-        $parts[] = $n->name;
+        $parts[] = (string)$n->name;
 
         if (!empty($n->adminName1)) {
-            $parts[] = $n->adminName1;
+            $parts[] = (string)$n->adminName1;
         }
 
         if (!empty($n->countryName)) {
-            $parts[] = $n->countryName;
+            $parts[] = (string)$n->countryName;
         }
 
-        $location->location_id = $n->geonameId;
+        $location->location_id = (string)$n->geonameId;
         $location->location_ns = self::LOCATION_NS;
-        $location->lat         = $lat;
-        $location->lon         = $lon;
+        $location->lat         = (string)$lat;
+        $location->lon         = (string)$lon;
 
         $location->names[$language] = implode(', ', $parts);
 
@@ -299,7 +259,9 @@ class GeonamesPlugin extends Plugin
             return true;
         }
 
-        $n = $this->getCache(array('id' => $location->location_id,
+        $id = $location->location_id;
+
+        $n = $this->getCache(array('id' => $id,
                                    'language' => $language));
 
         if (!empty($n)) {
@@ -307,45 +269,32 @@ class GeonamesPlugin extends Plugin
             return false;
         }
 
-        $client = HTTPClient::start();
-
-        $result = $client->get($this->wsUrl('hierarchyJSON',
-                                            array('geonameId' => $location->location_id,
-                                                  'lang' => $language)));
-
-        if (!$result->isOk()) {
-            $this->log(LOG_WARNING,
-                       "Error code " . $result->code .
-                       " from " . $this->host . " for ID " . $location->location_id);
-            return false;
-        }
-
-        $rj = json_decode($result->getBody());
-
-        if (count($rj->geonames) <= 0) {
-            $this->log(LOG_WARNING,
-                       "No results " .
-                       " from " . $this->host . " for ID " . $location->location_id);
+        try {
+            $geonames = $this->getGeonames('hierarchy',
+                                           array('geonameId' => $id,
+                                                 'lang' => $language));
+        } catch (Exception $e) {
+            $this->log(LOG_WARNING, "Error for ID $id: " . $e->getMessage());
             return false;
         }
 
         $parts = array();
 
-        foreach ($rj->geonames as $level) {
+        foreach ($geonames as $level) {
             if (in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
-                $parts[] = $level->name;
+                $parts[] = (string)$level->name;
             }
         }
 
-        $last = $rj->geonames[count($rj->geonames)-1];
+        $last = $geonames[count($geonames)-1];
 
         if (!in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
-            $parts[] = $last->name;
+            $parts[] = (string)$last->name;
         }
 
         if (count($parts)) {
             $name = implode(', ', array_reverse($parts));
-            $this->setCache(array('id' => $location->location_id,
+            $this->setCache(array('id' => $id,
                                   'language' => $language),
                             $name);
         }
@@ -354,7 +303,7 @@ class GeonamesPlugin extends Plugin
     }
 
     /**
-     * Human-readable name for a location
+     * Human-readable URL for a location
      *
      * Given a location, we try to retrieve a geonames.org URL.
      *
@@ -452,4 +401,41 @@ class GeonamesPlugin extends Plugin
 
         return 'http://'.$this->host.'/'.$method.'?'.$str;
     }
+
+    function getGeonames($method, $params)
+    {
+        $client = HTTPClient::start();
+
+        $result = $client->get($this->wsUrl($method, $params));
+
+        if (!$result->isOk()) {
+            throw new Exception("HTTP error code " . $result->code);
+        }
+
+        $document = new SimpleXMLElement($result->getBody());
+
+        if (empty($document)) {
+            throw new Exception("No results in response");
+        }
+
+        if (isset($document->status)) {
+            throw new Exception("Error #".$document->status['value']." ('".$document->status['message']."')");
+        }
+
+        // Array of elements
+
+        return $document->geoname;
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Geonames',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Geonames',
+                            'rawdescription' =>
+                            _m('Uses <a href="http://geonames.org/">Geonames</a> service to get human-readable '.
+                               'names for locations based on user-provided lat/long pairs.'));
+        return true;
+    }
 }
index 6891ee6a7bf6ad9b8722d03a95eda7ca57515fcc..c646bf113b27223a015739fdfa061f8d25fc2ce1 100644 (file)
@@ -70,4 +70,16 @@ class GoogleAnalyticsPlugin extends Plugin
         $action->inlineScript($js1);
         $action->inlineScript($js2);
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'GoogleAnalytics',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:GoogleAnalytics',
+                            'rawdescription' =>
+                            _m('Use <a href="http://www.google.com/analytics/">Google Analytics</a>'.
+                               ' to track Web access.'));
+        return true;
+    }
 }
diff --git a/plugins/Imap/ImapPlugin.php b/plugins/Imap/ImapPlugin.php
new file mode 100644 (file)
index 0000000..0344442
--- /dev/null
@@ -0,0 +1,85 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to add a StatusNet Facebook application
+ *
+ * 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>
+ * @copyright 2009 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);
+}
+
+/**
+ * IMAP plugin to allow StatusNet to grab incoming emails and handle them as new user posts
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Craig Andrews <candrews@integralblue.com
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://status.net/
+ */
+class ImapPlugin extends Plugin
+{
+    public $mailbox;
+    public $user;
+    public $password;
+    public $poll_frequency = 60;
+    public static $instances = array();
+    public static $daemon_added = array();
+
+    function initialize(){
+        if(!isset($this->mailbox)){
+            throw new Exception("must specify a mailbox");
+        }
+        if(!isset($this->user)){
+            throw new Exception("must specify a user");
+        }
+        if(!isset($this->password)){
+            throw new Exception("must specify a password");
+        }
+        if(!isset($this->poll_frequency)){
+            throw new Exception("must specify a poll_frequency");
+        }
+
+        self::$instances[] = $this;
+        return true;
+    }
+
+    function cleanup(){
+        $index = array_search($this, self::$instances);
+        unset(self::$instances[$index]);
+        return true;
+    }
+
+    function onGetValidDaemons($daemons)
+    {
+        if(! self::$daemon_added){
+            array_push($daemons, INSTALLDIR .
+                       '/plugins/Imap/imapdaemon.php');
+            self::$daemon_added = true;
+        }
+        return true;
+    }
+}
diff --git a/plugins/Imap/README b/plugins/Imap/README
new file mode 100644 (file)
index 0000000..640a411
--- /dev/null
@@ -0,0 +1,32 @@
+The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for
+incoming mail containing user posts.
+
+Installation
+============
+addPlugin('imap', array(
+    'mailbox' => '...',
+    'user' => '...',
+    'password' => '...'
+));
+to the bottom of your config.php
+
+Also, make sure:
+$config['mail']['domain'] = 'yourdomain.example.net';
+is set in your config.php
+
+Create a catch-all account for your domain, and use this account with this
+plugin. Whenever a user sends a message to their personal notice posting
+address, the message should end up in this mailbox, and then the plugin daemon
+will pick it up and post the notice on the user's behalf.
+
+The daemon included with this plugin must be running. It will be started by
+the plugin along with their other daemons when you run scripts/startdaemons.sh.
+See the StatusNet README for more about queuing and daemons.
+
+Settings
+========
+mailbox*: the mailbox specifier.
+    See http://www.php.net/manual/en/function.imap-open.php for details
+user*: username to use when authenticating to the mailbox
+password*: password to use when authenticating to the mailbox
+poll_frequency: how often (in seconds) to check for new messages
diff --git a/plugins/Imap/imapdaemon.php b/plugins/Imap/imapdaemon.php
new file mode 100755 (executable)
index 0000000..a45c603
--- /dev/null
@@ -0,0 +1,147 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, 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::';
+$longoptions = array('id::', 'foreground');
+
+$helptext = <<<END_OF_IMAP_HELP
+Daemon script for receiving new notices from users via a mail box (IMAP, POP3, etc)
+
+    -i --id           Identity (default none)
+    -f --foreground   Stay in the foreground (default background)
+
+END_OF_IMAP_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+require_once INSTALLDIR . '/lib/common.php';
+require_once INSTALLDIR . '/lib/daemon.php';
+require_once INSTALLDIR.'/lib/mailhandler.php';
+
+class IMAPDaemon extends Daemon
+{   
+    function __construct($resource=null, $daemonize=true, $attrs)
+    {
+        parent::__construct($daemonize);
+
+        foreach ($attrs as $attr=>$value)
+        {
+            $this->$attr = $value;
+        }
+
+        $this->log(LOG_INFO, "INITIALIZE IMAPDaemon {" . $this->name() . "}");
+    }
+
+    function name()
+    {
+        return strtolower('imapdaemon.'.$this->user.'.'.crc32($this->mailbox));
+    }
+
+    function run()
+    {
+        $this->connect();
+        while(true)
+        {
+            if(imap_ping($this->conn) || $this->connect())
+            {
+                $this->check_mailbox();
+            }
+            sleep($this->poll_frequency);
+        }
+    }
+
+    function check_mailbox()
+    {
+        $count = imap_num_msg($this->conn);
+        $this->log(LOG_INFO, "Found $count messages");
+        if($count > 0){
+            $handler = new IMAPMailHandler();
+            for($i=1; $i <= $count; $i++)
+            {
+                $rawmessage = imap_fetchheader($this->conn, $count, FT_PREFETCHTEXT) . imap_body($this->conn, $i);
+                $handler->handle_message($rawmessage);
+                imap_delete($this->conn, $i);
+            }
+            imap_expunge($this->conn);
+            $this->log(LOG_INFO, "Finished processing messages");
+        }
+    }
+
+    function log($level, $msg)
+    {
+        $text = $this->name() . ': '.$msg;
+        common_log($level, $text);
+        if (!$this->daemonize)
+        {
+            $line = common_log_line($level, $text);
+            echo $line;
+            echo "\n";
+        }
+    }
+
+    function connect()
+    {
+        $this->conn = imap_open($this->mailbox, $this->user, $this->password);
+        if($this->conn){
+            $this->log(LOG_INFO, "Connected");
+            return true;
+        }else{
+            $this->log(LOG_INFO, "Failed to connect: " . imap_last_error());
+            return false;
+        }
+    }
+}
+
+class IMAPMailHandler extends MailHandler
+{
+    function error($from, $msg)
+    {
+        $this->log(LOG_INFO, "Error: $from $msg");
+        $headers['To'] = $from;
+        $headers['Subject'] = "Error";
+
+        return mail_send(array($from), $headers, $msg);
+    }
+}
+
+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');
+
+foreach(ImapPlugin::$instances as $pluginInstance){
+
+    $daemon = new IMAPDaemon($id, !$foreground, array(
+        'mailbox' => $pluginInstance->mailbox,
+        'user' => $pluginInstance->user,
+        'password' => $pluginInstance->password,
+        'poll_frequency' => $pluginInstance->poll_frequency
+    ));
+
+    $daemon->runOnce();
+
+}
index 8caacff46433ec3d3a7af40574df9ea403ec431b..c14fa21a9c66c74c35bb3d275662e3ab91673b29 100644 (file)
@@ -31,7 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-require_once INSTALLDIR.'/plugins/Authentication/AuthenticationPlugin.php';
 require_once 'Net/LDAP2.php';
 
 class LdapAuthenticationPlugin extends AuthenticationPlugin
@@ -67,6 +66,16 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
             throw new Exception("if password_changeable is set, the password attribute and password_encoding must also be specified");
         }
     }
+
+    function onAutoload($cls)
+    {   
+        switch ($cls)
+        {
+         case 'MemcacheSchemaCache':
+            require_once(INSTALLDIR.'/plugins/LdapAuthentication/MemcacheSchemaCache.php');
+            return false;
+        }
+    }
     
     //---interface implementation---//
 
@@ -174,6 +183,14 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
             return false;
         }
         if($config == null) $this->default_ldap=$ldap;
+
+        $c = common_memcache();
+        if (!empty($c)) {
+            $cacheObj = new MemcacheSchemaCache(
+                array('c'=>$c,
+                   'cacheKey' => common_cache_key('ldap_schema:' . crc32(serialize($config)))));
+            $ldap->registerSchemaCache($cacheObj);
+        }
         return $ldap;
     }
     
@@ -192,20 +209,21 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
         $options = array(
             'attributes' => $attributes
         );
-        $search = $ldap->search(null,$filter,$options);
+        $search = $ldap->search($this->basedn, $filter, $options);
         
         if (PEAR::isError($search)) {
             common_log(LOG_WARNING, 'Error while getting DN for user: '.$search->getMessage());
             return false;
         }
 
-        if($search->count()==0){
+        $searchcount = $search->count();
+        if($searchcount == 0) {
             return false;
-        }else if($search->count()==1){
+        }else if($searchcount == 1) {
             $entry = $search->shiftEntry();
             return $entry;
         }else{
-            common_log(LOG_WARNING, 'Found ' . $search->count() . ' ldap user with the username: ' . $username);
+            common_log(LOG_WARNING, 'Found ' . $searchcount . ' ldap user with the username: ' . $username);
             return false;
         }
     }
diff --git a/plugins/LdapAuthentication/MemcacheSchemaCache.php b/plugins/LdapAuthentication/MemcacheSchemaCache.php
new file mode 100644 (file)
index 0000000..6b91d17
--- /dev/null
@@ -0,0 +1,75 @@
+<?php
+/** 
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Cache the LDAP schema in memcache to improve performance
+ *
+ * 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    Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+class MemcacheSchemaCache implements Net_LDAP2_SchemaCache
+{
+    protected $c;
+    protected $cacheKey;
+
+    /**
+    * Initialize the simple cache
+    *
+    * Config is as following:
+    *  memcache     memcache instance
+    *  cachekey  the key in the cache to look at
+    *
+    * @param array $cfg Config array
+    */
+    public function MemcacheSchemaCache($cfg)
+    {
+        $this->c = $cfg['c'];
+        $this->cacheKey = $cfg['cacheKey'];
+    }
+
+    /**
+    * Return the schema object from the cache
+    *
+    * @return Net_LDAP2_Schema|Net_LDAP2_Error|false
+    */
+    public function loadSchema()
+    {
+         return $this->c->get($this->cacheKey);
+    }
+
+    /**
+    * Store a schema object in the cache
+    *
+    * This method will be called, if Net_LDAP2 has fetched a fresh
+    * schema object from LDAP and wants to init or refresh the cache.
+    *
+    * To invalidate the cache and cause Net_LDAP2 to refresh the cache,
+    * you can call this method with null or false as value.
+    * The next call to $ldap->schema() will then refresh the caches object.
+    *
+    * @param mixed $schema The object that should be cached
+    * @return true|Net_LDAP2_Error|false
+    */
+    public function storeSchema($schema) {
+        return $this->c->set($this->cacheKey, $schema);
+    }
+}
index 2226159c2e8a52802e091f786be22f503ffd693f..0460fb6396254f698b3b9bbfb26b54c1fd9f2f15 100644 (file)
@@ -42,6 +42,8 @@ filter: Default search filter.
     See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
 scope: Default search scope.
     See http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php
+schema_cachefile: File location to store ldap schema.
+schema_maxage: TTL for cache file.
 
 attributes: an array that relates StatusNet user attributes to LDAP ones
     username*: LDAP attribute value entered when authenticating to StatusNet
index 5e759c3793045939857044d8ed5c5bff29a08855..e5e22c0ddeab1dbce49cae5443166fc87bfdcac9 100644 (file)
@@ -31,7 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-require_once INSTALLDIR.'/plugins/Authorization/AuthorizationPlugin.php';
 require_once 'Net/LDAP2.php';
 
 class LdapAuthorizationPlugin extends AuthorizationPlugin
@@ -53,7 +52,6 @@ class LdapAuthorizationPlugin extends AuthorizationPlugin
     public $attributes = array();
 
     function onInitializePlugin(){
-        parent::onInitializePlugin();
         if(!isset($this->host)){
             throw new Exception("must specify a host");
         }
index 4a6f1cdc79cdeca5746dbff4344f79c82e6b9a27..c3e37c0c0f358a76bde8bf9633992f947fe7c034 100644 (file)
@@ -46,9 +46,9 @@ class LilUrlPlugin extends UrlShortenerPlugin
 
     protected function shorten($url) {
         $data = array('longurl' => $url);
-        
+
         $responseBody = $this->http_post($this->serviceUrl,$data);
-        
+
         if (!$responseBody) return;
         $y = @simplexml_load_string($responseBody);
         if (!isset($y->body)) return;
@@ -57,5 +57,18 @@ class LilUrlPlugin extends UrlShortenerPlugin
             return strval($x['href']);
         }
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => sprintf('LilUrl (%s)', $this->shortenerName),
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:LilUrl',
+                            'rawdescription' =>
+                            sprintf(_m('Uses <a href="http://%1$s/">%1$s</a> URL-shortener service.'),
+                                    $this->shortenerName));
+
+        return true;
+    }
 }
 
index f220fff8f652b9edfbce3adc19d0b65dfb0256ea..15e57ab0e8e471b8e306ddcd7783f502589218f8 100644 (file)
@@ -231,4 +231,18 @@ class LinkbackPlugin extends Plugin
         return 'LinkbackPlugin/'.LINKBACKPLUGIN_VERSION .
           ' StatusNet/' . STATUSNET_VERSION;
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Linkback',
+                            'version' => LINKBACKPLUGIN_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Linkback',
+                            'rawdescription' =>
+                            _m('Notify blog authors when their posts have been linked in '.
+                               'microblog notices using '.
+                               '<a href="http://www.hixie.ch/specs/pingback/pingback">Pingback</a> '.
+                               'or <a href="http://www.movabletype.org/docs/mttrackback.html">Trackback</a> protocols.'));
+        return true;
+    }
 }
index 93679e56c24496a7abae456048ddd066f62d3284..868933fd432461a887c0697c1d1681a1ab6d4a6e 100644 (file)
@@ -47,6 +47,8 @@ if (!defined('STATUSNET')) {
 
 class MapstractionPlugin extends Plugin
 {
+    const VERSION = STATUSNET_VERSION;
+
     /** provider name, one of:
      'cloudmade', 'google', 'microsoft', 'openlayers', 'yahoo' */
     public $provider = 'openlayers';
@@ -192,4 +194,17 @@ class MapstractionPlugin extends Plugin
 
         $action->elementEnd('div');
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Mapstraction',
+                            'version' => self::VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Mapstraction',
+                            'rawdescription' =>
+                            _m('Show maps of users\' and friends\' notices '.
+                               'with <a href="http://www.mapstraction.com/">Mapstraction</a> '.
+                               'JavaScript library.'));
+        return true;
+    }
 }
diff --git a/plugins/MemcachePlugin.php b/plugins/MemcachePlugin.php
new file mode 100644 (file)
index 0000000..5f93e9a
--- /dev/null
@@ -0,0 +1,191 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
+ *
+ * Plugin to implement cache interface for memcache
+ *
+ * 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  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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')) {
+    // This check helps protect against security problems;
+    // your code file can't be executed directly from the web.
+    exit(1);
+}
+
+/**
+ * A plugin to use memcache for the cache interface
+ *
+ * This used to be encoded as config-variable options in the core code;
+ * it's now broken out to a separate plugin. The same interface can be
+ * implemented by other plugins.
+ *
+ * @category  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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 MemcachePlugin extends Plugin
+{
+    private $_conn  = null;
+    public $servers = array('127.0.0.1;11211');
+
+    public $compressThreshold = 20480;
+    public $compressMinSaving = 0.2;
+
+    public $persistent = null;
+
+    /**
+     * Initialize the plugin
+     *
+     * Note that onStartCacheGet() may have been called before this!
+     *
+     * @return boolean flag value
+     */
+
+    function onInitializePlugin()
+    {
+        if (is_null($this->persistent)) {
+            $this->persistent = (php_sapi_name() == 'cli') ? false : true;
+        }
+        $this->_ensureConn();
+        return true;
+    }
+
+    /**
+     * Get a value associated with a key
+     *
+     * The value should have been set previously.
+     *
+     * @param string &$key   in; Lookup key
+     * @param mixed  &$value out; value associated with key
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheGet(&$key, &$value)
+    {
+        $this->_ensureConn();
+        $value = $this->_conn->get($key);
+        Event::handle('EndCacheGet', array($key, &$value));
+        return false;
+    }
+
+    /**
+     * Associate a value with a key
+     *
+     * @param string  &$key     in; Key to use for lookups
+     * @param mixed   &$value   in; Value to associate
+     * @param integer &$flag    in; Flag (passed through to Memcache)
+     * @param integer &$expiry  in; Expiry (passed through to Memcache)
+     * @param boolean &$success out; Whether the set was successful
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
+    {
+        $this->_ensureConn();
+        $success = $this->_conn->set($key, $value, $flag, $expiry);
+        Event::handle('EndCacheSet', array($key, $value, $flag,
+                                           $expiry));
+        return false;
+    }
+
+    /**
+     * Delete a value associated with a key
+     *
+     * @param string  &$key     in; Key to lookup
+     * @param boolean &$success out; whether it worked
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheDelete(&$key, &$success)
+    {
+        $this->_ensureConn();
+        $success = $this->_conn->delete($key);
+        Event::handle('EndCacheDelete', array($key));
+        return false;
+    }
+
+    /**
+     * Ensure that a connection exists
+     *
+     * Checks the instance $_conn variable and connects
+     * if it is empty.
+     *
+     * @return void
+     */
+
+    private function _ensureConn()
+    {
+        if (empty($this->_conn)) {
+            $this->_conn = new Memcache();
+
+            if (is_array($this->servers)) {
+                foreach ($this->servers as $server) {
+                    list($host, $port) = explode(';', $server);
+                    if (empty($port)) {
+                        $port = 11211;
+                    }
+
+                    $this->_conn->addServer($host, $port, $this->persistent);
+                }
+            } else {
+                $this->_conn->addServer($this->servers, $this->persistent);
+                list($host, $port) = explode(';', $this->servers);
+                if (empty($port)) {
+                    $port = 11211;
+                }
+                $this->_conn->addServer($host, $port, $this->persistent);
+            }
+
+            // Compress items stored in the cache if they're over threshold in size
+            // (default 2KiB) and the compression would save more than min savings
+            // ratio (default 0.2).
+
+            // Allows the cache to store objects larger than 1MB (if they
+            // compress to less than 1MB), and improves cache memory efficiency.
+
+            $this->_conn->setCompressThreshold($this->compressThreshold,
+                                               $this->compressMinSaving);
+        }
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Memcache',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou, Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:Memcache',
+                            'rawdescription' =>
+                            _m('Use <a href="http://memcached.org/">Memcached</a> to cache query results.'));
+        return true;
+    }
+}
+
index 71fade19a5767a41fd6b080f2aa01be3f8e6dd1b..718bfd163530d92db7ed03c16acd14de55d04cb2 100644 (file)
@@ -84,7 +84,7 @@ class MinifyPlugin extends Plugin
 
     function onStartScriptElement($action,&$src,&$type) {
         $url = parse_url($src);
-        if( empty($url->scheme) && empty($url->host) && empty($url->query) && empty($url->fragment))
+        if( empty($url['scheme']) && empty($url['host']) && empty($url['query']) && empty($url['fragment']))
         {
             $src = $this->minifyUrl($src);
         }
index 35678bedd3c0599d2d7d8007eadc96c98c2dde2d..14d2500e8fdc4859d880b46f2e24204ed3291355 100644 (file)
@@ -316,6 +316,10 @@ class MobileProfilePlugin extends WAP20Plugin
                 $action->menuItem(common_local_url($connect),
                                 _('Connect'));
             }
+            if ($user->hasRight(Right::CONFIGURESITE)) {
+                $action->menuItem(common_local_url('siteadminpanel'),
+                                _('Admin'), _('Change site configuration'), false, 'nav_admin');
+            }
             if (common_config('invite', 'enabled')) {
                 $action->menuItem(common_local_url('invite'),
                                 _('Invite'));
index e05adeb83ba0942fc0e7e34a75287d7222b0cd8b..3eefc0c8e059b7191a89f4380251cda59c433233 100644 (file)
@@ -179,11 +179,11 @@ padding-bottom:4px;
 }
 .notice div.entry-content {
 margin-left:0;
-width:65%;
+width:62.5%;
 }
 .notice-options {
-width:30%;
-margin-right:2%;
+width:34%;
+margin-right:1%;
 }
 
 .notice-options form {
diff --git a/plugins/Mollom/MollomPlugin.php b/plugins/Mollom/MollomPlugin.php
new file mode 100644 (file)
index 0000000..4c82c48
--- /dev/null
@@ -0,0 +1,893 @@
+<?php
+/**
+ * Laconica, the distributed open-source microblogging tool
+ *
+ * Plugin to check submitted notices with Mollom
+ *
+ * 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/>.
+ *
+ * Mollom is a bayesian spam checker, wrapped into a webservice
+ * This plugin is based on the Drupal Mollom module
+ *
+ * @category  Plugin
+ * @package   Laconica
+ * @author    Brenda Wallace <brenda@cpan.org>
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ *
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+define('MOLLOMPLUGIN_VERSION', '0.1');
+define('MOLLOM_API_VERSION', '1.0');
+
+define('MOLLOM_ANALYSIS_UNKNOWN' , 0);
+define('MOLLOM_ANALYSIS_HAM'     , 1);
+define('MOLLOM_ANALYSIS_SPAM'    , 2);
+define('MOLLOM_ANALYSIS_UNSURE'  , 3);
+
+define('MOLLOM_MODE_DISABLED', 0);
+define('MOLLOM_MODE_CAPTCHA' , 1);
+define('MOLLOM_MODE_ANALYSIS', 2);
+
+define('MOLLOM_FALLBACK_BLOCK' , 0);
+define('MOLLOM_FALLBACK_ACCEPT', 1);
+
+define('MOLLOM_ERROR'   , 1000);
+define('MOLLOM_REFRESH' , 1100);
+define('MOLLOM_REDIRECT', 1200);
+
+/**
+ * Plugin to check submitted notices with Mollom
+ *
+ * Mollom is a bayesian spam filter provided by webservice.
+ *
+ * @category Plugin
+ * @package  Laconica
+ * @author   Brenda Wallace <shiny@cpan.org>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ *
+ * @see      Event
+ */
+
+
+
+class MollomPlugin extends Plugin
+{
+    public $public_key;
+    public $private_key;
+    public $servers;
+
+    function onStartNoticeSave($notice)
+    {
+      if ( $this->public_key ) {
+        //Check spam
+        $data = array(
+            'post_body'      => $notice->content,
+            'author_name'    => $profile->nickname,
+            'author_url'     => $profile->homepage,
+            'author_id'      => $profile->id,
+            'author_ip'      => $this->getClientIp(),
+        );
+        $response = $this->mollom('mollom.checkContent', $data);
+        if ($response['spam'] == MOLLOM_ANALYSIS_SPAM) {
+          throw new ClientException(_("Spam Detected"), 400);
+        }
+        if ($response['spam'] == MOLLOM_ANALYSIS_UNSURE) {
+          //if unsure, let through
+        }
+        if($response['spam'] == MOLLOM_ANALYSIS_HAM) {
+          // all good! :-)
+        }
+      }
+   
+      return true;
+    }
+
+    function getClientIP() {
+        if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
+            // Note: order matters here; use proxy-forwarded stuff first
+            foreach (array('HTTP_X_FORWARDED_FOR', 'CLIENT-IP', 'REMOTE_ADDR') as $k) {
+                if (isset($_SERVER[$k])) {
+                    return $_SERVER[$k];
+                }
+            }
+        }
+        return '127.0.0.1';
+    }
+    /**
+      * Call a remote procedure at the Mollom server.  This function will
+      * automatically add the information required to authenticate against
+      * Mollom.
+      */
+    function mollom($method, $data = array()) {
+        if (!extension_loaded('xmlrpc')) {
+            if (!dl('xmlrpc.so')) {
+                common_log(LOG_ERR, "Can't pingback; xmlrpc extension not available.");
+            }
+        }
+    
+      // Construct the server URL:
+      $public_key = $this->public_key;
+      // Retrieve the list of Mollom servers from the database:
+      $servers = $this->servers;
+    
+      if ($servers == NULL) {
+        // Retrieve a list of valid Mollom servers from mollom.com:
+        $servers = $this->xmlrpc('http://xmlrpc.mollom.com/'. MOLLOM_API_VERSION, 'mollom.getServerList', $this->authentication());
+        
+        // Store the list of servers in the database:
+    // TODO!    variable_set('mollom_servers', $servers);
+      }
+      
+      if (is_array($servers)) {
+        // Send the request to the first server, if that fails, try the other servers in the list:
+        foreach ($servers as $server) { 
+          $auth = $this->authentication();
+          $data = array_merge($data, $auth);
+          $result = $this->xmlrpc($server .'/'. MOLLOM_API_VERSION, $method, $data);
+    
+          // Debug output:
+          if (isset($data['session_id'])) {
+            common_debug("called $method at server $server with session ID '". $data['session_id'] ."'");
+          }
+          else {
+            common_debug("called $method at server $server with no session ID");
+          }
+          
+          if ($errno = $this->xmlrpc_errno()) {
+            common_log(LOG_ERR, sprintf('Error @errno: %s - %s - %s - <pre>%s</pre>', $this->xmlrpc_errno(), $server, $this->xmlrpc_error_msg(), $method, print_r($data, TRUE)));
+    
+            if ($errno == MOLLOM_REFRESH) {
+              // Retrieve a list of valid Mollom servers from mollom.com:
+              $servers = $this->xmlrpc('http://xmlrpc.mollom.com/'. MOLLOM_API_VERSION, 'mollom.getServerList', $this->authentication());
+    
+              // Store the updated list of servers in the database:
+              //tODO variable_set('mollom_servers', $servers);
+            }
+            else if ($errno == MOLLOM_ERROR) {
+              return $result;
+            }
+            else if ($errno == MOLLOM_REDIRECT) {
+              // Do nothing, we select the next client automatically.
+            }
+    
+            // Reset the XMLRPC error:
+            $this->xmlrpc_error(0);  // FIXME: this is crazy.
+          }
+          else {
+            common_debug("Result = " . print_r($result, TRUE));
+            return $result;
+          }
+        }
+      }
+    
+      // If none of the servers worked, activate the fallback mechanism:
+      common_debug("none of the servers worked");
+    //   _mollom_fallback();
+      
+      // If everything failed, we reset the server list to force Mollom to request a new list:
+      //TODO variable_set('mollom_servers', array());
+    }
+
+    /**
+    * This function generate an array with all the information required to
+    * authenticate against Mollom. To prevent that requests are forged and
+    * that you are impersonated, each request is signed with a hash computed
+    * based on a private key and a timestamp.
+    *
+    * Both the client and the server share the secret key that is used to
+    * create the authentication hash based on a timestamp.  They both hash
+    * the timestamp with the secret key, and if the hashes match, the
+    * authenticity of the message has been validated.
+    *
+    * To avoid that someone can intercept a (hash, timestamp)-pair and
+    * use that to impersonate a client, Mollom will reject the request
+    * when the timestamp is more than 15 minutes off.
+    *
+    * Make sure your server's time is synchronized with the world clocks,
+    * and that you don't share your private key with anyone else.
+    */
+    private function authentication() {
+    
+      $public_key = $this->public_key;
+      $private_key = $this->private_key;
+    
+      // Generate a timestamp according to the dateTime format (http://www.w3.org/TR/xmlschema-2/#dateTime):
+      $time = gmdate("Y-m-d\TH:i:s.\\0\\0\\0O", time());
+    
+      // Calculate a HMAC-SHA1 according to RFC2104 (http://www.ietf.org/rfc/rfc2104.txt):
+      $hash =  base64_encode(
+      pack("H*", sha1((str_pad($private_key, 64, chr(0x00)) ^ (str_repeat(chr(0x5c), 64))) .
+      pack("H*", sha1((str_pad($private_key, 64, chr(0x00)) ^ (str_repeat(chr(0x36), 64))) .
+      $time))))
+      );
+    
+      // Store everything in an array. Elsewhere in the code, we'll add the
+      // acutal data before we pass it onto the XML-RPC library:
+      $data['public_key'] = $public_key;
+      $data['time'] = $time;
+      $data['hash'] = $hash;
+    
+      return $data;
+    }
+    
+
+    function xmlrpc($url) {
+      //require_once './includes/xmlrpc.inc';
+      $args = func_get_args();
+      return call_user_func_array(array('MollomPlugin', '_xmlrpc'), $args);
+    }
+    
+    /**
+    * Recursively turn a data structure into objects with 'data' and 'type' attributes.
+    *
+    * @param $data
+    *   The data structure.
+    * @param  $type
+    *   Optional type assign to $data.
+    * @return
+    *   Object.
+    */
+    function xmlrpc_value($data, $type = FALSE) {
+      $xmlrpc_value = new stdClass();
+      $xmlrpc_value->data = $data;
+      if (!$type) {
+        $type = $this->xmlrpc_value_calculate_type($xmlrpc_value);
+      }
+      $xmlrpc_value->type = $type;
+      if ($type == 'struct') {
+        // Turn all the values in the array into new xmlrpc_values
+        foreach ($xmlrpc_value->data as $key => $value) {
+          $xmlrpc_value->data[$key] = $this->xmlrpc_value($value);
+        }
+      }
+      if ($type == 'array') {
+        for ($i = 0, $j = count($xmlrpc_value->data); $i < $j; $i++) {
+          $xmlrpc_value->data[$i] = $this->xmlrpc_value($xmlrpc_value->data[$i]);
+        }
+      }
+      return $xmlrpc_value;
+    }
+
+    /**
+    * Map PHP type to XML-RPC type.
+    *
+    * @param $xmlrpc_value
+    *   Variable whose type should be mapped.
+    * @return
+    *   XML-RPC type as string.
+    * @see
+    *   http://www.xmlrpc.com/spec#scalars
+    */
+    function xmlrpc_value_calculate_type(&$xmlrpc_value) {
+      // http://www.php.net/gettype: Never use gettype() to test for a certain type [...] Instead, use the is_* functions.
+      if (is_bool($xmlrpc_value->data)) {
+        return 'boolean';
+      }
+      if (is_double($xmlrpc_value->data)) {
+        return 'double';
+      }
+      if (is_int($xmlrpc_value->data)) {
+          return 'int';
+      }
+      if (is_array($xmlrpc_value->data)) {
+        // empty or integer-indexed arrays are 'array', string-indexed arrays 'struct'
+        return empty($xmlrpc_value->data) || range(0, count($xmlrpc_value->data) - 1) === array_keys($xmlrpc_value->data) ? 'array' : 'struct';
+      }
+      if (is_object($xmlrpc_value->data)) {
+        if ($xmlrpc_value->data->is_date) {
+          return 'date';
+        }
+        if ($xmlrpc_value->data->is_base64) {
+          return 'base64';
+        }
+        $xmlrpc_value->data = get_object_vars($xmlrpc_value->data);
+        return 'struct';
+      }
+      // default
+      return 'string';
+    }
+
+/**
+ * Generate XML representing the given value.
+ *
+ * @param $xmlrpc_value
+ * @return
+ *   XML representation of value.
+ */
+function xmlrpc_value_get_xml($xmlrpc_value) {
+  switch ($xmlrpc_value->type) {
+    case 'boolean':
+      return '<boolean>'. (($xmlrpc_value->data) ? '1' : '0') .'</boolean>';
+      break;
+    case 'int':
+      return '<int>'. $xmlrpc_value->data .'</int>';
+      break;
+    case 'double':
+      return '<double>'. $xmlrpc_value->data .'</double>';
+      break;
+    case 'string':
+      // Note: we don't escape apostrophes because of the many blogging clients
+      // that don't support numerical entities (and XML in general) properly.
+      return '<string>'. htmlspecialchars($xmlrpc_value->data) .'</string>';
+      break;
+    case 'array':
+      $return = '<array><data>'."\n";
+      foreach ($xmlrpc_value->data as $item) {
+        $return .= '  <value>'. $this->xmlrpc_value_get_xml($item) ."</value>\n";
+      }
+      $return .= '</data></array>';
+      return $return;
+      break;
+    case 'struct':
+      $return = '<struct>'."\n";
+      foreach ($xmlrpc_value->data as $name => $value) {
+        $return .= "  <member><name>". htmlentities($name) ."</name><value>";
+        $return .= $this->xmlrpc_value_get_xml($value) ."</value></member>\n";
+      }
+      $return .= '</struct>';
+      return $return;
+      break;
+    case 'date':
+      return $this->xmlrpc_date_get_xml($xmlrpc_value->data);
+      break;
+    case 'base64':
+      return $this->xmlrpc_base64_get_xml($xmlrpc_value->data);
+      break;
+  }
+  return FALSE;
+}
+
+    /**
+    * Perform an HTTP request.
+    *
+    * This is a flexible and powerful HTTP client implementation. Correctly handles
+    * GET, POST, PUT or any other HTTP requests. Handles redirects.
+    *
+    * @param $url
+    *   A string containing a fully qualified URI.
+    * @param $headers
+    *   An array containing an HTTP header => value pair.
+    * @param $method
+    *   A string defining the HTTP request to use.
+    * @param $data
+    *   A string containing data to include in the request.
+    * @param $retry
+    *   An integer representing how many times to retry the request in case of a
+    *   redirect.
+    * @return
+    *   An object containing the HTTP request headers, response code, headers,
+    *   data and redirect status.
+    */
+    function http_request($url, $headers = array(), $method = 'GET', $data = NULL, $retry = 3) {
+      global $db_prefix;
+    
+      $result = new stdClass();
+    
+      // Parse the URL and make sure we can handle the schema.
+      $uri = parse_url($url);
+    
+      if ($uri == FALSE) {
+        $result->error = 'unable to parse URL';
+        return $result;
+      }
+    
+      if (!isset($uri['scheme'])) {
+        $result->error = 'missing schema';
+        return $result;
+      }
+    
+      switch ($uri['scheme']) {
+        case 'http':
+          $port = isset($uri['port']) ? $uri['port'] : 80;
+          $host = $uri['host'] . ($port != 80 ? ':'. $port : '');
+          $fp = @fsockopen($uri['host'], $port, $errno, $errstr, 15);
+          break;
+        case 'https':
+          // Note: Only works for PHP 4.3 compiled with OpenSSL.
+          $port = isset($uri['port']) ? $uri['port'] : 443;
+          $host = $uri['host'] . ($port != 443 ? ':'. $port : '');
+          $fp = @fsockopen('ssl://'. $uri['host'], $port, $errno, $errstr, 20);
+          break;
+        default:
+          $result->error = 'invalid schema '. $uri['scheme'];
+          return $result;
+      }
+    
+      // Make sure the socket opened properly.
+      if (!$fp) {
+        // When a network error occurs, we use a negative number so it does not
+        // clash with the HTTP status codes.
+        $result->code = -$errno;
+        $result->error = trim($errstr);
+    
+        // Mark that this request failed. This will trigger a check of the web
+        // server's ability to make outgoing HTTP requests the next time that
+        // requirements checking is performed.
+        // @see system_requirements()
+        //TODO variable_set('drupal_http_request_fails', TRUE);
+    
+        return $result;
+      }
+    
+      // Construct the path to act on.
+      $path = isset($uri['path']) ? $uri['path'] : '/';
+      if (isset($uri['query'])) {
+        $path .= '?'. $uri['query'];
+      }
+    
+      // Create HTTP request.
+      $defaults = array(
+        // RFC 2616: "non-standard ports MUST, default ports MAY be included".
+        // We don't add the port to prevent from breaking rewrite rules checking the
+        // host that do not take into account the port number.
+        'Host' => "Host: $host",
+        'User-Agent' => 'User-Agent: Drupal (+http://drupal.org/)',
+        'Content-Length' => 'Content-Length: '. strlen($data)
+      );
+    
+      // If the server url has a user then attempt to use basic authentication
+      if (isset($uri['user'])) {
+        $defaults['Authorization'] = 'Authorization: Basic '. base64_encode($uri['user'] . (!empty($uri['pass']) ? ":". $uri['pass'] : ''));
+      }
+    
+      // If the database prefix is being used by SimpleTest to run the tests in a copied
+      // database then set the user-agent header to the database prefix so that any
+      // calls to other Drupal pages will run the SimpleTest prefixed database. The
+      // user-agent is used to ensure that multiple testing sessions running at the
+      // same time won't interfere with each other as they would if the database
+      // prefix were stored statically in a file or database variable.
+      if (is_string($db_prefix) && preg_match("/^simpletest\d+$/", $db_prefix, $matches)) {
+        $defaults['User-Agent'] = 'User-Agent: ' . $matches[0];
+      }
+    
+      foreach ($headers as $header => $value) {
+        $defaults[$header] = $header .': '. $value;
+      }
+    
+      $request = $method .' '. $path ." HTTP/1.0\r\n";
+      $request .= implode("\r\n", $defaults);
+      $request .= "\r\n\r\n";
+      $request .= $data;
+    
+      $result->request = $request;
+    
+      fwrite($fp, $request);
+    
+      // Fetch response.
+      $response = '';
+      while (!feof($fp) && $chunk = fread($fp, 1024)) {
+        $response .= $chunk;
+      }
+      fclose($fp);
+    
+      // Parse response.
+      list($split, $result->data) = explode("\r\n\r\n", $response, 2);
+      $split = preg_split("/\r\n|\n|\r/", $split);
+    
+      list($protocol, $code, $text) = explode(' ', trim(array_shift($split)), 3);
+      $result->headers = array();
+    
+      // Parse headers.
+      while ($line = trim(array_shift($split))) {
+        list($header, $value) = explode(':', $line, 2);
+        if (isset($result->headers[$header]) && $header == 'Set-Cookie') {
+          // RFC 2109: the Set-Cookie response header comprises the token Set-
+          // Cookie:, followed by a comma-separated list of one or more cookies.
+          $result->headers[$header] .= ','. trim($value);
+        }
+        else {
+          $result->headers[$header] = trim($value);
+        }
+      }
+    
+      $responses = array(
+        100 => 'Continue', 101 => 'Switching Protocols',
+        200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content',
+        300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 307 => 'Temporary Redirect',
+        400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Time-out', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Large', 415 => 'Unsupported Media Type', 416 => 'Requested range not satisfiable', 417 => 'Expectation Failed',
+        500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Time-out', 505 => 'HTTP Version not supported'
+      );
+      // RFC 2616 states that all unknown HTTP codes must be treated the same as the
+      // base code in their class.
+      if (!isset($responses[$code])) {
+        $code = floor($code / 100) * 100;
+      }
+    
+      switch ($code) {
+        case 200: // OK
+        case 304: // Not modified
+          break;
+        case 301: // Moved permanently
+        case 302: // Moved temporarily
+        case 307: // Moved temporarily
+          $location = $result->headers['Location'];
+    
+          if ($retry) {
+            $result = drupal_http_request($result->headers['Location'], $headers, $method, $data, --$retry);
+            $result->redirect_code = $result->code;
+          }
+          $result->redirect_url = $location;
+    
+          break;
+        default:
+          $result->error = $text;
+      }
+    
+      $result->code = $code;
+      return $result;
+    }
+    
+    /**
+    * Construct an object representing an XML-RPC message.
+    *
+    * @param $message
+    *   String containing XML as defined at http://www.xmlrpc.com/spec
+    * @return
+    *   Object
+    */
+    function xmlrpc_message($message) {
+      $xmlrpc_message = new stdClass();
+      $xmlrpc_message->array_structs = array();   // The stack used to keep track of the current array/struct
+      $xmlrpc_message->array_structs_types = array(); // The stack used to keep track of if things are structs or array
+      $xmlrpc_message->current_struct_name = array();  // A stack as well
+      $xmlrpc_message->message = $message;
+      return $xmlrpc_message;
+    }
+
+    /**
+    * Parse an XML-RPC message. If parsing fails, the faultCode and faultString
+    * will be added to the message object.
+    *
+    * @param $xmlrpc_message
+    *   Object generated by xmlrpc_message()
+    * @return
+    *   TRUE if parsing succeeded; FALSE otherwise
+    */
+    function xmlrpc_message_parse(&$xmlrpc_message) {
+      // First remove the XML declaration
+      $xmlrpc_message->message = preg_replace('/<\?xml(.*)?\?'.'>/', '', $xmlrpc_message->message);
+      if (trim($xmlrpc_message->message) == '') {
+        return FALSE;
+      }
+      $xmlrpc_message->_parser = xml_parser_create();
+      // Set XML parser to take the case of tags into account.
+      xml_parser_set_option($xmlrpc_message->_parser, XML_OPTION_CASE_FOLDING, FALSE);
+      // Set XML parser callback functions
+      xml_set_element_handler($xmlrpc_message->_parser, array('MollomPlugin', 'xmlrpc_message_tag_open'), array('MollomPlugin', 'xmlrpc_message_tag_close'));
+      xml_set_character_data_handler($xmlrpc_message->_parser, array('MollomPlugin', 'xmlrpc_message_cdata'));
+      $this->xmlrpc_message_set($xmlrpc_message);
+      if (!xml_parse($xmlrpc_message->_parser, $xmlrpc_message->message)) {
+        return FALSE;
+      }
+      xml_parser_free($xmlrpc_message->_parser);
+      // Grab the error messages, if any
+      $xmlrpc_message = $this->xmlrpc_message_get();
+      if ($xmlrpc_message->messagetype == 'fault') {
+        $xmlrpc_message->fault_code = $xmlrpc_message->params[0]['faultCode'];
+        $xmlrpc_message->fault_string = $xmlrpc_message->params[0]['faultString'];
+      }
+      return TRUE;
+    }
+
+    /**
+    * Store a copy of the $xmlrpc_message object temporarily.
+    *
+    * @param $value
+    *   Object
+    * @return
+    *   The most recently stored $xmlrpc_message
+    */
+    function xmlrpc_message_set($value = NULL) {
+      static $xmlrpc_message;
+      if ($value) {
+        $xmlrpc_message = $value;
+      }
+      return $xmlrpc_message;
+    }
+
+    function xmlrpc_message_get() {
+      return $this->xmlrpc_message_set();
+    }
+
+    function xmlrpc_message_tag_open($parser, $tag, $attr) {
+      $xmlrpc_message = $this->xmlrpc_message_get();
+      $xmlrpc_message->current_tag_contents = '';
+      $xmlrpc_message->last_open = $tag;
+      switch ($tag) {
+        case 'methodCall':
+        case 'methodResponse':
+        case 'fault':
+          $xmlrpc_message->messagetype = $tag;
+          break;
+        // Deal with stacks of arrays and structs
+        case 'data':
+          $xmlrpc_message->array_structs_types[] = 'array';
+          $xmlrpc_message->array_structs[] = array();
+          break;
+        case 'struct':
+          $xmlrpc_message->array_structs_types[] = 'struct';
+          $xmlrpc_message->array_structs[] = array();
+          break;
+      }
+      $this->xmlrpc_message_set($xmlrpc_message);
+    }
+
+    function xmlrpc_message_cdata($parser, $cdata) {
+      $xmlrpc_message = $this->xmlrpc_message_get();
+      $xmlrpc_message->current_tag_contents .= $cdata;
+      $this->xmlrpc_message_set($xmlrpc_message);
+    }
+
+    function xmlrpc_message_tag_close($parser, $tag) {
+      $xmlrpc_message = $this->xmlrpc_message_get();
+      $value_flag = FALSE;
+      switch ($tag) {
+        case 'int':
+        case 'i4':
+          $value = (int)trim($xmlrpc_message->current_tag_contents);
+          $value_flag = TRUE;
+          break;
+        case 'double':
+          $value = (double)trim($xmlrpc_message->current_tag_contents);
+          $value_flag = TRUE;
+          break;
+        case 'string':
+          $value = $xmlrpc_message->current_tag_contents;
+          $value_flag = TRUE;
+          break;
+        case 'dateTime.iso8601':
+          $value = xmlrpc_date(trim($xmlrpc_message->current_tag_contents));
+          // $value = $iso->getTimestamp();
+          $value_flag = TRUE;
+          break;
+        case 'value':
+          // If no type is indicated, the type is string
+          // We take special care for empty values
+          if (trim($xmlrpc_message->current_tag_contents) != '' || (isset($xmlrpc_message->last_open) && ($xmlrpc_message->last_open == 'value'))) {
+            $value = (string)$xmlrpc_message->current_tag_contents;
+            $value_flag = TRUE;
+          }
+          unset($xmlrpc_message->last_open);
+          break;
+        case 'boolean':
+          $value = (boolean)trim($xmlrpc_message->current_tag_contents);
+          $value_flag = TRUE;
+          break;
+        case 'base64':
+          $value = base64_decode(trim($xmlrpc_message->current_tag_contents));
+          $value_flag = TRUE;
+          break;
+        // Deal with stacks of arrays and structs
+        case 'data':
+        case 'struct':
+          $value = array_pop($xmlrpc_message->array_structs );
+          array_pop($xmlrpc_message->array_structs_types);
+          $value_flag = TRUE;
+          break;
+        case 'member':
+          array_pop($xmlrpc_message->current_struct_name);
+          break;
+        case 'name':
+          $xmlrpc_message->current_struct_name[] = trim($xmlrpc_message->current_tag_contents);
+          break;
+        case 'methodName':
+          $xmlrpc_message->methodname = trim($xmlrpc_message->current_tag_contents);
+          break;
+      }
+      if ($value_flag) {
+        if (count($xmlrpc_message->array_structs ) > 0) {
+          // Add value to struct or array
+          if ($xmlrpc_message->array_structs_types[count($xmlrpc_message->array_structs_types)-1] == 'struct') {
+            // Add to struct
+            $xmlrpc_message->array_structs [count($xmlrpc_message->array_structs )-1][$xmlrpc_message->current_struct_name[count($xmlrpc_message->current_struct_name)-1]] = $value;
+          }
+          else {
+            // Add to array
+            $xmlrpc_message->array_structs [count($xmlrpc_message->array_structs )-1][] = $value;
+          }
+        }
+        else {
+          // Just add as a parameter
+          $xmlrpc_message->params[] = $value;
+        }
+      }
+      if (!in_array($tag, array("data", "struct", "member"))) {
+        $xmlrpc_message->current_tag_contents = '';
+      }
+      $this->xmlrpc_message_set($xmlrpc_message);
+    }
+
+    /**
+    * Construct an object representing an XML-RPC request
+    *
+    * @param $method
+    *   The name of the method to be called
+    * @param $args
+    *   An array of parameters to send with the method.
+    * @return
+    *   Object
+    */
+    function xmlrpc_request($method, $args) {
+      $xmlrpc_request = new stdClass();
+      $xmlrpc_request->method = $method;
+      $xmlrpc_request->args = $args;
+      $xmlrpc_request->xml = <<<EOD
+    <?xml version="1.0"?>
+    <methodCall>
+    <methodName>{$xmlrpc_request->method}</methodName>
+    <params>
+    
+EOD;
+      foreach ($xmlrpc_request->args as $arg) {
+        $xmlrpc_request->xml .= '<param><value>';
+        $v = $this->xmlrpc_value($arg);
+        $xmlrpc_request->xml .= $this->xmlrpc_value_get_xml($v);
+        $xmlrpc_request->xml .= "</value></param>\n";
+      }
+      $xmlrpc_request->xml .= '</params></methodCall>';
+      return $xmlrpc_request;
+    }
+
+
+    function xmlrpc_error($code = NULL, $message = NULL, $reset = FALSE) {
+      static $xmlrpc_error;
+      if (isset($code)) {
+        $xmlrpc_error = new stdClass();
+        $xmlrpc_error->is_error = TRUE;
+        $xmlrpc_error->code = $code;
+        $xmlrpc_error->message = $message;
+      }
+      elseif ($reset) {
+        $xmlrpc_error = NULL;
+      }
+      return $xmlrpc_error;
+    }
+
+    function xmlrpc_error_get_xml($xmlrpc_error) {
+      return <<<EOD
+    <methodResponse>
+      <fault>
+      <value>
+        <struct>
+        <member>
+          <name>faultCode</name>
+          <value><int>{$xmlrpc_error->code}</int></value>
+        </member>
+        <member>
+          <name>faultString</name>
+          <value><string>{$xmlrpc_error->message}</string></value>
+        </member>
+        </struct>
+      </value>
+      </fault>
+    </methodResponse>
+    
+EOD;
+    }
+
+    function xmlrpc_date($time) {
+      $xmlrpc_date = new stdClass();
+      $xmlrpc_date->is_date = TRUE;
+      // $time can be a PHP timestamp or an ISO one
+      if (is_numeric($time)) {
+        $xmlrpc_date->year = gmdate('Y', $time);
+        $xmlrpc_date->month = gmdate('m', $time);
+        $xmlrpc_date->day = gmdate('d', $time);
+        $xmlrpc_date->hour = gmdate('H', $time);
+        $xmlrpc_date->minute = gmdate('i', $time);
+        $xmlrpc_date->second = gmdate('s', $time);
+        $xmlrpc_date->iso8601 = gmdate('Ymd\TH:i:s', $time);
+      }
+      else {
+        $xmlrpc_date->iso8601 = $time;
+        $time = str_replace(array('-', ':'), '', $time);
+        $xmlrpc_date->year = substr($time, 0, 4);
+        $xmlrpc_date->month = substr($time, 4, 2);
+        $xmlrpc_date->day = substr($time, 6, 2);
+        $xmlrpc_date->hour = substr($time, 9, 2);
+        $xmlrpc_date->minute = substr($time, 11, 2);
+        $xmlrpc_date->second = substr($time, 13, 2);
+      }
+      return $xmlrpc_date;
+    }
+
+    function xmlrpc_date_get_xml($xmlrpc_date) {
+      return '<dateTime.iso8601>'. $xmlrpc_date->year . $xmlrpc_date->month . $xmlrpc_date->day .'T'. $xmlrpc_date->hour .':'. $xmlrpc_date->minute .':'. $xmlrpc_date->second .'</dateTime.iso8601>';
+    }
+
+    function xmlrpc_base64($data) {
+      $xmlrpc_base64 = new stdClass();
+      $xmlrpc_base64->is_base64 = TRUE;
+      $xmlrpc_base64->data = $data;
+      return $xmlrpc_base64;
+    }
+
+    function xmlrpc_base64_get_xml($xmlrpc_base64) {
+      return '<base64>'. base64_encode($xmlrpc_base64->data) .'</base64>';
+    }
+
+    /**
+    * Execute an XML remote procedural call. This is private function; call xmlrpc()
+    * in common.inc instead of this function.
+    *
+    * @return
+    *   A $xmlrpc_message object if the call succeeded; FALSE if the call failed
+    */
+    function _xmlrpc() {
+      $args = func_get_args();
+      $url = array_shift($args);
+      $this->xmlrpc_clear_error();
+      if (is_array($args[0])) {
+        $method = 'system.multicall';
+        $multicall_args = array();
+        foreach ($args[0] as $call) {
+          $multicall_args[] = array('methodName' => array_shift($call), 'params' => $call);
+        }
+        $args = array($multicall_args);
+      }
+      else {
+        $method = array_shift($args);
+      }
+      $xmlrpc_request = $this->xmlrpc_request($method, $args);
+      $result = $this->http_request($url, array("Content-Type" => "text/xml"), 'POST', $xmlrpc_request->xml);
+      if ($result->code != 200) {
+        $this->xmlrpc_error($result->code, $result->error);
+        return FALSE;
+      }
+      $message = $this->xmlrpc_message($result->data);
+      // Now parse what we've got back
+      if (!$this->xmlrpc_message_parse($message)) {
+        // XML error
+        $this->xmlrpc_error(-32700, t('Parse error. Not well formed'));
+        return FALSE;
+      }
+      // Is the message a fault?
+      if ($message->messagetype == 'fault') {
+        $this->xmlrpc_error($message->fault_code, $message->fault_string);
+        return FALSE;
+      }
+      // Message must be OK
+      return $message->params[0];
+    }
+
+    /**
+    * Returns the last XML-RPC client error number
+    */
+    function xmlrpc_errno() {
+      $error = $this->xmlrpc_error();
+      return ($error != NULL ? $error->code : NULL);
+    }
+    
+    /**
+    * Returns the last XML-RPC client error message
+    */
+    function xmlrpc_error_msg() {
+      $error = xmlrpc_error();
+      return ($error != NULL ? $error->message : NULL);
+    }
+
+  /**
+  * Clears any previous error.
+  */
+  function xmlrpc_clear_error() {
+    $this->xmlrpc_error(NULL, NULL, TRUE);
+  }
+
+}
diff --git a/plugins/Mollom/README b/plugins/Mollom/README
new file mode 100644 (file)
index 0000000..2b8c2d8
--- /dev/null
@@ -0,0 +1,22 @@
+The mollom plugin uses mollom.com to filter SN notices for spam.
+
+== Dependencies ==
+Your webserver needs to have xmlrpc php extention loaded.
+This is called php5-xmlrpc in Debian/Ubuntu
+
+== Installation ==
+Add the following to your config.php
+<?php
+addPlugin('Mollom',
+    array(
+        'public_key' => '...',
+        'private_key' => '...',
+        'servers' => array('http://88.151.243.81', 'http://82.103.131.136')
+    )
+);
+
+?>
+
+replace '...' with your own public and private keys for your site, which you can get from mollom.com
+
+If you're using this plugin, i'd love to know about it -- shiny@cpan.org or shiny on freenode.
index a37d5465e84800f8780db2380d7649157c1eb12a..248afe3fa88e92e32c2782c5c907b45055345530 100644 (file)
@@ -70,7 +70,7 @@ class OpenIDPlugin extends Plugin
         $m->connect('index.php?action=finishopenidlogin', array('action' => 'finishopenidlogin'));
         $m->connect('index.php?action=finishaddopenid', array('action' => 'finishaddopenid'));
         $m->connect('main/openidserver', array('action' => 'openidserver'));
-        
+
         return true;
     }
 
@@ -101,11 +101,11 @@ class OpenIDPlugin extends Plugin
                                           'xmlns:simple' => 'http://xrds-simple.net/core/1.0',
                                           'version' => '2.0'));
         $xrdsOutputter->element('Type', null, 'xri://$xrds*simple');
-        
+
         //consumer
         $xrdsOutputter->showXrdsService('http://specs.openid.net/auth/2.0/return_to',
                             common_local_url('finishopenidlogin'));
-                            
+
         //provider
         $xrdsOutputter->showXrdsService('http://specs.openid.net/auth/2.0/signon',
                             common_local_url('openidserver'),
@@ -308,4 +308,15 @@ class OpenIDPlugin extends Plugin
         $tables[] = 'User_openid_trustroot';
         return true;
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'OpenID',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou, Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:OpenID',
+                            'rawdescription' =>
+                            _m('Use <a href="http://openid.net/">OpenID</a> to login to the site.'));
+        return true;
+    }
 }
index 44288945be2fcaf3a4bdb908b1fc0da9117df1e3..0b411b8f7f11ba9e10cfa932cb58407809dc0f18 100644 (file)
@@ -22,7 +22,7 @@ class User_openid_trustroot extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('User_openid_trustroot', $kv);
     }
index fefd098671269f25a983559206d5cd0355da1cb3..b353d725526920c22df02be716a374050159e7d4 100644 (file)
@@ -97,4 +97,16 @@ ENDOFPIWIK;
         $action->inlineScript($piwikCode2);
         return true;
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'PiwikAnalytics',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Tobias Diekershoff, Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Piwik',
+                            'rawdescription' =>
+                            _m('Use <a href="http://piwik.org/">Piwik</a> Open Source Web analytics software.'));
+        return true;
+    }
+
 }
diff --git a/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php b/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
new file mode 100644 (file)
index 0000000..bae6c52
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Outputs 'powered by StatusNet' after site name
+ *
+ * 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  Action
+ * @package   StatusNet
+ * @author    Sarven Capadisli <csarven@status.net>
+ * @copyright 2008 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') && !defined('LACONICA')) {
+    exit(1);
+}
+
+/**
+ * Outputs 'powered by StatusNet' after site name
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Sarven Capadisli <csarven@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 PoweredByStatusNetPlugin extends Plugin
+{
+    function onEndAddressData($action)
+    {
+        $action->elementStart('span', 'poweredby');
+        $action->text(_('powered by'));
+        $action->element('a', array('href' => 'http://status.net/'), 'StatusNet');
+        $action->elementEnd('span');
+
+        return true;
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'PoweredByStatusNet',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Sarven Capdaisli',
+                            'homepage' => 'http://status.net/wiki/Plugin:PoweredByStatusNet',
+                            'rawdescription' =>
+                            _m('Outputs powered by <a href="http://status.net/">StatusNet</a> after site name.'));
+        return true;
+    }
+}
index 76a438dd5e9ec9f41e98e1ba32ad9e49e6a298bd..ddba942e6d4ab7eb07a8b70306cf5e5f8849cae1 100644 (file)
@@ -56,5 +56,18 @@ class PtitUrlPlugin extends UrlShortenerPlugin
             return strval($xml['href']);
         }
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => sprintf('PtitUrl (%s)', $this->shortenerName),
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:PtitUrl',
+                            'rawdescription' =>
+                            sprintf(_m('Uses <a href="http://%1$s/">%1$s</a> URL-shortener service.'),
+                                    $this->shortenerName));
+
+        return true;
+    }
 }
 
diff --git a/plugins/RSSCloud/LoggingAggregator.php b/plugins/RSSCloud/LoggingAggregator.php
new file mode 100644 (file)
index 0000000..e37eed1
--- /dev/null
@@ -0,0 +1,140 @@
+<?php
+/**
+ * This test class pretends to be an RSS aggregator. It logs notifications
+ * from the cloud.
+ *
+ * PHP version 5
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@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) 2009, 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);
+}
+
+/**
+ * Dummy aggregator that acts as a proper notification handler. It
+ * doesn't do anything but respond correctly when notified via
+ * REST.  Mostly, this is just and action I used to develop the plugin
+ * and easily test things end-to-end. I'm leaving it in here as it
+ * may be useful for developing the plugin further.
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@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 LoggingAggregatorAction extends Action
+{
+
+    var $challenge = null;
+    var $url       = null;
+
+    /**
+     * Initialization.
+     *
+     * @param array $args Web and URL arguments
+     *
+     * @return boolean false if user doesn't exist
+     */
+
+    function prepare($args)
+    {
+        parent::prepare($args);
+
+        $this->url       = $this->arg('url');
+        $this->challenge = $this->arg('challenge');
+
+        common_debug("args = " . var_export($this->args, true));
+        common_debug('url = ' . $this->url . ' challenge = ' . $this->challenge);
+
+        return true;
+    }
+
+    /**
+     * Handle the request
+     *
+     * @param array $args $_REQUEST data (unused)
+     *
+     * @return void
+     */
+
+    function handle($args)
+    {
+        parent::handle($args);
+
+        if (empty($this->url)) {
+            $this->showError('Hey, you have to provide a url parameter.');
+            return;
+        }
+
+        if (!empty($this->challenge)) {
+
+            // must be a GET
+
+            if ($_SERVER['REQUEST_METHOD'] != 'GET') {
+                $this->showError('This resource requires an HTTP GET.');
+                return;
+            }
+
+            header('Content-Type: text/xml');
+            echo $this->challenge;
+
+        } else {
+
+            // must be a POST
+
+            if ($_SERVER['REQUEST_METHOD'] != 'POST') {
+                $this->showError('This resource requires an HTTP POST.');
+                return;
+            }
+
+            header('Content-Type: text/xml');
+            Echo "<notifyResult success='true' msg='Thanks for the update.' />\n";
+        }
+
+        $this->ip = $_SERVER['REMOTE_ADDR'];
+
+        common_log(LOG_INFO, 'RSSCloud Logging Aggregator - ' .
+                   $this->ip . ' claims the feed at ' .
+                   $this->url . ' has been updated.');
+    }
+
+    /**
+     * Show an XML error when things go badly
+     *
+     * @param string $msg the error message
+     *
+     * @return void
+     */
+
+    function showError($msg)
+    {
+        header('HTTP/1.1 400 Bad Request');
+        header('Content-Type: text/xml');
+        echo "<?xml version='1.0'?>\n";
+        echo "<notifyResult success='false' msg='$msg' />\n";
+    }
+
+}
\ No newline at end of file
diff --git a/plugins/RSSCloud/README b/plugins/RSSCloud/README
new file mode 100644 (file)
index 0000000..1237e3e
--- /dev/null
@@ -0,0 +1,54 @@
+This plugin enables RSSCloud (http://rsscloud.org/) publishing and
+subscription handling for RSS 2.0 profile feeds (i.e:
+http://SITE/PATH/api/statuses/user_timeline/USERNAME.rss). When the
+plugin is enabled, StatusNet acts as both the publisher and hub ('writer' and
+'cloud' in RSSCloud parlance), but only for local StatusNet feeds. It's
+not possible to use it as a general purpose hub -- for instance you can't
+subscribe and get updates to a Wordpress feed from StatusNet using this
+plugin.
+
+To use the plugin, add the following to your config.php:
+
+    addPlugin('RSSCloud');
+
+Enabling the plugin will add a <cloud> element to your RSS 2.0 profile feeds
+that looks like this:
+
+    <cloud domain="SITE" port="80" path="/main/rsscloud/request_notify"
+    registerProcedure="" protocol="http-post"/>
+
+Aggregators may subscribe by sending a proper REST RSSCloud subscription
+request (the optional 'domain' parameter with challenge is supported).
+Subscribing aggregators will be notified ('pinged') when users they have
+subscribed to post new notices. Currently, REST is the only protocol
+supported for notifications.
+
+Deamon
+------
+
+There's also a daemon for offline processing of queued notices with
+RSSCloud destinations, which will start automatically if/when you run
+scripts/startdaemons.sh.
+
+Notes
+-----
+
+- Again, only RSS 2.0 profile feeds may be subscribed to, and they have
+  to be the ones with user names in them, like:
+      http://SITE/PATH/api/statuses/user_timeline/USERNAME.rss
+- Subscriptions are deleted after three notification failures in a row
+  (not sure this is optimal).
+- The plugin includes a dummy LoggingAggregator class that can be used
+  for end-to-end testing.  You probably don't want to mess with it.
+
+TODO
+----
+
+- Figure out why the RSSCloudSubcription can't ->delete() or ->update()
+- Support pinging via XML-RPC and SOAP
+- Automatically delete subscriptions? Point of reference: Dave's hub
+  implementation auto-deletes them after 25 hours. WordPress never deletes them.
+- Support additional feed URL addresses for the same feed (e.g.: by numeric ID,
+  ?user_id=xxx, etc.)
+- Support additional feeds that make sense (e.g: replies)?
+- Possibly use "rssCloud" (like Dave) instead of "RSSCloud" everywhere
diff --git a/plugins/RSSCloud/RSSCloudNotifier.php b/plugins/RSSCloud/RSSCloudNotifier.php
new file mode 100644 (file)
index 0000000..d454691
--- /dev/null
@@ -0,0 +1,240 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Class to ping an rssCloud endpoint when a feed has been updated
+ *
+ * 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>
+ * @copyright 2009 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 for notifying cloud-enabled RSS aggregators that StatusNet
+ * feeds have been updated.
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@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 RSSCloudNotifier
+{
+    const MAX_FAILURES = 3;
+
+    /**
+     * Send an HTTP GET to the notification handler with a
+     * challenge string to see if it repsonds correctly.
+     *
+     * @param string $endpoint URL of the notification handler
+     * @param string $feed     the feed being subscribed to
+     *
+     * @return boolean success
+     */
+    function challenge($endpoint, $feed)
+    {
+        $code   = common_confirmation_code(128);
+        $params = array('url' => $feed, 'challenge' => $code);
+        $url    = $endpoint . '?' . http_build_query($params);
+
+        try {
+            $client   = new HTTPClient();
+            $response = $client->get($url);
+        } catch (HTTP_Request2_Exception $e) {
+            common_log(LOG_INFO,
+                       'RSSCloud plugin - failure testing notify handler ' .
+                       $endpoint . ' - '  . $e->getMessage());
+            return false;
+        }
+
+        // Check response is betweet 200 and 299 and body contains challenge data
+
+        $status = $response->getStatus();
+        $body   = $response->getBody();
+
+        if ($status >= 200 && $status < 300) {
+
+            // NOTE: the spec says that the body must contain the string
+            // challenge.  It doesn't say that the body must contain the
+            // challenge string ONLY, although that seems to be the way
+            // the other implementors have interpreted it.
+
+            if (strpos($body, $code) !== false) {
+                common_log(LOG_INFO, 'RSSCloud plugin - ' .
+                           "success testing notify handler:  $endpoint");
+                return true;
+            } else {
+                common_log(LOG_INFO, 'RSSCloud plugin - ' .
+                          'challenge/repsonse failed for notify handler ' .
+                           $endpoint);
+                common_debug('body = ' . var_export($body, true));
+                return false;
+            }
+        } else {
+            common_log(LOG_INFO, 'RSSCloud plugin - ' .
+                       "failure testing notify handler:  $endpoint " .
+                       ' - got HTTP ' . $status);
+            common_debug('body = ' . var_export($body, true));
+            return false;
+        }
+    }
+
+    /**
+     * HTTP POST a notification that a feed has been updated
+     * ('ping the cloud').
+     *
+     * @param String $endpoint URL of the notification handler
+     * @param String $feed     the feed being subscribed to
+     *
+     * @return boolean success
+     */
+    function postUpdate($endpoint, $feed)
+    {
+
+        $headers  = array();
+        $postdata = array('url' => $feed);
+
+        try {
+            $client   = new HTTPClient();
+            $response = $client->post($endpoint, $headers, $postdata);
+        } catch (HTTP_Request2_Exception $e) {
+            common_log(LOG_INFO, 'RSSCloud plugin - failure notifying ' .
+                       $endpoint . ' that feed ' . $feed .
+                       ' has changed: ' . $e->getMessage());
+            return false;
+        }
+
+        $status = $response->getStatus();
+
+        if ($status >= 200 && $status < 300) {
+            common_log(LOG_INFO, 'RSSCloud plugin - success notifying ' .
+                       $endpoint . ' that feed ' . $feed . ' has changed.');
+            return true;
+        } else {
+            common_log(LOG_INFO, 'RSSCloud plugin - failure notifying ' .
+                       $endpoint . ' that feed ' . $feed .
+                       ' has changed: got HTTP ' . $status);
+            return false;
+        }
+    }
+
+    /**
+     * Notify all subscribers to a profile feed that it has changed.
+     *
+     * @param Profile $profile the profile whose feed has been
+     *        updated
+     *
+     * @return boolean success
+     */
+    function notify($profile)
+    {
+        $feed = common_path('api/statuses/user_timeline/') .
+          $profile->nickname . '.rss';
+
+        $cloudSub = new RSSCloudSubscription();
+
+        $cloudSub->subscribed = $profile->id;
+
+        if ($cloudSub->find()) {
+            while ($cloudSub->fetch()) {
+                $result = $this->postUpdate($cloudSub->url, $feed);
+                if ($result == false) {
+                    $this->handleFailure($cloudSub);
+                }
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Handle problems posting cloud notifications. Increment the failure
+     * count, or delete the subscription if the maximum number of failures
+     * is exceeded.
+     *
+     * XXX: Redo with proper DB_DataObject methods once I figure out what
+     * what the problem is with pluginized DB_DataObjects. -Z
+     *
+     * @param RSSCloudSubscription $cloudSub the subscription in question
+     *
+     * @return boolean success
+     */
+    function handleFailure($cloudSub)
+    {
+        $failCnt = $cloudSub->failures + 1;
+
+        if ($failCnt == self::MAX_FAILURES) {
+
+            common_log(LOG_INFO,
+                       'Deleting RSSCloud subcription ' .
+                       '(max failure count reached), profile: ' .
+                       $cloudSub->subscribed .
+                       ' handler: ' .
+                       $cloudSub->url);
+
+            // XXX: WTF! ->delete() doesn't work. Clearly, there are some issues with
+            // the DB_DataObject, or my understanding of it.  Have to drop into SQL.
+
+            // $result = $cloudSub->delete();
+
+            $qry = 'DELETE from rsscloud_subscription' .
+              ' WHERE subscribed = ' . $cloudSub->subscribed .
+              ' AND url = \'' . $cloudSub->url . '\'';
+
+            $result = $cloudSub->query($qry);
+
+            if (!$result) {
+                common_log_db_error($cloudSub, 'DELETE', __FILE__);
+                common_log(LOG_ERR, 'Could not delete RSSCloud subscription.');
+            }
+
+        } else {
+
+            common_debug('Updating failure count on RSSCloud subscription. ' .
+                         $failCnt);
+
+            $failCnt = $cloudSub->failures + 1;
+
+            // XXX: ->update() not working either, gar!
+
+            $qry = 'UPDATE rsscloud_subscription' .
+              ' SET failures = ' . $failCnt .
+              ' WHERE subscribed = ' . $cloudSub->subscribed .
+              ' AND url = \'' . $cloudSub->url . '\'';
+
+            $result = $cloudSub->query($qry);
+
+            if (!$result) {
+                common_log_db_error($cloudsub, 'UPDATE', __FILE__);
+                common_log(LOG_ERR,
+                           'Could not update failure ' .
+                           'count on RSSCloud subscription');
+            }
+        }
+    }
+
+}
+
diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php
new file mode 100644 (file)
index 0000000..2de1626
--- /dev/null
@@ -0,0 +1,295 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to support RSSCloud
+ *
+ * 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>
+ * @copyright 2009 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);
+}
+
+define('RSSCLOUDPLUGIN_VERSION', '0.1');
+
+/**
+ * Plugin class for adding RSSCloud capabilities to StatusNet
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@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 RSSCloudPlugin extends Plugin
+{
+    /**
+     * Our friend, the constructor
+     *
+     * @return void
+     */
+    function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * Setup the info for the subscription handler. Allow overriding
+     * to point at another cloud hub (not currently used).
+     *
+     * @return void
+     */
+
+    function onInitializePlugin()
+    {
+        $this->domain   = common_config('rsscloud', 'domain');
+        $this->port     = common_config('rsscloud', 'port');
+        $this->path     = common_config('rsscloud', 'path');
+        $this->funct    = common_config('rsscloud', 'function');
+        $this->protocol = common_config('rsscloud', 'protocol');
+
+        // set defaults
+
+        $local_server = parse_url(common_path('main/rsscloud/request_notify'));
+
+        if (empty($this->domain)) {
+            $this->domain = $local_server['host'];
+        }
+
+        if (empty($this->port)) {
+            $this->port = '80';
+        }
+
+        if (empty($this->path)) {
+            $this->path = $local_server['path'];
+        }
+
+        if (empty($this->funct)) {
+            $this->funct = '';
+        }
+
+        if (empty($this->protocol)) {
+            $this->protocol = 'http-post';
+        }
+    }
+
+    /**
+     * Add RSSCloud-related paths to the router table
+     *
+     * Hook for RouterInitialized event.
+     *
+     * @param Mapper &$m URL parser and mapper
+     *
+     * @return boolean hook return
+     */
+
+    function onRouterInitialized(&$m)
+    {
+        $m->connect('/main/rsscloud/request_notify',
+                    array('action' => 'RSSCloudRequestNotify'));
+
+        // XXX: This is just for end-to-end testing. Uncomment if you need to pretend
+        //      to be a cloud hub for some reason.
+        //$m->connect('/main/rsscloud/notify',
+        //            array('action' => 'LoggingAggregator'));
+
+        return true;
+    }
+
+    /**
+     * Automatically load the actions and libraries used by
+     * the RSSCloud plugin
+     *
+     * @param Class $cls the class
+     *
+     * @return boolean hook return
+     *
+     */
+
+    function onAutoload($cls)
+    {
+        switch ($cls)
+        {
+        case 'RSSCloudSubscription':
+            include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudSubscription.php';
+            return false;
+        case 'RSSCloudNotifier':
+            include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php';
+            return false;
+        case 'RSSCloudRequestNotifyAction':
+        case 'LoggingAggregatorAction':
+            include_once INSTALLDIR . '/plugins/RSSCloud/' .
+              mb_substr($cls, 0, -6) . '.php';
+            return false;
+        default:
+            return true;
+        }
+    }
+
+    /**
+     * Add a <cloud> element to the RSS feed (after the rss <channel>
+     * element is started).
+     *
+     * @param Action $action the ApiAction
+     *
+     * @return void
+     */
+
+    function onStartApiRss($action)
+    {
+        if (get_class($action) == 'ApiTimelineUserAction') {
+
+            $attrs = array('domain'            => $this->domain,
+                           'port'              => $this->port,
+                           'path'              => $this->path,
+                           'registerProcedure' => $this->funct,
+                           'protocol'          => $this->protocol);
+
+            // Dipping into XMLWriter to avoid a full end element (</cloud>).
+
+            $action->xw->startElement('cloud');
+            foreach ($attrs as $name => $value) {
+                $action->xw->writeAttribute($name, $value);
+            }
+
+            $action->xw->endElement();
+        }
+    }
+
+    /**
+     * Add an RSSCloud queue item for each notice
+     *
+     * @param Notice $notice      the notice
+     * @param array  &$transports the list of transports (queues)
+     *
+     * @return boolean hook return
+     */
+
+    function onStartEnqueueNotice($notice, &$transports)
+    {
+        array_push($transports, 'rsscloud');
+        return true;
+    }
+
+    /**
+     * broadcast the message when not using queuehandler
+     *
+     * @param Notice &$notice the notice
+     * @param array  $queue   destination queue
+     *
+     * @return boolean hook return
+     */
+
+    function onUnqueueHandleNotice(&$notice, $queue)
+    {
+        if (($queue == 'rsscloud') && ($this->_isLocal($notice))) {
+
+            common_debug('broadcasting rssCloud bound notice ' . $notice->id);
+
+            $profile = $notice->getProfile();
+
+            $notifier = new RSSCloudNotifier();
+            $notifier->notify($profile);
+
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Determine whether the notice was locally created
+     *
+     * @param Notice $notice the notice in question
+     *
+     * @return boolean locality
+     */
+
+    function _isLocal($notice)
+    {
+        return ($notice->is_local == Notice::LOCAL_PUBLIC ||
+                $notice->is_local == Notice::LOCAL_NONPUBLIC);
+    }
+
+    /**
+     * Create the rsscloud_subscription table if it's not
+     * already in the DB
+     *
+     * @return boolean hook return
+     */
+
+    function onCheckSchema()
+    {
+        $schema = Schema::get();
+        $schema->ensureTable('rsscloud_subscription',
+                             array(new ColumnDef('subscribed', 'integer',
+                                                 null, false, 'PRI'),
+                                   new ColumnDef('url', 'varchar',
+                                                 '255', false, 'PRI'),
+                                   new ColumnDef('failures', 'integer',
+                                                 null, false, null, 0),
+                                   new ColumnDef('created', 'datetime',
+                                                 null, false),
+                                   new ColumnDef('modified', 'timestamp',
+                                                 null, false, null,
+                                                 'CURRENT_TIMESTAMP',
+                                                 'on update CURRENT_TIMESTAMP')
+                                   ));
+         return true;
+    }
+
+    /**
+     * Add RSSCloudQueueHandler to the list of valid daemons to
+     * start
+     *
+     * @param array $daemons the list of daemons to run
+     *
+     * @return boolean hook return
+     *
+     */
+
+    function onGetValidDaemons($daemons)
+    {
+        array_push($daemons, INSTALLDIR .
+                   '/plugins/RSSCloud/RSSCloudQueueHandler.php');
+        return true;
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'RSSCloud',
+                            'version' => RSSCLOUDPLUGIN_VERSION,
+                            'author' => 'Zach Copley',
+                            'homepage' => 'http://status.net/wiki/Plugin:RSSCloud',
+                            'rawdescription' =>
+                            _m('The RSSCloud plugin enables your StatusNet instance to publish ' .
+                               'real-time updates for profile RSS feeds using the ' .
+                               '<a href="http://rsscloud.org/">RSSCloud protocol</a>".'));
+
+        return true;
+    }
+
+}
+
diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php
new file mode 100755 (executable)
index 0000000..693dd27
--- /dev/null
@@ -0,0 +1,78 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, 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::';
+$longoptions = array('id::');
+
+$helptext = <<<END_OF_ENJIT_HELP
+Daemon script for pushing new notices to RSSCloud subscribers.
+
+    -i --id           Identity (default none)
+
+END_OF_ENJIT_HELP;
+
+require_once INSTALLDIR . '/scripts/commandline.inc';
+require_once INSTALLDIR . '/lib/queuehandler.php';
+require_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php';
+require_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudSubscription.php';
+
+class RSSCloudQueueHandler extends QueueHandler
+{
+    var $notifier = null;
+
+    function transport()
+    {
+        return 'rsscloud';
+    }
+
+    function start()
+    {
+        $this->log(LOG_INFO, "INITIALIZE");
+        $this->notifier = new RSSCloudNotifier();
+        return true;
+    }
+
+    function handle_notice($notice)
+    {
+        $profile = $notice->getProfile();
+        return $this->notifier->notify($profile);
+    }
+
+    function finish()
+    {
+    }
+
+}
+
+if (have_option('i')) {
+    $id = get_option_value('i');
+} else if (have_option('--id')) {
+    $id = get_option_value('--id');
+} else if (count($args) > 0) {
+    $id = $args[0];
+} else {
+    $id = null;
+}
+
+$handler = new RSSCloudQueueHandler($id);
+
+$handler->runOnce();
diff --git a/plugins/RSSCloud/RSSCloudRequestNotify.php b/plugins/RSSCloud/RSSCloudRequestNotify.php
new file mode 100644 (file)
index 0000000..d76c08d
--- /dev/null
@@ -0,0 +1,347 @@
+<?php
+/**
+ * Action to let RSSCloud aggregators request update notification when
+ * user profile feeds change.
+ *
+ * PHP version 5
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@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) 2009, 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);
+}
+
+/**
+ * Action class to handle RSSCloud notification (subscription) requests
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@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 RSSCloudRequestNotifyAction extends Action
+{
+    /**
+     * Initialization.
+     *
+     * @param array $args Web and URL arguments
+     *
+     * @return boolean false if user doesn't exist
+     */
+
+    function prepare($args)
+    {
+        parent::prepare($args);
+
+        $this->ip   = $_SERVER['REMOTE_ADDR'];
+        $this->port = $this->arg('port');
+        $this->path = $this->arg('path');
+
+        if ($this->path[0] != '/') {
+            $this->path = '/' . $this->path;
+        }
+
+        $this->protocol  = $this->arg('protocol');
+        $this->procedure = $this->arg('notifyProcedure');
+        $this->domain    = $this->arg('domain');
+
+        $this->feeds = $this->getFeeds();
+
+        return true;
+    }
+
+    /**
+     * Handle the request
+     *
+     * Checks for all the required parameters for a subscription,
+     * validates that the feed being subscribed to is real, and then
+     * saves the subsctiption.
+     *
+     * @param array $args $_REQUEST data (unused)
+     *
+     * @return void
+     */
+
+    function handle($args)
+    {
+        parent::handle($args);
+
+        if ($_SERVER['REQUEST_METHOD'] != 'POST') {
+            $this->showResult(false, 'Request must be POST.');
+            return;
+        }
+
+        $missing = array();
+
+        if (empty($this->port)) {
+            $missing[] = 'port';
+        }
+
+        if (empty($this->path)) {
+            $missing[] = 'path';
+        }
+
+        if (empty($this->protocol)) {
+            $missing[] = 'protocol';
+        } else if (strtolower($this->protocol) != 'http-post') {
+            $msg = 'Only http-post notifications are supported at this time.';
+            $this->showResult(false, $msg);
+            return;
+        }
+
+        if (!isset($this->procedure)) {
+            $missing[] = 'notifyProcedure';
+        }
+
+        if (!empty($missing)) {
+            $msg = 'The following parameters were missing from the request body: ' .
+                implode(', ', $missing) . '.';
+            $this->showResult(false, $msg);
+            return;
+        }
+
+        if (empty($this->feeds)) {
+            $msg = 'You must provide at least one valid profile feed url ' .
+              '(url1, url2, url3 ... urlN).';
+            $this->showResult(false, $msg);
+            return;
+        }
+
+        // We have to validate everything before saving anything.
+        // We only return one success or failure no matter how
+        // many feeds the subscriber is trying to subscribe to
+
+        foreach ($this->feeds as $feed) {
+
+            if (!$this->validateFeed($feed)) {
+
+                $nh = $this->getNotifyUrl();
+                common_log(LOG_WARNING,
+                           "RSSCloud plugin - $nh tried to subscribe to invalid feed: $feed");
+
+                $msg = 'Feed subscription failed - Not a valid feed.';
+                $this->showResult(false, $msg);
+                return;
+            }
+
+            if (!$this->testNotificationHandler($feed)) {
+                $msg = 'Feed subscription failed - ' .
+                'notification handler doesn\'t respond correctly.';
+                $this->showResult(false, $msg);
+                return;
+            }
+
+        }
+
+        foreach ($this->feeds as $feed) {
+            $this->saveSubscription($feed);
+        }
+
+        // XXX: What to do about deleting stale subscriptions?
+        // 25 hours seems harsh. WordPress doesn't ever remove
+        // subscriptions.
+
+        $msg = 'Thanks for the subscription. ' .
+          'When the feed(s) update(s) we\'ll notify you.';
+
+        $this->showResult(true, $msg);
+    }
+
+    /**
+     * Validate that the requested feed is one we serve
+     * up via RSSCloud.
+     *
+     * @param string $feed the feed in question
+     *
+     * @return void
+     */
+
+    function validateFeed($feed)
+    {
+        $user = $this->userFromFeed($feed);
+
+        if (empty($user)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Pull all of the urls (url1, url2, url3...urlN) that
+     * the subscriber wants to subscribe to.
+     *
+     * @return array $feeds the list of feeds
+     */
+
+    function getFeeds()
+    {
+        $feeds = array();
+
+        while (list($key, $feed) = each($this->args)) {
+            if (preg_match('/^url\d*$/', $key)) {
+                $feeds[] = $feed;
+            }
+        }
+
+        return $feeds;
+    }
+
+    /**
+     * Test that a notification handler is there and is reponding
+     * correctly.  This is called before adding a subscription.
+     *
+     * @param string $feed the feed to verify
+     *
+     * @return boolean success result
+     */
+
+    function testNotificationHandler($feed)
+    {
+        $notifyUrl = $this->getNotifyUrl();
+
+        $notifier = new RSSCloudNotifier();
+
+        if (isset($this->domain)) {
+
+            // 'domain' param set, so we have to use GET and send a challenge
+
+            common_log(LOG_INFO,
+                       'RSSCloud plugin - Testing notification handler with challenge: ' .
+                       $notifyUrl);
+            return $notifier->challenge($notifyUrl, $feed);
+
+        } else {
+            common_log(LOG_INFO, 'RSSCloud plugin - Testing notification handler: ' .
+                       $notifyUrl);
+
+            return $notifier->postUpdate($notifyUrl, $feed);
+        }
+    }
+
+    /**
+     * Build the URL for the notification handler based on the
+     * parameters passed in with the subscription request.
+     *
+     * @return string notification handler url
+     */
+
+    function getNotifyUrl()
+    {
+        if (isset($this->domain)) {
+            return 'http://' . $this->domain . ':' . $this->port . $this->path;
+        } else {
+            return 'http://' . $this->ip . ':' . $this->port . $this->path;
+        }
+    }
+
+    /**
+     * Uses the nickname part of the subscribed feed URL to figure out
+     * whethere there's really a user with such a feed.  Used to
+     * validate feeds before adding a subscription.
+     *
+     * @param string $feed the feed in question
+     *
+     * @return boolean success
+     */
+
+    function userFromFeed($feed)
+    {
+        // We only do profile feeds
+
+        $path  = common_path('api/statuses/user_timeline/');
+        $valid = '%^' . $path . '(?<nickname>.*)\.rss$%';
+
+        if (preg_match($valid, $feed, $matches)) {
+            $user = User::staticGet('nickname', $matches['nickname']);
+            if (!empty($user)) {
+                return $user;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Save an RSSCloud subscription
+     *
+     * @param string $feed a valid profile feed
+     *
+     * @return boolean success result
+     */
+
+    function saveSubscription($feed)
+    {
+        $user = $this->userFromFeed($feed);
+
+        $notifyUrl = $this->getNotifyUrl();
+
+        $sub = RSSCloudSubscription::getSubscription($user->id, $notifyUrl);
+
+        if ($sub) {
+            common_log(LOG_INFO, "RSSCloud plugin - $notifyUrl refreshed subscription" .
+                         " to user $user->nickname (id: $user->id).");
+        } else {
+
+            $sub = new RSSCloudSubscription();
+
+            $sub->subscribed = $user->id;
+            $sub->url        = $notifyUrl;
+            $sub->created    = common_sql_now();
+
+            if (!$sub->insert()) {
+                common_log_db_error($sub, 'INSERT', __FILE__);
+                return false;
+            }
+
+            common_log(LOG_INFO, "RSSCloud plugin - $notifyUrl subscribed" .
+                       " to user $user->nickname (id: $user->id)");
+        }
+
+        return true;
+    }
+
+    /**
+     * Show an XML message indicating the subscription
+     * was successful or failed.
+     *
+     * @param boolean $success whether it was good or bad
+     * @param string  $msg     the message to output
+     *
+     * @return boolean success result
+     */
+
+    function showResult($success, $msg)
+    {
+        $this->startXML();
+        $this->elementStart('notifyResult',
+                            array('success' => ($success) ? 'true' : 'false',
+                                  'msg'     => $msg));
+        $this->endXML();
+    }
+
+}
+
diff --git a/plugins/RSSCloud/RSSCloudSubscription.php b/plugins/RSSCloud/RSSCloudSubscription.php
new file mode 100644 (file)
index 0000000..396c604
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, 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);
+}
+
+/**
+ * Table Definition for rsscloud_subscription
+ */
+
+require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
+
+class RSSCloudSubscription extends Memcached_DataObject {
+
+    var $__table='rsscloud_subscription'; // table name
+    var $subscribed;                      // int    primary key user id
+    var $url;                             // string primary key
+    var $failures;                        // int
+    var $created;                         // datestamp()
+    var $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
+
+    function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('DataObjects_Grp',$k,$v); }
+
+    function table()
+    {
+
+        $db = $this->getDatabaseConnection();
+        $dbtype = $db->phptype;
+
+        $cols = array('subscribed' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+                      'url'        => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
+                      'failures'   => DB_DATAOBJECT_INT,
+                      'created'    => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
+                      'modified'  => ($dbtype == 'mysql' || $dbtype == 'mysqli') ?
+                      DB_DATAOBJECT_MYSQLTIMESTAMP + DB_DATAOBJECT_NOTNULL :
+                      DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
+                      );
+
+        return $cols;
+    }
+
+    function keys()
+    {
+        return array('subscribed' => 'N', 'url' => 'N');
+    }
+
+    static function getSubscription($subscribed, $url)
+    {
+        $sub = new RSSCloudSubscription();
+        $sub->whereAdd("subscribed = $subscribed");
+        $sub->whereAdd("url = '$url'");
+        $sub->limit(1);
+
+        if ($sub->find()) {
+            $sub->fetch();
+            return $sub;
+        }
+
+        return false;
+    }
+
+}
index a810b716531586ba85ee33d993d59bec0454c03c..21e465b53d0fb93f454aa6c4efcae44ccf682e1b 100644 (file)
@@ -310,8 +310,7 @@ class RealtimePlugin extends Plugin
 
     function _getScripts()
     {
-        return array('plugins/Realtime/realtimeupdate.js',
-                     'plugins/Realtime/json2.js');
+        return array('plugins/Realtime/realtimeupdate.js');
     }
 
     function _updateInitialize($timeline, $user_id)
diff --git a/plugins/Realtime/json2.js b/plugins/Realtime/json2.js
deleted file mode 100644 (file)
index 7e27df5..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
-    http://www.JSON.org/json2.js
-    2009-04-16
-
-    Public Domain.
-
-    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
-    See http://www.JSON.org/js.html
-
-    This file creates a global JSON object containing two methods: stringify
-    and parse.
-
-        JSON.stringify(value, replacer, space)
-            value       any JavaScript value, usually an object or array.
-
-            replacer    an optional parameter that determines how object
-                        values are stringified for objects. It can be a
-                        function or an array of strings.
-
-            space       an optional parameter that specifies the indentation
-                        of nested structures. If it is omitted, the text will
-                        be packed without extra whitespace. If it is a number,
-                        it will specify the number of spaces to indent at each
-                        level. If it is a string (such as '\t' or '&nbsp;'),
-                        it contains the characters used to indent at each level.
-
-            This method produces a JSON text from a JavaScript value.
-
-            When an object value is found, if the object contains a toJSON
-            method, its toJSON method will be called and the result will be
-            stringified. A toJSON method does not serialize: it returns the
-            value represented by the name/value pair that should be serialized,
-            or undefined if nothing should be serialized. The toJSON method
-            will be passed the key associated with the value, and this will be
-            bound to the object holding the key.
-
-            For example, this would serialize Dates as ISO strings.
-
-                Date.prototype.toJSON = function (key) {
-                    function f(n) {
-                        // Format integers to have at least two digits.
-                        return n < 10 ? '0' + n : n;
-                    }
-
-                    return this.getUTCFullYear()   + '-' +
-                         f(this.getUTCMonth() + 1) + '-' +
-                         f(this.getUTCDate())      + 'T' +
-                         f(this.getUTCHours())     + ':' +
-                         f(this.getUTCMinutes())   + ':' +
-                         f(this.getUTCSeconds())   + 'Z';
-                };
-
-            You can provide an optional replacer method. It will be passed the
-            key and value of each member, with this bound to the containing
-            object. The value that is returned from your method will be
-            serialized. If your method returns undefined, then the member will
-            be excluded from the serialization.
-
-            If the replacer parameter is an array of strings, then it will be
-            used to select the members to be serialized. It filters the results
-            such that only members with keys listed in the replacer array are
-            stringified.
-
-            Values that do not have JSON representations, such as undefined or
-            functions, will not be serialized. Such values in objects will be
-            dropped; in arrays they will be replaced with null. You can use
-            a replacer function to replace those with JSON values.
-            JSON.stringify(undefined) returns undefined.
-
-            The optional space parameter produces a stringification of the
-            value that is filled with line breaks and indentation to make it
-            easier to read.
-
-            If the space parameter is a non-empty string, then that string will
-            be used for indentation. If the space parameter is a number, then
-            the indentation will be that many spaces.
-
-            Example:
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}]);
-            // text is '["e",{"pluribus":"unum"}]'
-
-
-            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
-            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
-            text = JSON.stringify([new Date()], function (key, value) {
-                return this[key] instanceof Date ?
-                    'Date(' + this[key] + ')' : value;
-            });
-            // text is '["Date(---current time---)"]'
-
-
-        JSON.parse(text, reviver)
-            This method parses a JSON text to produce an object or array.
-            It can throw a SyntaxError exception.
-
-            The optional reviver parameter is a function that can filter and
-            transform the results. It receives each of the keys and values,
-            and its return value is used instead of the original value.
-            If it returns what it received, then the structure is not modified.
-            If it returns undefined then the member is deleted.
-
-            Example:
-
-            // Parse the text. Values that look like ISO date strings will
-            // be converted to Date objects.
-
-            myData = JSON.parse(text, function (key, value) {
-                var a;
-                if (typeof value === 'string') {
-                    a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
-                    if (a) {
-                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
-                            +a[5], +a[6]));
-                    }
-                }
-                return value;
-            });
-
-            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
-                var d;
-                if (typeof value === 'string' &&
-                        value.slice(0, 5) === 'Date(' &&
-                        value.slice(-1) === ')') {
-                    d = new Date(value.slice(5, -1));
-                    if (d) {
-                        return d;
-                    }
-                }
-                return value;
-            });
-
-
-    This is a reference implementation. You are free to copy, modify, or
-    redistribute.
-
-    This code should be minified before deployment.
-    See http://javascript.crockford.com/jsmin.html
-
-    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
-    NOT CONTROL.
-*/
-
-/*jslint evil: true */
-
-/*global JSON */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
-    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
-    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
-    lastIndex, length, parse, prototype, push, replace, slice, stringify,
-    test, toJSON, toString, valueOf
-*/
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (!this.JSON) {
-    JSON = {};
-}
-(function () {
-
-    function f(n) {
-        // Format integers to have at least two digits.
-        return n < 10 ? '0' + n : n;
-    }
-
-    if (typeof Date.prototype.toJSON !== 'function') {
-
-        Date.prototype.toJSON = function (key) {
-
-            return this.getUTCFullYear()   + '-' +
-                 f(this.getUTCMonth() + 1) + '-' +
-                 f(this.getUTCDate())      + 'T' +
-                 f(this.getUTCHours())     + ':' +
-                 f(this.getUTCMinutes())   + ':' +
-                 f(this.getUTCSeconds())   + 'Z';
-        };
-
-        String.prototype.toJSON =
-        Number.prototype.toJSON =
-        Boolean.prototype.toJSON = function (key) {
-            return this.valueOf();
-        };
-    }
-
-    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
-        gap,
-        indent,
-        meta = {    // table of character substitutions
-            '\b': '\\b',
-            '\t': '\\t',
-            '\n': '\\n',
-            '\f': '\\f',
-            '\r': '\\r',
-            '"' : '\\"',
-            '\\': '\\\\'
-        },
-        rep;
-
-
-    function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
-        escapable.lastIndex = 0;
-        return escapable.test(string) ?
-            '"' + string.replace(escapable, function (a) {
-                var c = meta[a];
-                return typeof c === 'string' ? c :
-                    '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-            }) + '"' :
-            '"' + string + '"';
-    }
-
-
-    function str(key, holder) {
-
-// Produce a string from holder[key].
-
-        var i,          // The loop counter.
-            k,          // The member key.
-            v,          // The member value.
-            length,
-            mind = gap,
-            partial,
-            value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
-        if (value && typeof value === 'object' &&
-                typeof value.toJSON === 'function') {
-            value = value.toJSON(key);
-        }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
-        if (typeof rep === 'function') {
-            value = rep.call(holder, key, value);
-        }
-
-// What happens next depends on the value's type.
-
-        switch (typeof value) {
-        case 'string':
-            return quote(value);
-
-        case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
-            return isFinite(value) ? String(value) : 'null';
-
-        case 'boolean':
-        case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
-            return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
-        case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
-            if (!value) {
-                return 'null';
-            }
-
-// Make an array to hold the partial results of stringifying this object value.
-
-            gap += indent;
-            partial = [];
-
-// Is the value an array?
-
-            if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
-                length = value.length;
-                for (i = 0; i < length; i += 1) {
-                    partial[i] = str(i, value) || 'null';
-                }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
-                v = partial.length === 0 ? '[]' :
-                    gap ? '[\n' + gap +
-                            partial.join(',\n' + gap) + '\n' +
-                                mind + ']' :
-                          '[' + partial.join(',') + ']';
-                gap = mind;
-                return v;
-            }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
-            if (rep && typeof rep === 'object') {
-                length = rep.length;
-                for (i = 0; i < length; i += 1) {
-                    k = rep[i];
-                    if (typeof k === 'string') {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
-                for (k in value) {
-                    if (Object.hasOwnProperty.call(value, k)) {
-                        v = str(k, value);
-                        if (v) {
-                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
-                        }
-                    }
-                }
-            }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
-            v = partial.length === 0 ? '{}' :
-                gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
-                        mind + '}' : '{' + partial.join(',') + '}';
-            gap = mind;
-            return v;
-        }
-    }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
-    if (typeof JSON.stringify !== 'function') {
-        JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
-            var i;
-            gap = '';
-            indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
-            if (typeof space === 'number') {
-                for (i = 0; i < space; i += 1) {
-                    indent += ' ';
-                }
-
-// If the space parameter is a string, it will be used as the indent string.
-
-            } else if (typeof space === 'string') {
-                indent = space;
-            }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
-            rep = replacer;
-            if (replacer && typeof replacer !== 'function' &&
-                    (typeof replacer !== 'object' ||
-                     typeof replacer.length !== 'number')) {
-                throw new Error('JSON.stringify');
-            }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
-            return str('', {'': value});
-        };
-    }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
-    if (typeof JSON.parse !== 'function') {
-        JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
-            var j;
-
-            function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
-                var k, v, value = holder[key];
-                if (value && typeof value === 'object') {
-                    for (k in value) {
-                        if (Object.hasOwnProperty.call(value, k)) {
-                            v = walk(value, k);
-                            if (v !== undefined) {
-                                value[k] = v;
-                            } else {
-                                delete value[k];
-                            }
-                        }
-                    }
-                }
-                return reviver.call(holder, key, value);
-            }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
-            cx.lastIndex = 0;
-            if (cx.test(text)) {
-                text = text.replace(cx, function (a) {
-                    return '\\u' +
-                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
-                });
-            }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
-            if (/^[\],:{}\s]*$/.
-test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
-replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
-replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
-                j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
-                return typeof reviver === 'function' ?
-                    walk({'': j}, '') : j;
-            }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
-            throw new SyntaxError('JSON.parse');
-        };
-    }
-}());
index 281d3d82de5175aee43369c70b64eb6c1076b239..52151f9de8dad1dd42df0e95034b020ff98e9e32 100644 (file)
@@ -130,8 +130,8 @@ RealtimeUpdate = {
           }
 
           user = data['user'];
-          html = data['html'].replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"');
-          source = data['source'].replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"');
+          html = data['html'].replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"').replace(/&amp;/g,'&');
+          source = data['source'].replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"').replace(/&amp;/g,'&');
 
           ni = "<li class=\"hentry notice\" id=\"notice-"+unique+"\">"+
                "<div class=\"entry-title\">"+
index db118dbb810dcf5ce946fc5b066e68ef7ff64ecc..3665214f85710c603f811763c78e08a7e7afe5e1 100644 (file)
@@ -62,9 +62,8 @@ class RecaptchaPlugin extends Plugin
 
     function onEndRegistrationFormData($action)
     {
-        $action->style('#recaptcha_area{float:left;}');
         $action->elementStart('li');
-        $action->raw('<label for="recaptcha_area">Captcha</label>');
+        $action->raw('<label for="recaptcha">Captcha</label>');
         if($this->checkssl() === true) {
             $action->raw(recaptcha_get_html($this->public_key), null, true);
         } else { 
index d48283b2ee1d3ac5f7a6b4a876c187dbf877e792..d157ea067cf70def1d750451b63d6e93473dd3ae 100644 (file)
@@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-require_once INSTALLDIR.'/plugins/Authentication/AuthenticationPlugin.php';
-
 class ReverseUsernameAuthenticationPlugin extends AuthenticationPlugin
 {
     //---interface implementation---//
index 6e361aafbefb898326a90b296e3b6788e535e6c4..913741226b4302cd2c63bc09f439659fe9a89d68 100644 (file)
@@ -1,8 +1,12 @@
 <?php
-/*
+/**
  * StatusNet - the distributed open-source microblogging tool
  * Copyright (C) 2009, StatusNet, Inc.
  *
+ * A sample module to show best practices for StatusNet plugins
+ *
+ * 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
  *
  * 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    Brion Vibber <brionv@status.net>
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
  */
 
-/**
- * @package SamplePlugin
- * @maintainer Your Name <you@example.com>
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
+if (!defined('STATUSNET')) {
     // This check helps protect against security problems;
     // your code file can't be executed directly from the web.
     exit(1);
 }
 
+/**
+ * Sample plugin main class
+ *
+ * Each plugin requires a main class to interact with the StatusNet system.
+ *
+ * The main class usually extends the Plugin class that comes with StatusNet.
+ *
+ * The class has standard-named methods that will be called when certain events
+ * happen in the code base. These methods have names like 'onX' where X is an
+ * event name (see EVENTS.txt for the list of available events). Event handlers
+ * have pre-defined arguments, based on which event they're handling. A typical
+ * event handler:
+ *
+ *    function onSomeEvent($paramA, &$paramB)
+ *    {
+ *        if ($paramA == 'jed') {
+ *            throw new Exception(sprintf(_m("Invalid parameter %s"), $paramA));
+ *        }
+ *        $paramB = 'spock';
+ *        return true;
+ *    }
+ *
+ * Event handlers must return a boolean value. If they return false, all other
+ * event handlers for this event (in other plugins) will be skipped, and in some
+ * cases the default processing for that event would be skipped. This is great for
+ * replacing the default action of an event.
+ *
+ * If the handler returns true, processing of other event handlers and the default
+ * processing will continue. This is great for extending existing functionality.
+ *
+ * If the handler throws an exception, processing will stop, and the exception's
+ * error will be shown to the user.
+ *
+ * To install a plugin (like this one), site admins add the following code to
+ * their config.php file:
+ *
+ *     addPlugin('Sample');
+ *
+ * Plugins must be installed in one of the following directories:
+ *
+ *     local/plugins/{$pluginclass}.php
+ *     local/plugins/{$name}/{$pluginclass}.php
+ *     local/{$pluginclass}.php
+ *     local/{$name}/{$pluginclass}.php
+ *     plugins/{$pluginclass}.php
+ *     plugins/{$name}/{$pluginclass}.php
+ *
+ * Here, {$name} is the name of the plugin, like 'Sample', and {$pluginclass} is
+ * the name of the main class, like 'SamplePlugin'. Plugins that are part of the
+ * main StatusNet distribution go in 'plugins' and third-party or local ones go
+ * in 'local'.
+ *
+ * Simple plugins can be implemented as a single module. Others are more complex
+ * and require additional modules; these should use their own directory, like
+ * 'local/plugins/{$name}/'. All files related to the plugin, including images,
+ * JavaScript, CSS, external libraries or PHP modules should go in the plugin
+ * directory.
+ *
+ * @category  Sample
+ * @package   StatusNet
+ * @author    Brion Vibber <brionv@status.net>
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
 class SamplePlugin extends Plugin
 {
-    function onInitializePlugin()
+    /**
+     * Plugins are configured using public instance attributes. To set
+     * their values, site administrators use this syntax:
+     *
+     * addPlugin('Sample', array('attr1' => 'foo', 'attr2' => 'bar'));
+     *
+     * The same plugin class can be initialized multiple times with different
+     * arguments:
+     *
+     * addPlugin('EmailNotify', array('sendTo' => 'evan@status.net'));
+     * addPlugin('EmailNotify', array('sendTo' => 'brionv@status.net'));
+     *
+     */
+
+    public $attr1 = null;
+    public $attr2 = null;
+
+    /**
+     * Initializer for this plugin
+     *
+     * Plugins overload this method to do any initialization they need,
+     * like connecting to remote servers or creating paths or so on.
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
+     */
+
+    function initialize()
+    {
+        return true;
+    }
+
+    /**
+     * Cleanup for this plugin
+     *
+     * Plugins overload this method to do any cleanup they need,
+     * like disconnecting from remote servers or deleting temp files or so on.
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
+     */
+
+    function cleanup()
     {
-        // Event handlers normally return true to indicate that all is well.
-        //
-        // Returning false will cancel further processing of any other
-        // plugins or core code hooking the same event.
         return true;
     }
 
     /**
-     * Hook for RouterInitialized event.
+     * Database schema setup
+     *
+     * Plugins can add their own tables to the StatusNet database. Plugins
+     * should use StatusNet's schema interface to add or delete tables. The
+     * ensureTable() method provides an easy way to ensure a table's structure
+     * and availability.
+     *
+     * By default, the schema is checked every time StatusNet is run (say, when
+     * a Web page is hit). Admins can configure their systems to only check the
+     * schema when the checkschema.php script is run, greatly improving performance.
+     * However, they need to remember to run that script after installing or
+     * upgrading a plugin!
+     *
+     * @see Schema
+     * @see ColumnDef
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
+     */
+
+    function onCheckSchema()
+    {
+        $schema = Schema::get();
+
+        // For storing user-submitted flags on profiles
+
+        $schema->ensureTable('user_greeting_count',
+                             array(new ColumnDef('user_id', 'integer', null,
+                                                 true, 'PRI'),
+                                   new ColumnDef('greeting_count', 'integer')));
+
+        return true;
+    }
+
+    /**
+     * Load related modules when needed
+     *
+     * Most non-trivial plugins will require extra modules to do their work. Typically
+     * these include data classes, action classes, widget classes, or external libraries.
+     *
+     * This method receives a class name and loads the PHP file related to that class. By
+     * tradition, action classes typically have files named for the action, all lower-case.
+     * Data classes are in files with the data class name, initial letter capitalized.
+     *
+     * Note that this method will be called for *all* overloaded classes, not just ones
+     * in this plugin! So, make sure to return true by default to let other plugins, and
+     * the core code, get a chance.
+     *
+     * @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 'HelloAction':
+            include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
+            return false;
+        case 'User_greeting_count':
+            include_once $dir . '/'.$cls.'.php';
+            return false;
+        default:
+            return true;
+        }
+    }
+
+    /**
+     * Map URLs to actions
+     *
+     * This event handler lets the plugin map URLs on the site to actions (and
+     * thus an action handler class). Note that the action handler class for an
+     * action will be named 'FoobarAction', where action = 'foobar'. The class
+     * must be loaded in the onAutoload() method.
      *
      * @param Net_URL_Mapper $m path-to-action mapper
-     * @return boolean hook return
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
      */
 
     function onRouterInitialized($m)
     {
-        $m->connect(':nickname/samples',
-                    array('action' => 'showsamples'),
-                    array('feed' => '[A-Za-z0-9_-]+'));
-        $m->connect('settings/sample',
-                    array('action' => 'samplesettings'));
+        $m->connect('main/hello',
+                    array('action' => 'hello'));
+        return true;
+    }
+
+    /**
+     * Modify the default menu to link to our custom action
+     *
+     * Using event handlers, it's possible to modify the default UI for pages
+     * almost without limit. In this method, we add a menu item to the default
+     * primary menu for the interface to link to our action.
+     *
+     * The Action class provides a rich set of events to hook, as well as output
+     * methods.
+     *
+     * @param Action $action The current action handler. Use this to
+     *                       do any output.
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
+     *
+     * @see Action
+     */
+
+    function onEndPrimaryNav($action)
+    {
+        // common_local_url() gets the correct URL for the action name
+        // we provide
+
+        $action->menuItem(common_local_url('hello'),
+                          _m('Hello'), _m('A warm greeting'), false, 'nav_hello');
+        return true;
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Sample',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Brion Vibber, Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Sample',
+                            'rawdescription' =>
+                            _m('A sample plugin to show basics of development for new hackers.'));
         return true;
     }
 }
diff --git a/plugins/Sample/User_greeting_count.php b/plugins/Sample/User_greeting_count.php
new file mode 100644 (file)
index 0000000..d9a5977
--- /dev/null
@@ -0,0 +1,183 @@
+<?php
+/**
+ * Data class for counting greetings
+ *
+ * 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) 2009, 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 counting greetings
+ *
+ * We use the DB_DataObject framework for data classes in StatusNet. Each
+ * table maps to a particular data class, making it easier to manipulate
+ * data.
+ *
+ * Data classes should extend Memcached_DataObject, the (slightly misnamed)
+ * extension of DB_DataObject that provides caching, internationalization,
+ * and other bits of good functionality to StatusNet-specific data classes.
+ *
+ * @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 User_greeting_count extends Memcached_DataObject
+{
+    public $__table = 'user_greeting_count'; // table name
+    public $user_id;                         // int(4)  primary_key not_null
+    public $greeting_count;                  // int(4)
+
+    /**
+     * Get an instance by key
+     *
+     * This is a utility method to get a single instance with a given key value.
+     *
+     * @param string $k Key to use to lookup (usually 'user_id' for this class)
+     * @param mixed  $v Value to lookup
+     *
+     * @return User_greeting_count object found, or null for no hits
+     *
+     */
+
+    function staticGet($k, $v=null)
+    {
+        return Memcached_DataObject::staticGet('User_greeting_count', $k, $v);
+    }
+
+    /**
+     * 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,
+                     'greeting_count' => DB_DATAOBJECT_INT);
+    }
+
+    /**
+     * return key definitions for DB_DataObject
+     *
+     * DB_DataObject needs to know about keys that the table has; this function
+     * defines them.
+     *
+     * @return array key definitions
+     */
+
+    function keys()
+    {
+        return array('user_id' => 'K');
+    }
+
+    /**
+     * return key definitions for Memcached_DataObject
+     *
+     * Our caching system uses the same key definitions, but uses a different
+     * method to get them.
+     *
+     * @return array key definitions
+     */
+
+    function keyTypes()
+    {
+        return $this->keys();
+    }
+
+    /**
+     * 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);
+    }
+
+    /**
+     * Increment a user's greeting count and return instance
+     *
+     * This method handles the ins and outs of creating a new greeting_count for a
+     * user or fetching the existing greeting count and incrementing its value.
+     *
+     * @param integer $user_id ID of the user to get a count for
+     *
+     * @return User_greeting_count instance for this user, with count already incremented.
+     */
+
+    static function inc($user_id)
+    {
+        $gc = User_greeting_count::staticGet('user_id', $user_id);
+
+        if (empty($gc)) {
+
+            $gc = new User_greeting_count();
+
+            $gc->user_id        = $user_id;
+            $gc->greeting_count = 1;
+
+            $result = $gc->insert();
+
+            if (!$result) {
+                throw Exception(sprintf(_m("Could not save new greeting count for %d"),
+                                        $user_id));
+            }
+
+        } else {
+
+            $orig = clone($gc);
+
+            $gc->greeting_count++;
+
+            $result = $gc->update($orig);
+
+            if (!$result) {
+                throw Exception(sprintf(_m("Could not increment greeting count for %d"),
+                                        $user_id));
+            }
+        }
+
+        return $gc;
+    }
+}
diff --git a/plugins/Sample/hello.php b/plugins/Sample/hello.php
new file mode 100644 (file)
index 0000000..0cfd8a1
--- /dev/null
@@ -0,0 +1,166 @@
+<?php
+/**
+ * Give a warm greeting to our friendly user
+ *
+ * PHP version 5
+ *
+ * @category Sample
+ * @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) 2009, 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);
+}
+
+/**
+ * Give a warm greeting to our friendly user
+ *
+ * This sample action shows some basic ways of doing output in an action
+ * class.
+ *
+ * Action classes have several output methods that they override from
+ * the parent class.
+ *
+ * @category Sample
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ */
+
+class HelloAction extends Action
+{
+    var $user = null;
+    var $gc   = null;
+
+    /**
+     * Take arguments for running
+     *
+     * This method is called first, and it lets the action class get
+     * all its arguments and validate them. It's also the time
+     * to fetch any relevant data from the database.
+     *
+     * Action classes should run parent::prepare($args) as the first
+     * line of this method to make sure the default argument-processing
+     * happens.
+     *
+     * @param array $args $_REQUEST args
+     *
+     * @return boolean success flag
+     */
+
+    function prepare($args)
+    {
+        parent::prepare($args);
+
+        $this->user = common_current_user();
+
+        if (!empty($this->user)) {
+            $this->gc = User_greeting_count::inc($this->user->id);
+        }
+
+        return true;
+    }
+
+    /**
+     * Handle request
+     *
+     * This is the main method for handling a request. Note that
+     * most preparation should be done in the prepare() method;
+     * by the time handle() is called the action should be
+     * more or less ready to go.
+     *
+     * @param array $args $_REQUEST args; handled in prepare()
+     *
+     * @return void
+     */
+
+    function handle($args)
+    {
+        parent::handle($args);
+
+        $this->showPage();
+    }
+
+    /**
+     * Title of this page
+     *
+     * Override this method to show a custom title.
+     *
+     * @return string Title of the page
+     */
+
+    function title()
+    {
+        if (empty($this->user)) {
+            return _m('Hello');
+        } else {
+            return sprintf(_m('Hello, %s'), $this->user->nickname);
+        }
+    }
+
+    /**
+     * show content in the content area
+     *
+     * The default StatusNet page has a lot of decorations: menus,
+     * logos, tabs, all that jazz. This method is used to show
+     * content in the content area of the page; it's the main
+     * thing you want to overload.
+     *
+     * @return void
+     */
+
+    function showContent()
+    {
+        if (empty($this->user)) {
+            $this->element('p', array('class' => 'greeting'),
+                           _m('Hello, stranger!'));
+        } else {
+            $this->element('p', array('class' => 'greeting'),
+                           sprintf(_m('Hello, %s'), $this->user->nickname));
+            $this->element('p', array('class' => 'greeting_count'),
+                           sprintf(_m('I have greeted you %d time(s).'),
+                                   $this->gc->greeting_count));
+        }
+    }
+
+    /**
+     * Return true if read only.
+     *
+     * Some actions only read from the database; others read and write.
+     * The simple database load-balancer built into StatusNet will
+     * direct read-only actions to database mirrors (if they are configured),
+     * and read-write actions to the master database.
+     *
+     * This defaults to false to avoid data integrity issues, but you
+     * should make sure to overload it for performance gains.
+     *
+     * @param array $args other arguments, if RO/RW status depends on them.
+     *
+     * @return boolean is read only action?
+     */
+
+    function isReadOnly($args)
+    {
+        return false;
+    }
+}
index 45b745b07d0000a50860ef5042c084d5c280f2e5..6eac7dbb1e37cb15a7154aa600fe7d73ba0ef105 100644 (file)
@@ -47,5 +47,18 @@ class SimpleUrlPlugin extends UrlShortenerPlugin
     protected function shorten($url) {
         return $this->http_get(sprintf($this->serviceUrl,urlencode($url)));
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => sprintf('SimpleUrl (%s)', $this->shortenerName),
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:SimpleUrl',
+                            'rawdescription' =>
+                            sprintf(_m('Uses <a href="http://%1$s/">%1$s</a> URL-shortener service.'),
+                                    $this->shortenerName));
+
+        return true;
+    }
 }
 
index 18aa8034ca1e47737f021c67133f678e7750d740..80625c5b70e8bff693f2273d964d849e1830e429 100644 (file)
@@ -22,13 +22,13 @@ if (!defined('STATUSNET')) {
 define('TEMPLATEPLUGIN_VERSION', '0.1');
 
 class TemplatePlugin extends Plugin {
-  
+
   var $blocks = array();
-  
+
   function __construct() {
     parent::__construct();
   }
-  
+
   // capture the RouterInitialized event
   // and connect a new API method
   // for updating the template
@@ -37,8 +37,7 @@ class TemplatePlugin extends Plugin {
       'action'      => 'template',
     ));
   }
-  
-  
+
   // <%styles%>
   // <%scripts%>
   // <%search%>
@@ -50,18 +49,18 @@ class TemplatePlugin extends Plugin {
     $act->extraHead();
     $this->blocks['head'] = $act->xw->flush();
     $act->showStylesheets();
-    $this->blocks['styles'] = $act->xw->flush();    
+    $this->blocks['styles'] = $act->xw->flush();
     $act->showScripts();
-    $this->blocks['scripts'] = $act->xw->flush();    
+    $this->blocks['scripts'] = $act->xw->flush();
     $act->showFeeds();
-    $this->blocks['feeds'] = $act->xw->flush();    
+    $this->blocks['feeds'] = $act->xw->flush();
     $act->showOpenSearch();
-    $this->blocks['search'] = $act->xw->flush();    
+    $this->blocks['search'] = $act->xw->flush();
     $act->showDescription();
     $this->blocks['description'] = $act->xw->flush();
     return false;
   }
-  
+
   // <%bodytext%>
   function onStartShowContentBlock( &$act ) {
     $this->clear_xmlWriter($act);
@@ -70,7 +69,7 @@ class TemplatePlugin extends Plugin {
   function onEndShowContentBlock( &$act ) {
     $this->blocks['bodytext'] = $act->xw->flush();
   }
-  
+
   // <%localnav%>
   function onStartShowLocalNavBlock( &$act ) {
     $this->clear_xmlWriter($act);
@@ -79,7 +78,7 @@ class TemplatePlugin extends Plugin {
   function onEndShowLocalNavBlock( &$act ) {
     $this->blocks['localnav'] = $act->xw->flush();
   }
-  
+
   // <%export%>
   function onStartShowExportData( &$act ) {
     $this->clear_xmlWriter($act);
@@ -88,7 +87,7 @@ class TemplatePlugin extends Plugin {
   function onEndShowExportData( &$act ) {
     $this->blocks['export'] = $act->xw->flush();
   }
-  
+
   // <%subscriptions%>
   // <%subscribers%>
   // <%groups%>
@@ -149,7 +148,7 @@ class TemplatePlugin extends Plugin {
     }
     return false;
   }
-  
+
   // <%logo%>
   // <%nav%>
   // <%notice%>
@@ -170,7 +169,7 @@ class TemplatePlugin extends Plugin {
     $this->blocks['noticeform'] = $act->xw->flush();
     return false;
   }
-  
+
   // <%secondarynav%>
   // <%licenses%>
   function onStartShowFooter( &$act ) {
@@ -181,19 +180,19 @@ class TemplatePlugin extends Plugin {
     $this->blocks['licenses'] = $act->xw->flush();
     return false;
   }
-  
+
   // capture the EndHTML event
   // and include the template
   function onEndEndHTML($act) {
-    
+
     global $action, $tags;
-    
+
     // set the action and title values
     $vars = array(
       'action'=>$action,
       'title'=>$act->title(). " - ". common_config('site', 'name')
     );
-    
+
     // use the PHP template
     // unless statusnet config:
     //   $config['template']['mode'] = 'html';
@@ -203,55 +202,55 @@ class TemplatePlugin extends Plugin {
       include $tpl_file;
       return;
     }
-    
+
     $tpl_file = $this->templateFolder() . '/index.html';
-    
+
     // read the static template
     $output = file_get_contents( $tpl_file );
-    
+
     $tags = array();
-    
+
     // get a list of the <%tags%> in the template
     $pattern='/<%([a-z]+)%>/';
-    
+
     if ( 1 <= preg_match_all( $pattern, $output, $found ))
       $tags[] = $found;
-    
+
     // for each found tag, set its value from the rendered blocks
     foreach( $tags[0][1] as $pos=>$tag ) {
       if (isset($this->blocks[$tag]))
         $vars[$tag] = $this->blocks[$tag];
-        
+
       // didn't find a block for the tag
       elseif (!isset($vars[$tag]))
         $vars[$tag] = '';
     }
-    
+
     // replace the tags in the template
     foreach( $vars as $key=>$val )
       $output = str_replace( '<%'.$key.'%>', $val, $output );
-    
+
     echo $output;
-    
+
     return true;
-    
+
   }
   function templateFolder() {
     return 'tpl';
   }
-  
+
   // catching the StartShowHTML event to halt the rendering
   function onStartShowHTML( &$act ) {
     $this->clear_xmlWriter($act);
     return true;
   }
-  
+
   // clear the xmlWriter
   function clear_xmlWriter( &$act ) {
     $act->xw->openMemory();
     $act->xw->setIndent(true);
   }
-  
+
 }
 
 /**
@@ -267,7 +266,7 @@ class TemplatePlugin extends Plugin {
  * @link     http://megapump.com/
  *
  */
+
 class TemplateAction extends Action
 {
 
@@ -275,54 +274,65 @@ class TemplateAction extends Action
     parent::prepare($args);
     return true;
   }
-  
+
   function handle($args) {
-    
+
     parent::handle($args);
-    
+
     if (!isset($_SERVER['PHP_AUTH_USER'])) {
-      
+
       // not authenticated, show login form
       header('WWW-Authenticate: Basic realm="StatusNet API"');
-      
+
       // cancelled the browser login form
       $this->clientError(_('Authentication error!'), $code = 401);
-      
+
     } else {
-      
+
       $nick = $_SERVER['PHP_AUTH_USER'];
       $pass = $_SERVER['PHP_AUTH_PW'];
-      
+
       // check username and password
       $user = common_check_user($nick,$pass);
-      
+
       if ($user) {
-        
+
         // verify that user is admin
         if (!($user->id == 1))
           $this->clientError(_('Only User #1 can update the template.'), $code = 401);
-        
+
         // open the old template
         $tpl_file = $this->templateFolder() . '/index.html';
         $fp = fopen( $tpl_file, 'w+' );
-        
+
         // overwrite with the new template
         fwrite($fp, $this->arg('template'));
         fclose($fp);
-        
+
         header('HTTP/1.1 200 OK');
         header('Content-type: text/plain');
         print "Template Updated!";
-        
+
       } else {
-        
+
         // bad username and password
         $this->clientError(_('Authentication error!'), $code = 401);
-        
+
       }
-      
+
     }
   }
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Template',
+                            'version' => TEMPLATEPLUGIN_VERSION,
+                            'author' => 'Brian Hendrickson',
+                            'homepage' => 'http://status.net/wiki/Plugin:Template',
+                            'rawdescription' =>
+                            _m('Use an HTML template for Web output.'));
+        return true;
+    }
+
 }
 
 /**
index 6ced9afdc511d750e7a2d5bcf872fa315bcb95b4..e2d494a7bda4c4ebf2c7714c7a31259b8e7ee18b 100644 (file)
@@ -57,4 +57,16 @@ class TightUrlPlugin extends UrlShortenerPlugin
             return strval($xml['href']);
         }
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => sprintf('TightUrl (%s)', $this->shortenerName),
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:TightUrl',
+                            'rawdescription' =>
+                            sprintf(_m('Uses <a href="http://%1$s/">%1$s</a> URL-shortener service.'),
+                                    $this->shortenerName));
+        return true;
+    }
 }
index de1181903e805142da3b3538687644a6c5847fd7..a87ee2894a77c443e0b9496f26270d963d7be188 100644 (file)
@@ -31,6 +31,8 @@ if (!defined('STATUSNET')) {
 
 require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
 
+define('TWITTERBRIDGEPLUGIN_VERSION', '0.9');
+
 /**
  * Plugin for sending and importing Twitter statuses
  *
@@ -189,4 +191,17 @@ class TwitterBridgePlugin extends Plugin
         return true;
     }
 
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'TwitterBridge',
+                            'version' => TWITTERBRIDGEPLUGIN_VERSION,
+                            'author' => 'Zach Copley',
+                            'homepage' => 'http://status.net/wiki/Plugin:TwitterBridge',
+                            'rawdescription' =>
+                            _m('The Twitter "bridge" plugin allows you to integrate ' .
+                               'your StatusNet instance with ' .
+                               '<a href="http://twitter.com/">Twitter</a>.'));
+        return true;
+    }
+
 }
index 602a5bfa881d20c6739b71269a09fcc6b87f2803..a33869c19ea2be076c4db748a100a1fb9e268b3f 100644 (file)
@@ -102,20 +102,20 @@ class UserFlagPlugin extends Plugin
 
     function onAutoload($cls)
     {
-        switch ($cls)
+        switch (strtolower($cls))
         {
-        case 'FlagprofileAction':
-        case 'AdminprofileflagAction':
-        case 'ClearflagAction':
+        case 'flagprofileaction':
+        case 'adminprofileflagaction':
+        case 'clearflagaction':
             include_once INSTALLDIR.'/plugins/UserFlag/' .
               strtolower(mb_substr($cls, 0, -6)) . '.php';
             return false;
-        case 'FlagProfileForm':
-        case 'ClearFlagForm':
+        case 'flagprofileform':
+        case 'clearflagform':
             include_once INSTALLDIR.'/plugins/UserFlag/' . strtolower($cls . '.php');
             return false;
-        case 'User_flag_profile':
-            include_once INSTALLDIR.'/plugins/UserFlag/'.$cls.'.php';
+        case 'user_flag_profile':
+            include_once INSTALLDIR.'/plugins/UserFlag/'.ucfirst(strtolower($cls)).'.php';
             return false;
         default:
             return true;
@@ -258,4 +258,39 @@ class UserFlagPlugin extends Plugin
         }
         return true;
     }
+
+    /**
+     * Ensure that flag entries for a profile are deleted
+     * along with the profile when deleting users.
+     * This prevents breakage of the admin profile flag UI.
+     *
+     * @param Profile $profile
+     * @param array &$related list of related tables; entries
+     *              with matching profile_id will be deleted.
+     *
+     * @return boolean hook result
+     */
+
+    function onProfileDeleteRelated($profile, &$related)
+    {
+        $related[] = 'user_flag_profile';
+        return true;
+    }
+
+    /**
+     * Ensure that flag entries created by a user are deleted
+     * when that user gets deleted.
+     *
+     * @param User $user
+     * @param array &$related list of related tables; entries
+     *              with matching user_id will be deleted.
+     *
+     * @return boolean hook result
+     */
+
+    function onUserDeleteRelated($user, &$related)
+    {
+        $related[] = 'user_flag_profile';
+        return true;
+    }
 }
index 658259452436aae780d56956ffe9841c7bf79391..bc4251cf7f11010d62128c4d196e0cd9602c86c7 100644 (file)
@@ -89,6 +89,17 @@ class User_flag_profile extends Memcached_DataObject
         return array('profile_id' => 'N', 'user_id' => 'N');
     }
 
+    /**
+     * return key definitions for DB_DataObject
+     *
+     * @return array key definitions
+     */
+
+    function keyTypes()
+    {
+        return $this->keys();
+    }
+
     /**
      * Get a single object with multiple keys
      *
@@ -97,7 +108,7 @@ class User_flag_profile extends Memcached_DataObject
      * @return User_flag_profile found object or null
      */
 
-    function &pkeyGet($kv)
+    function pkeyGet($kv)
     {
         return Memcached_DataObject::pkeyGet('User_flag_profile', $kv);
     }
index 334fc13ba1f03cce143c113376af9f2d0a482ba9..c6c976b8f46849cd79150d1c8d19295857475aa0 100644 (file)
@@ -31,8 +31,6 @@ if (!defined('STATUSNET')) {
     exit(1);
 }
 
-define('WIKIHASHTAGSPLUGIN_VERSION', '0.1');
-
 /**
  * Plugin to use WikiHashtags
  *
@@ -47,6 +45,8 @@ define('WIKIHASHTAGSPLUGIN_VERSION', '0.1');
 
 class WikiHashtagsPlugin extends Plugin
 {
+    const VERSION = '0.1';
+
     function __construct($code=null)
     {
         parent::__construct();
@@ -99,4 +99,15 @@ class WikiHashtagsPlugin extends Plugin
 
         return true;
     }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'WikiHashtags',
+                            'version' => self::VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:WikiHashtags',
+                            'rawdescription' =>
+                            _m('Gets hashtag descriptions from <a href="http://hashtags.wikia.com/">WikiHashtags</a>.'));
+        return true;
+    }
 }
diff --git a/plugins/XCachePlugin.php b/plugins/XCachePlugin.php
new file mode 100644 (file)
index 0000000..03cb0c0
--- /dev/null
@@ -0,0 +1,113 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
+ *
+ * Plugin to implement cache interface for XCache variable cache
+ *
+ * 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  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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')) {
+    // This check helps protect against security problems;
+    // your code file can't be executed directly from the web.
+    exit(1);
+}
+
+/**
+ * A plugin to use XCache's variable cache for the cache interface
+ *
+ * New plugin interface lets us use alternative cache systems
+ * for caching. This one uses XCache's variable cache.
+ *
+ * @category  Cache
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 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 XCachePlugin extends Plugin
+{
+    /**
+     * Get a value associated with a key
+     *
+     * The value should have been set previously.
+     *
+     * @param string &$key   in; Lookup key
+     * @param mixed  &$value out; value associated with key
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheGet(&$key, &$value)
+    {
+        if (!xcache_isset($key)) {
+            $value = false;
+        } else {
+            $value = xcache_get($key);
+            $value = unserialize($value);
+        }
+        Event::handle('EndCacheGet', array($key, &$value));
+        return false;
+    }
+
+    /**
+     * Associate a value with a key
+     *
+     * @param string  &$key     in; Key to use for lookups
+     * @param mixed   &$value   in; Value to associate
+     * @param integer &$flag    in; Flag (passed through to Memcache)
+     * @param integer &$expiry  in; Expiry (passed through to Memcache)
+     * @param boolean &$success out; Whether the set was successful
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
+    {
+        $success = xcache_set($key, serialize($value));
+
+        Event::handle('EndCacheSet', array($key, $value, $flag,
+                                           $expiry));
+        return false;
+    }
+
+    /**
+     * Delete a value associated with a key
+     *
+     * @param string  &$key     in; Key to lookup
+     * @param boolean &$success out; whether it worked
+     *
+     * @return boolean hook success
+     */
+
+    function onStartCacheDelete(&$key, &$success)
+    {
+        $success = xcache_unset($key);
+        Event::handle('EndCacheDelete', array($key));
+        return false;
+    }
+}
+
index 329caf472407a4764d5b017a2dfedc5f9cba0cb3..8b62a3a96783d7a7442326f33007d4f859e8d4f3 100755 (executable)
@@ -128,6 +128,8 @@ function console_help()
 if (CONSOLE_INTERACTIVE) {
     print "StatusNet interactive PHP console... type ctrl+D or enter 'exit' to exit.\n";
     $prompt = common_config('site', 'name') . '> ';
+} else {
+    $prompt = '';
 }
 while (!feof(STDIN)) {
     $line = read_input_line($prompt);
index 1266a9700b674ca58f76551b5417eee55cac5667..882d744564dbb4c4398cf9741fe7d6eafc90d739 100644 (file)
@@ -41,9 +41,12 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
 function newUser($i)
 {
     global $userprefix;
-    User::register(array('nickname' => sprintf('%s%d', $userprefix, $i),
-                         'password' => sprintf('password%d', $i),
-                         'fullname' => sprintf('Test User %d', $i)));
+    $user = User::register(array('nickname' => sprintf('%s%d', $userprefix, $i),
+                                 'password' => sprintf('password%d', $i),
+                                 'fullname' => sprintf('Test User %d', $i)));
+    if (!empty($user)) {
+        $user->free();
+    }
 }
 
 function newNotice($i, $tagmax)
@@ -73,6 +76,9 @@ function newNotice($i, $tagmax)
     }
 
     $notice = Notice::saveNew($user->id, $content, 'system');
+
+    $user->free();
+    $notice->free();
 }
 
 function newSub($i)
@@ -106,6 +112,9 @@ function newSub($i)
     }
 
     subs_subscribe_to($from, $to);
+
+    $from->free();
+    $to->free();
 }
 
 function main($usercount, $noticeavg, $subsavg, $tagmax)
index b4e4d9f08df7d5a1610a772eeffb3d9f31c62993..3b1ef96a1e898617e86d56870f5c328106239bcc 100755 (executable)
@@ -27,266 +27,9 @@ as STDIN.
 END_OF_HELP;
 
 require_once INSTALLDIR.'/scripts/commandline.inc';
-
-require_once(INSTALLDIR . '/lib/mail.php');
-require_once(INSTALLDIR . '/lib/mediafile.php');
-require_once('Mail/mimeDecode.php');
-
-# FIXME: we use both Mail_mimeDecode and mailparse
-# Need to move everything to mailparse
-
-class MailerDaemon
-{
-    function __construct()
-    {
-    }
-
-    function handle_message($fname='php://stdin')
-    {
-        list($from, $to, $msg, $attachments) = $this->parse_message($fname);
-        if (!$from || !$to || !$msg) {
-            $this->error(null, _('Could not parse message.'));
-        }
-        common_log(LOG_INFO, "Mail from $from to $to with ".count($attachments) .' attachment(s): ' .substr($msg, 0, 20));
-        $user = $this->user_from($from);
-        if (!$user) {
-            $this->error($from, _('Not a registered user.'));
-            return false;
-        }
-        if (!$this->user_match_to($user, $to)) {
-            $this->error($from, _('Sorry, that is not your incoming email address.'));
-            return false;
-        }
-        if (!$user->emailpost) {
-            $this->error($from, _('Sorry, no incoming email allowed.'));
-            return false;
-        }
-        $response = $this->handle_command($user, $from, $msg);
-        if ($response) {
-            return true;
-        }
-        $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.'),
-                                        Notice::maxContent()));
-        }
-
-        $mediafiles = array();
-
-        foreach($attachments as $attachment){
-
-            $mf = null;
-
-            try {
-                $mf = MediaFile::fromFileHandle($attachment, $user);
-            } catch(ClientException $ce) {
-                $this->error($from, $ce->getMessage());
-            }
-
-            $msg .= ' ' . $mf->shortUrl();
-
-            array_push($mediafiles, $mf);
-            fclose($attachment);
-        }
-
-        $err = $this->add_notice($user, $msg, $mediafiles);
-
-        if (is_string($err)) {
-            $this->error($from, $err);
-            return false;
-        } else {
-            return true;
-        }
-    }
-
-    function error($from, $msg)
-    {
-        file_put_contents("php://stderr", $msg . "\n");
-        exit(1);
-    }
-
-    function user_from($from_hdr)
-    {
-        $froms = mailparse_rfc822_parse_addresses($from_hdr);
-        if (!$froms) {
-            return null;
-        }
-        $from = $froms[0];
-        $addr = common_canonical_email($from['address']);
-        $user = User::staticGet('email', $addr);
-        if (!$user) {
-            $user = User::staticGet('smsemail', $addr);
-        }
-        return $user;
-    }
-
-    function user_match_to($user, $to_hdr)
-    {
-        $incoming = $user->incomingemail;
-        $tos = mailparse_rfc822_parse_addresses($to_hdr);
-        foreach ($tos as $to) {
-            if (strcasecmp($incoming, $to['address']) == 0) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    function handle_command($user, $from, $msg)
-    {
-        $inter = new CommandInterpreter();
-        $cmd = $inter->handle_command($user, $msg);
-        if ($cmd) {
-            $cmd->execute(new MailChannel($from));
-            return true;
-        }
-        return false;
-    }
-
-    function respond($from, $to, $response)
-    {
-
-        $headers['From'] = $to;
-        $headers['To'] = $from;
-        $headers['Subject'] = "Command complete";
-
-        return mail_send(array($from), $headers, $response);
-    }
-
-    function log($level, $msg)
-    {
-        common_log($level, 'MailDaemon: '.$msg);
-    }
-
-    function add_notice($user, $msg, $mediafiles)
-    {
-        try {
-            $notice = Notice::saveNew($user->id, $msg, 'mail');
-        } catch (Exception $e) {
-            $this->log(LOG_ERR, $e->getMessage());
-            return $e->getMessage();
-        }
-        foreach($mediafiles as $mf){
-            $mf->attachToNotice($notice);
-        }
-        common_broadcast_notice($notice);
-        $this->log(LOG_INFO,
-                   'Added notice ' . $notice->id . ' from user ' . $user->nickname);
-        return true;
-    }
-
-    function parse_message($fname)
-    {
-        $contents = file_get_contents($fname);
-        $parsed = Mail_mimeDecode::decode(array('input' => $contents,
-                                                'include_bodies' => true,
-                                                'decode_headers' => true,
-                                                'decode_bodies' => true));
-        if (!$parsed) {
-            return null;
-        }
-
-        $from = $parsed->headers['from'];
-
-        $to = $parsed->headers['to'];
-
-        $type = $parsed->ctype_primary . '/' . $parsed->ctype_secondary;
-
-        $attachments = array();
-
-        $this->extract_part($parsed,$msg,$attachments);
-
-        return array($from, $to, $msg, $attachments);
-    }
-
-    function extract_part($parsed,&$msg,&$attachments){
-        if ($parsed->ctype_primary == 'multipart') {
-            if($parsed->ctype_secondary == 'alternative'){
-                $altmsg = $this->extract_msg_from_multipart_alternative_part($parsed);
-                if(!empty($altmsg)) $msg = $altmsg;
-            }else{
-                foreach($parsed->parts as $part){
-                    $this->extract_part($part,$msg,$attachments);
-                }
-            }
-        } else if ($parsed->ctype_primary == 'text'
-            && $parsed->ctype_secondary=='plain') {
-            $msg = $parsed->body;
-            if(strtolower($parsed->ctype_parameters['charset']) != "utf-8"){
-                $msg = utf8_encode($msg);
-            }
-        }else if(!empty($parsed->body)){
-            if(common_config('attachments', 'uploads')){
-                //only save attachments if uploads are enabled
-                $attachment = tmpfile();
-                fwrite($attachment, $parsed->body);
-                $attachments[] = $attachment;
-            }
-        }
-    }
-
-    function extract_msg_from_multipart_alternative_part($parsed){
-        foreach ($parsed->parts as $part) {
-            $this->extract_part($part,$msg,$attachments);
-        }
-        //we don't want any attachments that are a result of this parsing
-        return $msg;
-    }
-
-    function unsupported_type($type)
-    {
-        $this->error(null, "Unsupported message type: " . $type);
-    }
-
-    function cleanup_msg($msg)
-    {
-        $lines = explode("\n", $msg);
-
-        $output = '';
-
-        foreach ($lines as $line) {
-            // skip quotes
-            if (preg_match('/^\s*>.*$/', $line)) {
-                continue;
-            }
-            // skip start of quote
-            if (preg_match('/^\s*On.*wrote:\s*$/', $line)) {
-                continue;
-            }
-            // probably interesting to someone, not us
-            if (preg_match('/^\s*Sent via/', $line)) {
-                continue;
-            }
-            if (preg_match('/^\s*Sent from my/', $line)) {
-                continue;
-            }
-
-            // skip everything after a sig
-            if (preg_match('/^\s*--+\s*$/', $line) ||
-                preg_match('/^\s*__+\s*$/', $line))
-            {
-                break;
-            }
-            // skip everything after Outlook quote
-            if (preg_match('/^\s*-+\s*Original Message\s*-+\s*$/', $line)) {
-                break;
-            }
-            // skip everything after weird forward
-            if (preg_match('/^\s*Begin\s+forward/', $line)) {
-                break;
-            }
-
-            $output .= ' ' . $line;
-        }
-
-        preg_replace('/\s+/', ' ', $output);
-        return trim($output);
-    }
-}
+require_once INSTALLDIR.'/lib/mailhandler.php';
 
 if (common_config('emailpost', 'enabled')) {
-    $md = new MailerDaemon();
-    $md->handle_message('php://stdin');
+    $mh = new MailHandler();
+    $mh->handle_message(file_get_contents('php://stdin'));
 }
index 90e7331ca476c0736169e03f161e1e58f5ae6c5e..c790f1f349715f04c77c958887490ab239418951 100755 (executable)
@@ -25,7 +25,7 @@ DIR=`php $SDIR/getpiddir.php`
 
 for f in jabberhandler ombhandler publichandler smshandler pinghandler \
         xmppconfirmhandler xmppdaemon twitterhandler facebookhandler \
-        twitterstatusfetcher synctwitterfriends pluginhandler; do
+        twitterstatusfetcher synctwitterfriends pluginhandler rsscloudhandler; do
 
        FILES="$DIR/$f.*.pid"
        for ff in "$FILES" ; do
diff --git a/scripts/updatelocation.php b/scripts/updatelocation.php
new file mode 100644 (file)
index 0000000..4110660
--- /dev/null
@@ -0,0 +1,125 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - a distributed open-source microblogging tool
+ * Copyright (C) 2009, 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:af';
+$longoptions = array('id=', 'nickname=', 'all', 'force');
+
+$helptext = <<<END_OF_UPDATELOCATION_HELP
+updatelocation.php [options]
+set the location for a profile
+
+  -i --id       ID of user to update
+  -n --nickname nickname of the user to update
+  -f --force    force update even if user already has a location
+  -a --all      update all
+
+END_OF_UPDATELOCATION_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+try {
+    $user = null;
+
+    if (have_option('i', 'id')) {
+        $id = get_option_value('i', 'id');
+        $user = User::staticGet('id', $id);
+        if (empty($user)) {
+            throw new Exception("Can't find user with id '$id'.");
+        }
+        updateLocation($user);
+    } else if (have_option('n', 'nickname')) {
+        $nickname = get_option_value('n', 'nickname');
+        $user = User::staticGet('nickname', $nickname);
+        if (empty($user)) {
+            throw new Exception("Can't find user with nickname '$nickname'");
+        }
+        updateLocation($user);
+    } else if (have_option('a', 'all')) {
+        $user = new User();
+        if ($user->find()) {
+            while ($user->fetch()) {
+                updateLocation($user);
+            }
+        }
+    } else {
+        show_help();
+        exit(1);
+    }
+} catch (Exception $e) {
+    print $e->getMessage()."\n";
+    exit(1);
+}
+
+function updateLocation($user)
+{
+    $profile = $user->getProfile();
+
+    if (empty($profile)) {
+        throw new Exception("User has no profile: " . $user->nickname);
+    }
+
+    if (empty($profile->location)) {
+        if (have_option('v', 'verbose')) {
+            print "No location string for '".$user->nickname."'\n";
+        }
+        return;
+    }
+
+    if (!empty($profile->location_id) && !have_option('f', 'force')) {
+        if (have_option('v', 'verbose')) {
+            print "Location ID already set for '".$user->nickname."'\n";
+        }
+        return;
+    }
+
+    $loc = Location::fromName($profile->location);
+
+    if (empty($loc)) {
+        if (have_option('v', 'verbose')) {
+            print "No structured location for string '".$profile->location."' for user '".$user->nickname."'\n";
+        }
+        return;
+    } else {
+        $orig = clone($profile);
+
+        $profile->lat         = $loc->lat;
+        $profile->lon         = $loc->lon;
+        $profile->location_id = $loc->location_id;
+        $profile->location_ns = $loc->location_ns;
+
+        $result = $profile->update($orig);
+
+        if (!$result) {
+            common_log_db_error($profile, 'UPDATE', __FILE__);
+        }
+
+        if (!have_option('q', 'quiet')) {
+            print "Location ID " . $profile->location_id . " set for user " . $user->nickname . "\n";
+        }
+    }
+
+    $profile->free();
+    unset($loc);
+    unset($profile);
+
+    return;
+}
index 2f463639155a78415165075eef74517ab3eaeeff..cdacb9a62989493a579b7456561ae1a384304c47 100644 (file)
@@ -259,6 +259,17 @@ font-weight:bold;
 address img + .fn {
 display:none;
 }
+address a {
+text-decoration:none;
+}
+address .poweredby {
+float:left;
+clear:left;
+display:block;
+position:relative;
+top:7px;
+margin-right:-47px;
+}
 
 #header {
 width:100%;
@@ -543,20 +554,53 @@ width:81.5%;
 margin-bottom:0;
 line-height:1.618;
 }
-.form_notice #notice_data-attach_selected code {
+.form_notice #notice_data-attach_selected code,
+.form_notice #notice_data-geo_name {
 float:left;
-width:90%;
+width:80%;
 display:block;
-font-size:1.1em;
-line-height:1.8;
 overflow:auto;
+margin-right:2.5%;
 }
-.form_notice #notice_data-attach_selected button {
+.form_notice #notice_data-attach_selected code {
+font-size:1.1em;
+}
+.form_notice #notice_data-attach_selected button.close,
+.form_notice #notice_data-geo_selected button.close {
 float:right;
 font-size:0.8em;
 }
 
-button.close {
+.form_notice #notice_data-geo_selected button.minimize {
+float:left;
+}
+
+.form_notice #notice_data-geo_wrap label {
+position:absolute;
+top:25px;
+right:4px;
+left:auto;
+cursor:pointer;
+width:16px;
+height:16px;
+display:block;
+}
+.form_notice #notice_data-geo_wrap input {
+display:none;
+}
+.form_notice #notice_data-geo_wrap label {
+font-weight:normal;
+font-size:1em;
+margin-bottom:0;
+text-indent:-9999px;
+}
+.form_notice #notice_data-geo_name {
+display:block;
+padding-left:21px;
+}
+
+button.close,
+button.minimize {
 width:16px;
 height:16px;
 text-indent:-9999px;
@@ -969,7 +1013,7 @@ max-width:70%;
 #showstream .notice div.entry-content,
 #shownotice .notice div.entry-content {
 margin-left:0;
-max-width:82%;
+max-width:79%;
 }
 
 .notice .notice-options a,
@@ -993,24 +1037,58 @@ top:4px;
 left:0;
 }
 
+.dialogbox {
+position:absolute;
+top:-4px;
+right:29px;
+z-index:9;
+min-width:199px;
+float:none;
+background-color:#FFF;
+padding:11px;
+border-radius:7px;
+-moz-border-radius:7px;
+-webkit-border-radius:7px;
+border-style:solid;
+border-width:1px;
+border-color:#DDDDDD;
+-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+}
+
+.dialogbox legend {
+display:block !important;
+margin-right:18px;
+}
+
+.dialogbox button.close {
+position:absolute;
+right:3px;
+top:3px;
+}
+
+.dialogbox .submit_dialogbox {
+text-indent:0;
+font-weight:bold;
+}
+
 .notice-options {
 position:relative;
 font-size:0.95em;
-width:125px;
+width:113px;
 float:right;
+margin-right:4px;
 }
 
 .notice-options a {
 float:left;
 }
-.notice-options .notice_delete,
 .notice-options .notice_reply,
 .notice-options .form_repeat,
 .notice-options .form_favor,
 .notice-options .form_disfavor,
 .notice-options .repeated {
 float:left;
-margin-left:14%;
+margin-left:14.2%;
 }
 .notice-options .form_favor,
 .notice-options .form_disfavor {
@@ -1030,6 +1108,9 @@ border:0;
 .notice-options .notice_delete {
 text-decoration:none;
 }
+.notice .notice-options .notice_delete {
+float:right;
+}
 .notice-options form input.submit {
 width:16px;
 height:16px;
@@ -1247,11 +1328,9 @@ padding-right:30px;
 .hentry .entry-content p {
 margin-bottom:18px;
 }
-.system_notice ul,
-.instructions ul,
-.hentry entry-content ol,
+.hentry .entry-content ol,
 .hentry .entry-content ul {
-list-style-position:inside;
+margin-left:1.795%;
 }
 .hentry .entry-content li {
 margin-bottom:18px;
@@ -1260,6 +1339,31 @@ margin-bottom:18px;
 margin-left:18px;
 }
 
+#content #plugin_authors {
+min-width:122px;
+}
+#content thead th {
+text-align:left;
+}
+#content tbody th {
+vertical-align:top;
+text-align:left;
+font-weight:normal;
+padding-top:11px;
+padding-right:18px;
+}
+#content tbody tr {
+border-top-width:1px;
+border-top-style:dotted;
+}
+#content td {
+padding:11px 18px 11px 0;
+vertical-align:top;
+}
+#content td:last-child {
+padding-right:0;
+}
+
 /* TOP_POSTERS */
 .section tbody td {
 padding-right:18px;
@@ -1396,6 +1500,7 @@ margin-left:0;
 width:auto;
 }
 
+.system_notice ul,
 .instructions ul {
 list-style-position:inside;
 }
diff --git a/theme/base/images/icons/icon_geo.png b/theme/base/images/icons/icon_geo.png
new file mode 100644 (file)
index 0000000..8df2456
Binary files /dev/null and b/theme/base/images/icons/icon_geo.png differ
index 417327881cca88cf17a416642ea8ad15d0589a0e..06202a047b40daed0f0ceec269d9025232de4dc6 100644 (file)
Binary files a/theme/base/images/icons/icons-01.gif and b/theme/base/images/icons/icons-01.gif differ
index 3fe05eb3dd6520c4b6b1a489fc65a9d272644bc0..726062e473f17b2b5c06c2803835800b3c4f0518 100644 (file)
@@ -228,9 +228,21 @@ font-weight:bold;
 address img + .fn {
 display:none;
 }
+address a {
+text-decoration:none;
+}
+address .poweredby {
+float:left;
+clear:left;
+display:block;
+position:relative;
+top:7px;
+margin-right:-47px;
+}
 
 #header {
 width:100%;
+height:10.5em;
 position:relative;
 float:left;
 padding-top:18px;
@@ -446,120 +458,156 @@ border-right:0;
 border-top:0;
 }
 
-#form_notice {
-width:505px;
+.form_notice {
+width:515px;
 line-height:1;
 position:absolute;
 top:200px;
 left:20px;
 z-index:9;
 }
-#form_notice fieldset {
+.form_notice fieldset {
 border:0;
-padding:0 0 50px 0;
+padding:0;
+position:relative;
 }
-#form_notice legend {
+.form_notice legend {
 display:none;
 }
-#form_notice textarea {
+.form_notice textarea {
 float:left;
-width:505px;
-height:45px;
+border-radius:7px;
+-moz-border-radius:7px;
+-webkit-border-radius:7px;
+width:80.789%;
+height:67px;
 line-height:1.5;
-padding:5px;
-border-width:1px;
+padding:7px 7px 16px 7px;
+position:relative;
+z-index:2;
 }
-#form_notice label {
+.form_notice label {
 display:block;
 float:left;
 font-size:1.3em;
 margin-bottom:7px;
 }
-#form_notice #notice_submit label {
-display:none;
-}
-#form_notice label[for=notice_data-attach],
-#form_notice #notice_data-attach {
+.form_notice label[for=notice_data-attach],
+.form_notice #notice_data-attach {
 position:absolute;
-top:87px;
+top:25px;
+right:10.5%;
 cursor:pointer;
 }
-#form_notice label[for=notice_data-attach] {
+.form_notice label[for=notice_data-attach] {
 text-indent:-9999px;
-left:82%;
 width:16px;
 height:16px;
 }
-#form_notice #notice_data-attach {
-left:40%;
+.form_notice #notice_data-attach {
 padding:0;
 height:16px;
 }
-
-#form_notice .form_note {
+.form_notice .form_note {
 position:absolute;
-top:-10px;
-right:-10px;
+bottom:2px;
+right:21.715%;
 z-index:9;
-font-family:Georgia, serif;
-font-size:1.7em;
 }
-#form_notice .form_note dt {
+.form_notice .form_note dt {
 font-weight:bold;
 display:none;
 }
-#notice_text-count {
+.form_notice #notice_text-count {
 font-weight:bold;
 line-height:1.15;
 padding:1px 2px;
 }
-
-#form_notice #notice_action-submit {
+.form_notice #notice_action-submit {
 width:14%;
-height:35px;
-padding-top:0;
-padding-bottom:0;
+height:47px;
+padding:0;
 position:absolute;
-bottom:10px;
-right:-10px;
+bottom:0;
+right:0;
 }
-#form_notice label[for=to] {
+.form_notice label[for=to] {
 margin-top:7px;
 }
-#form_notice select[id=to] {
+.form_notice select[id=to] {
 margin-bottom:7px;
 margin-left:18px;
 float:left;
+max-width:322px;
 }
-#form_notice .error,
-#form_notice .success {
+.form_notice .error,
+.form_notice .success {
 float:left;
 clear:both;
-width:83.5%;
+width:81.5%;
 margin-bottom:0;
 line-height:1.618;
-position:absolute;
-top:87px;
-left:0;
 }
-#form_notice #notice_data-attach_selected code {
+.form_notice #notice_data-attach_selected code,
+.form_notice #notice_data-geo_name {
 float:left;
-width:90%;
+width:80%;
 display:block;
-font-size:1.1em;
-line-height:1.8;
 overflow:auto;
+margin-right:2.5%;
+}
+.form_notice #notice_data-attach_selected code {
+font-size:1.1em;
 }
-#form_notice #notice_data-attach_selected button {
+.form_notice #notice_data-attach_selected button.close,
+.form_notice #notice_data-geo_selected button.close {
 float:right;
 font-size:0.8em;
 }
 
+.form_notice #notice_data-geo_selected button.minimize {
+float:left;
+}
+
+.form_notice #notice_data-geo_wrap label {
+position:absolute;
+top:25px;
+right:4px;
+left:auto;
+cursor:pointer;
+width:16px;
+height:16px;
+display:block;
+}
+.form_notice #notice_data-geo_wrap input {
+display:none;
+}
+.form_notice #notice_data-geo_wrap label {
+font-weight:normal;
+font-size:1em;
+margin-bottom:0;
+text-indent:-9999px;
+}
+.form_notice #notice_data-geo_name {
+display:block;
+padding-left:21px;
+}
+button.close,
+button.minimize {
+width:16px;
+height:16px;
+text-indent:-9999px;
+padding:0;
+border:0;
+text-align:center;
+font-weight:bold;
+cursor:pointer;
+}
 
 /* entity_profile */
 .entity_profile {
 position:relative;
-width:67.702%;
+width:68%;
 min-height:123px;
 float:left;
 margin-bottom:18px;
@@ -586,7 +634,8 @@ margin-bottom:18px;
 .entity_profile .entity_location,
 .entity_profile .entity_url,
 .entity_profile .entity_note,
-.entity_profile .entity_tags {
+.entity_profile .entity_tags,
+.entity_profile .entity_aliases {
 margin-left:113px;
 margin-bottom:4px;
 }
@@ -595,35 +644,44 @@ margin-bottom:4px;
 .entity_profile .entity_nickname {
 margin-left:11px;
 display:inline;
-font-weight:bold;
 }
 .entity_profile .entity_nickname {
 margin-left:0;
 }
-
-.entity_profile .entity_fn dd:before {
+.entity_profile .fn,
+.entity_profile .nickname {
+font-size:1.1em;
+font-weight:bold;
+}
+.entity_profile .fn:before {
 content: "(";
 font-weight:normal;
 }
-.entity_profile .entity_fn dd:after {
+.entity_profile .fn:after {
 content: ")";
 font-weight:normal;
 }
-
-.entity_profile dt {
-display:none;
+.entity_profile .nickname:after,
+.entity_profile .nickname:before {
+content:"";
 }
+.entity_profile dt,
 .entity_profile h2 {
 display:none;
 }
+.entity_profile .role {
+margin-left:11px;
+font-style:italic;
+}
 /* entity_profile */
 
 
 /*entity_actions*/
 .entity_actions {
 float:right;
-margin-left:4.35%;
-max-width:25%;
+margin-left:2%;
+margin-bottom:18px;
+min-width:21%;
 }
 .entity_actions h2 {
 display:none;
@@ -632,7 +690,7 @@ display:none;
 list-style-type:none;
 }
 .entity_actions li {
-margin-bottom:4px;
+margin-bottom:7px;
 }
 .entity_actions li:first-child {
 border-top:0;
@@ -650,40 +708,95 @@ display:block;
 text-align:left;
 width:100%;
 }
-.entity_actions a,
-.entity_nudge p,
-.entity_remote_subscribe {
+.entity_actions a {
 text-decoration:none;
 font-weight:bold;
 display:block;
 }
+.entity_actions a,
+.entity_actions input {
+border-radius:4px;
+-moz-border-radius:4px;
+-webkit-border-radius:4px;
+}
 
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_send-a-message a,
-.entity_edit a,
-.form_user_nudge input.submit,
-.entity_nudge p {
-border:0;
-padding-left:20px;
+.entity_actions a,
+.entity_actions input,
+.entity_actions p {
+border-width:2px;
+border-style:solid;
+padding-left:23px;
 }
 
-.entity_edit a,
-.entity_send-a-message a,
-.entity_nudge p {
-padding:4px 4px 4px 23px;
+.entity_actions a,
+.entity_actions p {
+padding:2px 4px 1px 26px;
 }
 
-.entity_remote_subscribe {
-padding:4px;
-border-width:2px;
+.entity_actions .accept {
+margin-bottom:18px;
+}
+
+.entity_send-a-message button {
+position:absolute;
+top:3px;
+right:3px;
+}
+
+.entity_send-a-message .form_notice {
+position:absolute;
+top:34px;
+right:-1px;
+padding:1.795%;
+width:92%;
+z-index:2;
+ border-radius:7px;
+-moz-border-radius:7px;
+-webkit-border-radius:7px;
+border-width:1px;
 border-style:solid;
+}
+.entity_send-a-message .form_notice legend {
+display:block;
+margin-bottom:11px;
+}
+
+.entity_send-a-message .form_notice label,
+.entity_send-a-message .form_notice select {
+display:none;
+}
+.entity_send-a-message .form_notice input.submit {
+text-align:center;
+}
+
+.entity_moderation {
+position:relative;
+}
+.entity_moderation p {
 border-radius:4px;
 -moz-border-radius:4px;
 -webkit-border-radius:4px;
+font-weight:bold;
+padding-bottom:2px;
+margin-bottom:7px;
 }
-.entity_actions .accept {
-margin-bottom:18px;
+.entity_moderation ul {
+display:none;
+}
+.entity_moderation:hover ul {
+display:block;
+min-width:21%;
+width:100%;
+padding:11px;
+position:absolute;
+top:-1px;
+right:-1px;
+z-index:1;
+border-width:1px;
+border-style:solid;
+border-radius:7px;
+-moz-border-radius:7px;
+-webkit-border-radius:7px;
 }
 
 .entity_tags ul {
@@ -742,7 +855,6 @@ margin-bottom:0;
 min-height:60px;
 }
 
-
 .profile .form_group_join legend,
 .profile .form_group_leave legend,
 .profile .form_user_subscribe legend,
@@ -753,18 +865,22 @@ display:none;
 .profiles {
 list-style-type:none;
 }
-.profile .entity_profile .entity_location {
+.profile .entity_profile .fn.nickname,
+.profile .entity_profile .url[rel~=contact] {
+margin-left:0;
+display:inline;
+}
+
+.profile .entity_profile .fn,
+.profile .entity_profile .location {
+margin-left:11px;
+margin-bottom:4px;
 width:auto;
 clear:none;
-margin-left:11px;
-}
-.profile .entity_profile dl,
-.profile .entity_profile dd {
-display:inline;
-float:none;
 }
-.profile .entity_profile .entity_note,
-.profile .entity_profile .entity_url,
+
+.profile .entity_profile .note,
+.profile .entity_profile .url,
 .profile .entity_profile .entity_tags,
 .profile .entity_profile .form_subscription_edit {
 margin-left:59px;
@@ -777,13 +893,11 @@ display:inline;
 margin-right:11px;
 }
 
-
 .profile .entity_profile .form_subscription_edit label {
 font-weight:normal;
 margin-right:11px;
 }
 
-
 /* NOTICE */
 .notice,
 .profile {
@@ -854,23 +968,26 @@ text-decoration:underline;
 }
 
 .notice .entry-title {
-float:none;
+float:left;
+width:100%;
 overflow:hidden;
-display:inline;
+}
+.notice .entry-title.ov {
+overflow:visible;
 }
 #shownotice .notice .entry-title {
 font-size:2.2em;
 }
-#conversation .notice .entry-title {
-display:block;
-width:90%;
-}
-
 
 .notice p.entry-content {
 display:inline;
 }
 
+#content .notice p.entry-content a:visited {
+border-radius:4px;
+-moz-border-radius:4px;
+-webkit-border-radius:4px;
+}
 .notice p.entry-content .vcard a {
 border-radius:4px;
 -moz-border-radius:4px;
@@ -878,23 +995,17 @@ border-radius:4px;
 }
 
 .notice div.entry-content {
+clear:left;
+float:left;
 font-size:0.95em;
 margin-left:59px;
-margin-top:3px;
-width:70%;
-font-family:Georgia, serif;
-font-style:italic;
-font-size:0.8em;
-display:block;
-}
-.notice div.entry-content a {
-text-decoration:none;
-}
-.notice div.entry-content a:hover {
-text-decoration:underline;
+min-width:60%;
+max-width:62%;
 }
-#showstream .notice div.entry-content {
+#showstream .notice div.entry-content,
+#shownotice .notice div.entry-content {
 margin-left:0;
+max-width:77%;
 }
 
 .notice .notice-options a,
@@ -903,83 +1014,84 @@ float:left;
 font-size:1.025em;
 }
 
-.notice div.entry-content dl,
-.notice div.entry-content dt,
-.notice div.entry-content dd {
-display:inline;
+.notice div.entry-content .timestamp {
+display:inline-block;
 }
 
-.notice div.entry-content .timestamp dt,
-.notice div.entry-content .response dt {
-display:none;
-}
-.notice div.entry-content .timestamp a {
-display:inline-block;
+.entry-content .repeat {
+display:block;
 }
-.notice div.entry-content .device dt {
-text-transform:lowercase;
+.entry-content .repeat .photo {
+float:none;
+margin-right:1px;
+position:relative;
+top:4px;
+left:0;
 }
 
+.dialogbox {
+position:absolute;
+top:-4px;
+right:29px;
+z-index:9;
+min-width:199px;
+float:none;
+background-color:#FFF;
+padding:11px;
+border-radius:7px;
+-moz-border-radius:7px;
+-webkit-border-radius:7px;
+border-style:solid;
+border-width:1px;
+border-color:#DDDDDD;
+-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+}
 
+.dialogbox legend {
+display:block !important;
+margin-right:18px;
+}
 
-.notice-data {
+.dialogbox button.close {
 position:absolute;
-top:18px;
-right:0;
-min-height:50px;
-margin-bottom:4px;
-}
-.notice .entry-content .notice-data dt {
-display:none;
+right:3px;
+top:3px;
 }
 
-.notice-data a {
-display:block;
-outline:none;
+.dialogbox .submit_dialogbox {
+text-indent:0;
+font-weight:bold;
 }
 
 .notice-options {
-padding-left:2%;
-float:left;
+position:relative;
 font-size:0.95em;
-width:16px;
+width:113px;
 float:right;
+margin-right:4px;
 }
-.notices li:hover div.notice-options {
-display:block;
-}
-
 
 .notice-options a {
 float:left;
 }
-.notice-options .notice_delete,
 .notice-options .notice_reply,
+.notice-options .form_repeat,
 .notice-options .form_favor,
-.notice-options .form_disfavor {
-position:absolute;
+.notice-options .form_disfavor,
+.notice-options .repeated {
+float:left;
+margin-left:14.2%;
 }
 .notice-options .form_favor,
 .notice-options .form_disfavor {
-top:7px;
-right:7px;
-}
-.notice-options .notice_reply {
-top:30px;
-right:7px;
-}
-.notice-options .notice_delete {
-top:47px;
-right:7px;
+margin-left:0;
 }
-
 .notice-options input,
-.notice-options a {
+.notice-options a,
+.notice-options .repeated {
 text-indent:-9999px;
 outline:none;
 }
-
-.notice-options .notice_reply,
 .notice-options input.submit {
 display:block;
 border:0;
@@ -987,29 +1099,34 @@ border:0;
 .notice-options .notice_reply,
 .notice-options .notice_delete {
 text-decoration:none;
-padding-left:16px;
 }
-
-.notice-options .notice_reply .notice_id {
-display:none;
+.notice .notice-options .notice_delete {
+float:right;
 }
-
 .notice-options form input.submit {
 width:16px;
-padding:2px 0;
+height:16px;
+padding:0;
+border-radius:0;
+-moz-border-radius:0;
+-webkit-border-radius:0;
 }
-
-.notice-options .notice_delete dt,
+.notice-options .form_repeat legend,
 .notice-options .form_favor legend,
 .notice-options .form_disfavor legend {
 display:none;
 }
-.notice-options .notice_delete fieldset,
+.notice-options .form_repeat fieldset,
 .notice-options .form_favor fieldset,
 .notice-options .form_disfavor fieldset {
 border:0;
 padding:0;
 }
+.notice-options a,
+.notice-options .repeated {
+width:16px;
+height:16px;
+}
 
 .notice .attachment {
 position:relative;
@@ -1335,6 +1452,33 @@ clear:both;
 margin-bottom:0;
 }
 
+#settings_design_background-image img {
+max-width:480px;
+max-height:480px;
+}
+
+#settings_design_color .form_data,
+#color-picker {
+float:left;
+}
+#settings_design_color .form_data {
+width:400px;
+margin-right:1%;
+}
+
+#settings_design_color .form_data li {
+width:33%;
+}
+#settings_design_color .form_data label {
+float:none;
+display:block;
+}
+#settings_design_color .form_data .swatch {
+padding:11px;
+margin-left:0;
+width:auto;
+}
+
 .instructions ul {
 list-style-position:inside;
 }
@@ -1348,6 +1492,15 @@ display:none;
 .guide {
 clear:both;
 }
+#bookmarklet address {
+display:none;
+}
+#bookmarklet .form_notice {
+width:auto;
+}
+#bookmarklet #wrap {
+min-width:0;
+}
 
 #public.user_in #content,
 #groups.user_in #content,
@@ -1363,8 +1516,9 @@ clear:both;
 #subscriptions.user_in #content,
 #subscribers.user_in #content,
 #showgroup.user_in #content,
-#conversation.user_in #content {
-padding-top:160px;
+#conversation.user_in #content,
+#attachment.user_in #content {
+padding-top:12.5em;
 }
 
 #profilesettings #form_notice,
@@ -1390,10 +1544,24 @@ padding-top:160px;
 #register #form_notice,
 #shownotice #form_notice,
 #confirmaddress #form_notice,
-#tag #form_notice {
+#tag #form_notice,
+#siteadminpanel #form_notice,
+#designadminpanel #form_notice,
+#useradminpanel #form_notice,
+#pathsadminpanel #form_notice,
+#adminprofileflag #form_notice {
 display:none;
 }
 
+#public #core,
+#showstream #core {
+margin-top:10em;
+}
+#public.user_in #core,
+#showstream.user_in #core {
+margin-top:0;
+}
+
 #jOverlayContent #core #content {
 padding-top:11px;
 }
@@ -1432,35 +1600,162 @@ border-color:#ddd;
 background:none;
 }
 
+
+.form_notice label[for=notice_data-attach],
+#export_data li a.rss,
+#export_data li a.atom,
+#export_data li a.foaf,
+.entity_edit a,
+.entity_send-a-message a,
+.entity_nudge p,
+.form_user_nudge input.submit,
+.form_user_block input.submit,
+.form_user_unblock input.submit,
+.form_group_block input.submit,
+.form_group_unblock input.submit,
+.form_make_admin input.submit,
+.notice .attachment,
+.notice-options .notice_reply,
+.notice-options form.form_favor input.submit,
+.notice-options form.form_disfavor input.submit,
+.notice-options .notice_delete,
+.notice-options form.form_repeat input.submit,
+#new_group a,
+.pagination .nav_prev a,
+.pagination .nav_next a,
+button.close,
+.form_group_leave input.submit,
+.form_user_unsubscribe input.submit,
+.form_group_join input.submit,
+.form_user_subscribe input.submit,
+.entity_subscribe a,
+.entity_moderation p,
+.entity_sandbox input.submit,
+.entity_silence input.submit,
+.entity_delete input.submit,
+.notice-options .repeated,
+.form_notice a#notice_data-geo_name,
+.form_notice label[for=notice_data-geo],
+button.minimize {
+background-image:url(../../base/images/icons/icons-01.gif);
+background-repeat:no-repeat;
+background-color:transparent;
+}
+
+#wrap form.processing input.submit,
+.entity_actions a.processing {
+background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
+cursor:wait;
+text-indent:-9999px;
+outline:none;
+}
+.processing {
+background-image:url(../../base/images/icons/icon_processing.gif);
+background-repeat:no-repeat;
+background-position:47% 47%;
+}
+
+button.close {
+background-position:0 -1120px;
+}
+button.minimize {
+background-position:0 -1912px;
+}
+
 input.submit,
-#form_notice.warning #notice_text-count,
-#nav_register a,
+.form_notice.warning #notice_text-count,
 .form_settings .form_note,
-.entity_remote_subscribe {
-background-color:#9BB43E;
+.entity_actions a,
+.entity_actions input,
+.entity_moderation p,
+button {
+box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+}
+.entity_actions a,
+.entity_actions input,
+.entity_actions p {
+border-color:transparent;
+background-color:transparent;
 }
-
 input:focus, textarea:focus, select:focus,
-#form_notice.warning #notice_data-text {
+.form_notice.warning #notice_data-text,
+.form_notice.warning #notice_text-count,
+.form_settings .form_note {
 border-color:#9BB43E;
 }
+input.submit {
+color:#FFFFFF;
+}
+.entity_actions a,
+.entity_actions input,
+.entity_actions p {
+border-color:transparent;
+background-color:transparent;
+}
+input:focus, textarea:focus, select:focus,
+.form_notice.warning #notice_data-text,
+.form_notice.warning #notice_text-count,
+.form_settings .form_note {
+border-color:#9BB43E;
+}
+input.submit {
+color:#FFFFFF;
+}
+.entity_actions input.submit {
+border-color:transparent;
+text-shadow:none;
+}
+.dialogbox .submit_dialogbox,
 input.submit,
-#nav_register a,
-.entity_remote_subscribe {
-color:#fff;
+.form_notice input.submit {
+background:#AAAAAA url(../../base/images/illustrations/illu_pattern-01.png) 0 0 repeat-x;
+text-shadow:0 1px 0 #FFFFFF;
+color:#000000;
+border-color:#AAAAAA;
+border-top-color:#CCCCCC;
+border-left-color:#CCCCCC;
+}
+.dialogbox .submit_dialogbox:hover,
+input.submit:hover {
+background-position:0 -5px;
+}
+.dialogbox .submit_dialogbox:focus,
+input.submit:focus {
+background-position:0 -15px;
+box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
+-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
+-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
+text-shadow:none;
+}
+
+.form_notice span#notice_data-geo_name {
+background-position:0 47%;
+}
+.form_notice a#notice_data-geo_name {
+background-position:0 -1711px;
+}
+.form_notice label[for=notice_data-geo] {
+background-position:0 -1780px;
+}
+.form_notice label[for=notice_data-geo].checked {
+background-position:0 -1846px;
 }
 
 a,
-div.notice-options input,
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_send-a-message a,
-.form_user_nudge input.submit,
-.entity_nudge p,
-.form_settings input.form_action-primary {
+.form_settings input.form_action-primary,
+.notice-options input,
+.entity_actions a,
+.entity_actions input,
+.entity_moderation p {
 color:#0084B4;
 }
 
+.notice,
+.profile {
+border-top-color:#CEE1E9;
+}
 .notice,
 .profile {
 border-top-color:#DDFFCC;
@@ -1468,7 +1763,9 @@ border-top-color:#DDFFCC;
 .section .profile {
 border-top-color:#87B4C8;
 }
-
+.mark-top {
+border-color:#AAAAAA;
+}
 
 #aside_primary {
 background-color:#DDFFCC;
@@ -1496,11 +1793,13 @@ text-indent:-9999px;
 #content,
 #site_nav_local_views a,
 #aside_primary {
-border-color:#fff;
+border-color:#FFFFFF;
 }
 #content,
-#site_nav_local_views .current a {
-background-color:#fff;
+#site_nav_local_views .current a,
+.entity_send-a-message .form_notice,
+.entity_moderation:hover ul {
+background-color:#FFFFFF;
 }
 
 #site_nav_local_views a {
@@ -1535,77 +1834,97 @@ background-repeat:no-repeat;
 background-position:0 45%;
 }
 #export_data li a.rss {
-background-image:url(../../base/images/icons/icon_rss.png);
+background-position:0 -130px;
 }
 #export_data li a.atom {
-background-image:url(../../base/images/icons/icon_atom.png);
+background-position:0 -64px;
 }
 #export_data li a.foaf {
-background-image:url(../../base/images/icons/icon_foaf.gif);
+background-position:0 1px;
 }
 
-.entity_edit a,
-.entity_send-a-message a,
-.form_user_nudge input.submit,
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_nudge p {
-background-position: 0 40%;
-background-repeat: no-repeat;
-background-color:transparent;
-}
 .form_group_join input.submit,
-.form_group_leave input.submit
+.form_group_leave input.submit,
 .form_user_subscribe input.submit,
+.form_user_unsubscribe input.submit,
+.entity_subscribe a {
+background-color:#AAAAAA;
+color:#FFFFFF;
+}
+.form_group_leave input.submit,
 .form_user_unsubscribe input.submit {
-background-color:#9BB43E;
-color:#fff;
+background-position:5px -1246px;
 }
-.form_user_unsubscribe input.submit,
-.form_group_leave input.submit {
-background-color:#87B4C8;
+.form_group_join input.submit,
+.form_user_subscribe input.submit,
+.entity_subscribe a {
+background-position:5px -1181px;
 }
 
 .entity_edit a {
-background-image:url(../images/icons/twotone/green/edit.gif);
+background-position: 5px -718px;
 }
 .entity_send-a-message a {
-background-image:url(../images/icons/twotone/green/quote.gif);
+background-position: 5px -852px;
 }
+.entity_send-a-message .form_notice,
+.entity_moderation:hover ul {
+box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+-webkit-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+}
+
 .entity_nudge p,
 .form_user_nudge input.submit {
-background-image:url(../images/icons/twotone/green/mail.gif);
+background-position: 5px -785px;
 }
 .form_user_block input.submit,
-.form_user_unblock input.submit {
-background-image:url(../images/icons/twotone/green/shield.gif);
+.form_user_unblock input.submit,
+.form_group_block input.submit,
+.form_group_unblock input.submit {
+background-position: 5px -918px;
+}
+.form_make_admin input.submit {
+background-position: 5px -983px;
+}
+.entity_moderation p {
+background-position: 5px -1313px;
+}
+.entity_sandbox input.submit {
+background-position: 5px -1380px;
+}
+.entity_silence input.submit {
+background-position: 5px -1445px;
+}
+.entity_delete input.submit {
+background-position: 5px -1511px;
 }
-
 
 
 /* NOTICES */
 .notice .attachment {
-background:transparent url(../../base/images/icons/twotone/green/clip-02.gif) no-repeat 0 45%;
+background-position:0 -394px;
 }
 #attachments .attachment {
 background:none;
 }
-
-.notice-options .notice_reply,
-.notice-options form input.submit {
-background-color:transparent;
-}
 .notice-options .notice_reply {
-background:transparent url(../images/icons/icon_reply.gif) no-repeat 0 45%;
+background-position:0 -592px;
 }
 .notice-options form.form_favor input.submit {
-background:transparent url(../images/icons/icon_favourite.gif) no-repeat 0 45%;
+background-position:0 -460px;
 }
 .notice-options form.form_disfavor input.submit {
-background:transparent url(../images/icons/icon_disfavourite.gif) no-repeat 0 45%;
+background-position:0 -526px;
 }
 .notice-options .notice_delete {
-background:transparent url(../images/icons/icon_trash.gif) no-repeat 0 45%;
+background-position:0 -658px;
+}
+.notice-options form.form_repeat input.submit {
+background-position:0 -1582px;
+}
+.notice-options .repeated {
+background-position:0 -1648px;
 }
 
 .notices div.entry-content,
@@ -1616,19 +1935,34 @@ opacity:0.4;
 .notices li:hover div.notice-options {
 opacity:1;
 }
+.opaque {
+opacity:1 !important;
+}
 .notices .notices {
-background-color:rgba(200, 200, 200, 0.01);
+background-color:rgba(200, 200, 200, 0.050);
 }
 .notices .notices .notices {
-background-color:rgba(200, 200, 200, 0.02);
+background-color:rgba(200, 200, 200, 0.100);
 }
 .notices .notices .notices .notices {
-background-color:rgba(200, 200, 200, 0.03);
+background-color:rgba(200, 200, 200, 0.150);
 }
 .notices .notices .notices .notices .notices {
-background-color:rgba(200, 200, 200, 0.04);
+background-color:rgba(200, 200, 200, 0.300);
+}
+.notice-options a,
+.notice-options input {
+font-family:sans-serif;
+box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+}
+#content .notices li:hover {
+background-color:rgba(240, 240, 240, 0.2);
+}
+#conversation .notices li:hover {
+background-color:transparent;
 }
-
 
 div.entry-content {
 color:#333;
@@ -1647,21 +1981,34 @@ background-color:transparent;
 
 
 #new_group a {
-background:transparent url(../../base/images/icons/twotone/green/news.gif) no-repeat 0 45%;
+background-position:0 -1054px;
 }
 
 .pagination .nav_prev a,
 .pagination .nav_next a {
 background-repeat:no-repeat;
-border-color:#DDFFCC;
+box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
+-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 }
 .pagination .nav_prev a {
-background-image:url(../../base/images/icons/twotone/green/arrow-left.gif);
-background-position:10% 45%;
+background-position:10% -187px;
 }
 .pagination .nav_next a {
-background-image:url(../../base/images/icons/twotone/green/arrow-right.gif);
-background-position:90% 45%;
+background-position:105% -252px;
+}
+.pagination .nav .processing {
+background-image:url(../../base/images/icons/icon_processing.gif);
+box-shadow:none;
+-moz-box-shadow:none;
+-webkit-box-shadow:none;
+outline:none;
+}
+.pagination .nav_next a.processing {
+background-position:90% 47%;
+}
+.pagination .nav_prev a.processing {
+background-position:10% 47%;
 }
 
 
@@ -1685,15 +2032,6 @@ border-color:#FFFF00;
 #form_notice .form_note {
 color:#CCC;
 }
-input.submit {
-background-color:#eee;
-color:#666;
-}
-
-.notices li.hover {
-background-color:#F7F7F7;
-}
-
 
 .notice div.entry-content,
 .notice div.entry-content a {
@@ -1719,12 +2057,12 @@ border-color:transparent;
 color:#4C4C4C;
 }
 #site_nav_local_views .current {
-border-left-color:#fff;
+border-left-color:#FFFFFF;
 }
 
 #site_nav_local_views .current a,
 #site_nav_global_primary,
 #footer {
-background-color:#fff;
+background-color:#FFFFFF;
 }
 
index f1d9a9d0b05681fdd4a9143130dece56a95e08c8..2360976e57de0f3a22970ef0fb225f0c5df9f7d5 100644 (file)
@@ -88,6 +88,7 @@ color:#FFFFFF;
 border-color:transparent;
 text-shadow:none;
 }
+.dialogbox .submit_dialogbox,
 input.submit,
 .form_notice input.submit {
 background:#AAAAAA url(../../base/images/illustrations/illu_pattern-01.png) 0 0 repeat-x;
@@ -97,9 +98,11 @@ border-color:#AAAAAA;
 border-top-color:#CCCCCC;
 border-left-color:#CCCCCC;
 }
+.dialogbox .submit_dialogbox:hover,
 input.submit:hover {
 background-position:0 -5px;
 }
+.dialogbox .submit_dialogbox:focus,
 input.submit:focus {
 background-position:0 -15px;
 box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
@@ -108,6 +111,19 @@ box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
 text-shadow:none;
 }
 
+.form_notice span#notice_data-geo_name {
+background-position:0 47%;
+}
+.form_notice a#notice_data-geo_name {
+background-position:0 -1711px;
+}
+.form_notice label[for=notice_data-geo] {
+background-position:0 -1780px;
+}
+.form_notice label[for=notice_data-geo].checked {
+background-position:0 -1846px;
+}
+
 a,
 .form_settings input.form_action-primary,
 .notice-options input,
@@ -118,7 +134,8 @@ color:#002FA7;
 }
 
 .notice,
-.profile {
+.profile,
+#content tbody tr {
 border-top-color:#C8D1D5;
 }
 .mark-top {
@@ -174,7 +191,10 @@ button.close,
 .entity_sandbox input.submit,
 .entity_silence input.submit,
 .entity_delete input.submit,
-.notice-options .repeated {
+.notice-options .repeated,
+.form_notice a#notice_data-geo_name,
+.form_notice label[for=notice_data-geo],
+button.minimize {
 background-image:url(../../base/images/icons/icons-01.gif);
 background-repeat:no-repeat;
 background-color:transparent;
@@ -236,6 +256,9 @@ background-color:#EFF3DC;
 button.close {
 background-position:0 -1120px;
 }
+button.minimize {
+background-position:0 -1912px;
+}
 
 #anon_notice {
 background-color:#87B4C8;
@@ -351,6 +374,9 @@ opacity:0.4;
 .notices li:hover div.notice-options {
 opacity:1;
 }
+.opaque {
+opacity:1 !important;
+}
 .notice-options a,
 .notice-options input {
 font-family:sans-serif;
@@ -358,7 +384,8 @@ box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 -moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 -webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 }
-#content .notices li:hover {
+#content .notices li:hover,
+#content tbody tr:hover {
 background-color:rgba(240, 240, 240, 0.2);
 }
 #conversation .notices li:hover {
index aa02070ac53cbb201ca96ad562e7187d9a4bf0a2..91af1d8ec8de6b89d19156ec45ec3aaed0801960 100644 (file)
@@ -88,6 +88,7 @@ color:#FFFFFF;
 border-color:transparent;
 text-shadow:none;
 }
+.dialogbox .submit_dialogbox,
 input.submit,
 .form_notice input.submit {
 background:#AAAAAA url(../../base/images/illustrations/illu_pattern-01.png) 0 0 repeat-x;
@@ -97,9 +98,11 @@ border-color:#AAAAAA;
 border-top-color:#CCCCCC;
 border-left-color:#CCCCCC;
 }
+.dialogbox .submit_dialogbox:hover,
 input.submit:hover {
 background-position:0 -5px;
 }
+.dialogbox .submit_dialogbox:focus,
 input.submit:focus {
 background-position:0 -15px;
 box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
@@ -108,6 +111,19 @@ box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
 text-shadow:none;
 }
 
+.form_notice span#notice_data-geo_name {
+background-position:0 47%;
+}
+.form_notice a#notice_data-geo_name {
+background-position:0 -1711px;
+}
+.form_notice label[for=notice_data-geo] {
+background-position:0 -1780px;
+}
+.form_notice label[for=notice_data-geo].checked {
+background-position:0 -1846px;
+}
+
 a,
 .form_settings input.form_action-primary,
 .notice-options input,
@@ -118,7 +134,8 @@ color:#002FA7;
 }
 
 .notice,
-.profile {
+.profile,
+#content tbody tr {
 border-top-color:#CEE1E9;
 }
 .mark-top {
@@ -174,7 +191,10 @@ button.close,
 .entity_sandbox input.submit,
 .entity_silence input.submit,
 .entity_delete input.submit,
-.notice-options .repeated {
+.notice-options .repeated,
+.form_notice a#notice_data-geo_name,
+.form_notice label[for=notice_data-geo],
+button.minimize {
 background-image:url(../../base/images/icons/icons-01.gif);
 background-repeat:no-repeat;
 background-color:transparent;
@@ -235,6 +255,9 @@ background-color:#EFF3DC;
 button.close {
 background-position:0 -1120px;
 }
+button.minimize {
+background-position:0 -1912px;
+}
 
 #anon_notice {
 background-color:#87B4C8;
@@ -350,6 +373,9 @@ opacity:0.4;
 .notices li:hover div.notice-options {
 opacity:1;
 }
+.opaque {
+opacity:1 !important;
+}
 .notice-options a,
 .notice-options input {
 font-family:sans-serif;
@@ -357,7 +383,8 @@ box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 -moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 -webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
 }
-#content .notices li:hover {
+#content .notices li:hover,
+#content tbody tr:hover {
 background-color:rgba(240, 240, 240, 0.2);
 }
 #conversation .notices li:hover {