summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README21
-rw-r--r--actions/apigroupleave.php8
-rw-r--r--actions/favorited.php8
-rw-r--r--actions/geocode.php98
-rw-r--r--actions/getfile.php66
-rw-r--r--actions/leavegroup.php4
-rw-r--r--actions/newnotice.php2
-rw-r--r--actions/profilesettings.php7
-rw-r--r--actions/publictagcloud.php15
-rw-r--r--actions/shownotice.php2
-rw-r--r--actions/twitapisearchatom.php9
-rw-r--r--actions/version.php270
-rw-r--r--classes/Avatar.php2
-rw-r--r--classes/Config.php4
-rw-r--r--classes/Fave.php2
-rw-r--r--classes/File.php33
-rw-r--r--classes/File_to_post.php2
-rw-r--r--classes/Group_block.php2
-rw-r--r--classes/Group_inbox.php2
-rw-r--r--classes/Group_member.php2
-rw-r--r--classes/Inbox.php87
-rw-r--r--classes/Memcached_DataObject.php201
-rw-r--r--classes/Notice.php32
-rw-r--r--classes/Notice_inbox.php87
-rw-r--r--classes/Notice_tag.php2
-rw-r--r--classes/Profile.php1
-rw-r--r--classes/Profile_role.php2
-rw-r--r--classes/Queue_item.php2
-rw-r--r--classes/Subscription.php2
-rw-r--r--classes/User_location_prefs.php5
-rw-r--r--classes/User_username.php (renamed from plugins/Authentication/User_username.php)0
-rw-r--r--classes/statusnet.ini3
-rw-r--r--config.php.sample17
-rw-r--r--extlib/lgpl-2.1.txt458
-rw-r--r--htaccess.sample8
-rw-r--r--install.php1
-rw-r--r--js/jquery.cookie.js96
-rw-r--r--js/json2.js4
-rw-r--r--js/util.js262
-rw-r--r--lib/action.php4
-rw-r--r--lib/adminpanelaction.php46
-rw-r--r--lib/authenticationplugin.php (renamed from plugins/Authentication/AuthenticationPlugin.php)43
-rw-r--r--lib/authorizationplugin.php (renamed from plugins/Authorization/AuthorizationPlugin.php)3
-rw-r--r--lib/cache.php182
-rw-r--r--lib/columndef.php1
-rw-r--r--lib/common.php33
-rw-r--r--lib/default.php27
-rw-r--r--lib/grouptagcloudsection.php7
-rw-r--r--lib/htmloutputter.php2
-rw-r--r--lib/jabber.php2
-rw-r--r--lib/jsonsearchresultslist.php10
-rw-r--r--lib/mailhandler.php275
-rw-r--r--lib/noticeform.php22
-rw-r--r--lib/noticelist.php10
-rw-r--r--lib/personaltagcloudsection.php11
-rw-r--r--lib/ping.php4
-rw-r--r--lib/plugin.php11
-rw-r--r--lib/popularnoticesection.php6
-rw-r--r--lib/router.php5
-rw-r--r--lib/schema.php8
-rw-r--r--lib/util.php52
-rw-r--r--locale/ar/LC_MESSAGES/statusnet.po234
-rw-r--r--locale/arz/LC_MESSAGES/statusnet.po264
-rw-r--r--locale/bg/LC_MESSAGES/statusnet.po236
-rw-r--r--locale/ca/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/cs/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/de/LC_MESSAGES/statusnet.po247
-rw-r--r--locale/el/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/en_GB/LC_MESSAGES/statusnet.po242
-rw-r--r--locale/es/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/fa/LC_MESSAGES/statusnet.po231
-rw-r--r--locale/fi/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/fr/LC_MESSAGES/statusnet.po228
-rw-r--r--locale/ga/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/he/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/hsb/LC_MESSAGES/statusnet.po231
-rw-r--r--locale/ia/LC_MESSAGES/statusnet.po355
-rw-r--r--locale/is/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/it/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/ja/LC_MESSAGES/statusnet.po1628
-rw-r--r--locale/ko/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/mk/LC_MESSAGES/statusnet.po586
-rw-r--r--locale/nb/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/nl/LC_MESSAGES/statusnet.po234
-rw-r--r--locale/nn/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/pl/LC_MESSAGES/statusnet.po266
-rw-r--r--locale/pt/LC_MESSAGES/statusnet.po255
-rw-r--r--locale/pt_BR/LC_MESSAGES/statusnet.po2175
-rw-r--r--locale/ru/LC_MESSAGES/statusnet.po231
-rw-r--r--locale/statusnet.po222
-rw-r--r--locale/sv/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/te/LC_MESSAGES/statusnet.po247
-rw-r--r--locale/tr/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/uk/LC_MESSAGES/statusnet.po228
-rw-r--r--locale/vi/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/zh_CN/LC_MESSAGES/statusnet.po229
-rw-r--r--locale/zh_TW/LC_MESSAGES/statusnet.po227
-rw-r--r--plugins/APCPlugin.php108
-rw-r--r--plugins/BitlyUrl/BitlyUrlPlugin.php14
-rw-r--r--plugins/Blacklist/BlacklistPlugin.php13
-rw-r--r--plugins/CacheLogPlugin.php121
-rw-r--r--plugins/CasAuthentication/CasAuthenticationPlugin.php11
-rw-r--r--plugins/CasAuthentication/README6
-rw-r--r--plugins/Facebook/FacebookPlugin.php15
-rw-r--r--plugins/Facebook/facebook/facebook.php23
-rw-r--r--plugins/Facebook/facebook/facebook_desktop.php2
-rw-r--r--plugins/Facebook/facebook/facebook_mobile.php260
-rwxr-xr-xplugins/Facebook/facebook/facebookapi_php5_restlib.php382
-rw-r--r--plugins/Facebook/facebookaction.php96
-rw-r--r--plugins/Facebook/facebooknoticeform.php206
-rw-r--r--plugins/Facebook/facebookutil.php16
-rw-r--r--plugins/FeedSub/FeedSubPlugin.php7
-rw-r--r--plugins/FeedSub/feedinfo.php108
-rw-r--r--plugins/GeoURLPlugin.php12
-rw-r--r--plugins/GeonamesPlugin.php12
-rw-r--r--plugins/GoogleAnalyticsPlugin.php12
-rw-r--r--plugins/Imap/ImapPlugin.php85
-rw-r--r--plugins/Imap/README32
-rwxr-xr-xplugins/Imap/imapdaemon.php147
-rw-r--r--plugins/LdapAuthentication/LdapAuthenticationPlugin.php3
-rw-r--r--plugins/LdapAuthorization/LdapAuthorizationPlugin.php2
-rw-r--r--plugins/LilUrl/LilUrlPlugin.php17
-rw-r--r--plugins/LinkbackPlugin.php14
-rw-r--r--plugins/Mapstraction/MapstractionPlugin.php15
-rw-r--r--plugins/MemcachePlugin.php191
-rw-r--r--plugins/Minify/MinifyPlugin.php2
-rw-r--r--plugins/Mollom/MollomPlugin.php893
-rw-r--r--plugins/Mollom/README22
-rw-r--r--plugins/OpenID/OpenIDPlugin.php17
-rw-r--r--plugins/OpenID/User_openid_trustroot.php2
-rw-r--r--plugins/PiwikAnalyticsPlugin.php12
-rw-r--r--plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php21
-rw-r--r--plugins/PtitUrl/PtitUrlPlugin.php13
-rw-r--r--plugins/PubSubHubBub/PubSubHubBubPlugin.php16
-rw-r--r--plugins/RSSCloud/LoggingAggregator.php140
-rw-r--r--plugins/RSSCloud/README54
-rw-r--r--plugins/RSSCloud/RSSCloudNotifier.php240
-rw-r--r--plugins/RSSCloud/RSSCloudPlugin.php295
-rwxr-xr-xplugins/RSSCloud/RSSCloudQueueHandler.php78
-rw-r--r--plugins/RSSCloud/RSSCloudRequestNotify.php347
-rw-r--r--plugins/RSSCloud/RSSCloudSubscription.php79
-rw-r--r--plugins/Realtime/RealtimePlugin.php14
-rw-r--r--plugins/Realtime/json2.js478
-rw-r--r--plugins/Recaptcha/RecaptchaPlugin.php3
-rw-r--r--plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php2
-rw-r--r--plugins/Sample/SamplePlugin.php260
-rw-r--r--plugins/Sample/User_greeting_count.php183
-rw-r--r--plugins/Sample/hello.php166
-rw-r--r--plugins/SimpleUrl/SimpleUrlPlugin.php13
-rw-r--r--plugins/TemplatePlugin.php112
-rw-r--r--plugins/TightUrl/TightUrlPlugin.php12
-rw-r--r--plugins/TwitterBridge/TwitterBridgePlugin.php15
-rwxr-xr-xplugins/TwitterBridge/daemons/twitterstatusfetcher.php14
-rw-r--r--plugins/UserFlag/UserFlagPlugin.php51
-rw-r--r--plugins/UserFlag/User_flag_profile.php13
-rw-r--r--plugins/WikiHashtagsPlugin.php15
-rw-r--r--plugins/XCachePlugin.php113
-rwxr-xr-xscripts/console.php2
-rw-r--r--scripts/createsim.php15
-rwxr-xr-xscripts/maildaemon.php263
-rwxr-xr-xscripts/stopdaemons.sh2
-rw-r--r--scripts/updatelocation.php125
-rw-r--r--theme/base/css/display.css77
-rw-r--r--theme/base/images/icons/icon_geo.pngbin0 -> 894 bytes
-rw-r--r--theme/base/images/icons/icons-01.gifbin3201 -> 3607 bytes
-rw-r--r--theme/cloudy/css/display.css836
-rw-r--r--theme/default/css/display.css27
-rw-r--r--theme/identica/css/display.css27
168 files changed, 14482 insertions, 7341 deletions
diff --git a/README b/README
index 6e39890cb..7457215a1 100644
--- a/README
+++ b/README
@@ -710,11 +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
-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.)
+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
=========
@@ -1612,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,
diff --git a/actions/apigroupleave.php b/actions/apigroupleave.php
index 514a3a557..5627bfc14 100644
--- a/actions/apigroupleave.php
+++ b/actions/apigroupleave.php
@@ -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;
diff --git a/actions/favorited.php b/actions/favorited.php
index 150b67b0b..9ffa5b844 100644
--- a/actions/favorited.php
+++ b/actions/favorited.php
@@ -185,11 +185,7 @@ class FavoritedAction extends Action
function showContent()
{
- if (common_config('db', 'type') == 'pgsql') {
- $weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))';
- } else {
- $weightexpr='sum(exp(-(now() - fave.modified) / %s))';
- }
+ $weightexpr = common_sql_weight('fave.modified', common_config('popular', 'dropoff'));
$qry = 'SELECT notice.*, '.
$weightexpr . ' as weight ' .
@@ -207,7 +203,7 @@ class FavoritedAction extends Action
}
$notice = Memcached_DataObject::cachedQuery('Notice',
- sprintf($qry, common_config('popular', 'dropoff')),
+ $qry,
600);
$nl = new NoticeList($notice, $this);
diff --git a/actions/geocode.php b/actions/geocode.php
new file mode 100644
index 000000000..9671d2c27
--- /dev/null
+++ b/actions/geocode.php
@@ -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;
+ }
+}
+?>
diff --git a/actions/getfile.php b/actions/getfile.php
index ecda34c0f..cd327e410 100644
--- a/actions/getfile.php
+++ b/actions/getfile.php
@@ -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.
@@ -20,28 +20,32 @@
* 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);
+ }
}
}
diff --git a/actions/leavegroup.php b/actions/leavegroup.php
index 08fce1509..90c85e1a4 100644
--- a/actions/leavegroup.php
+++ b/actions/leavegroup.php
@@ -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));
}
diff --git a/actions/newnotice.php b/actions/newnotice.php
index 2d9f0ff79..a4ed87bb6 100644
--- a/actions/newnotice.php
+++ b/actions/newnotice.php
@@ -184,7 +184,7 @@ class NewnoticeAction extends Action
$options = array('reply_to' => ($replyto == 'false') ? null : $replyto);
- if ($user->shareLocation()) {
+ if ($user->shareLocation() && $this->arg('notice_data-geo')) {
$locOptions = Notice::locationOptions($this->trimmed('lat'),
$this->trimmed('lon'),
diff --git a/actions/profilesettings.php b/actions/profilesettings.php
index ee236fe62..0d6777879 100644
--- a/actions/profilesettings.php
+++ b/actions/profilesettings.php
@@ -316,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;
diff --git a/actions/publictagcloud.php b/actions/publictagcloud.php
index e7f6ee36c..9e4478dbb 100644
--- a/actions/publictagcloud.php
+++ b/actions/publictagcloud.php
@@ -105,12 +105,8 @@ class PublictagcloudAction extends Action
#Add the aggregated columns...
$tags->selectAdd('max(notice_id) as last_notice_id');
- if(common_config('db','type')=='pgsql') {
- $calc='sum(exp(-extract(epoch from (now()-created))/%s)) as weight';
- } else {
- $calc='sum(exp(-(now() - created)/%s)) as weight';
- }
- $tags->selectAdd(sprintf($calc, common_config('tag', 'dropoff')));
+ $calc = common_sql_weight('created', common_config('tag', 'dropoff'));
+ $tags->selectAdd($calc . ' as weight');
$tags->groupBy('tag');
$tags->orderBy('weight DESC');
@@ -136,7 +132,12 @@ class PublictagcloudAction extends Action
$this->elementStart('dd');
$this->elementStart('ul', 'tags xoxo tag-cloud');
foreach ($tw as $tag => $weight) {
- $this->showTag($tag, $weight, $weight/$sum);
+ if ($sum) {
+ $weightedSum = $weight/$sum;
+ } else {
+ $weightedSum = 0.5;
+ }
+ $this->showTag($tag, $weight, $weightedSum);
}
$this->elementEnd('ul');
$this->elementEnd('dd');
diff --git a/actions/shownotice.php b/actions/shownotice.php
index 5d16fdad9..d09100f67 100644
--- a/actions/shownotice.php
+++ b/actions/shownotice.php
@@ -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/twitapisearchatom.php b/actions/twitapisearchatom.php
index 1cb8d7efe..baed2a0c7 100644
--- a/actions/twitapisearchatom.php
+++ b/actions/twitapisearchatom.php
@@ -208,7 +208,14 @@ class TwitapisearchatomAction extends ApiAction
$this->showFeed();
foreach ($notices as $n) {
- $this->showEntry($n);
+
+ $profile = $n->getProfile();
+
+ // Don't show notices from deleted users
+
+ if (!empty($profile)) {
+ $this->showEntry($n);
+ }
}
$this->endAtom();
diff --git a/actions/version.php b/actions/version.php
new file mode 100644
index 000000000..2cf914296
--- /dev/null
+++ b/actions/version.php
@@ -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');
+}
diff --git a/classes/Avatar.php b/classes/Avatar.php
index 8d6424e8b..91bde0f04 100644
--- a/classes/Avatar.php
+++ b/classes/Avatar.php
@@ -37,7 +37,7 @@ class Avatar extends Memcached_DataObject
}
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Avatar', $kv);
}
diff --git a/classes/Config.php b/classes/Config.php
index 390d75381..43b99587f 100644
--- a/classes/Config.php
+++ b/classes/Config.php
@@ -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);
}
diff --git a/classes/Fave.php b/classes/Fave.php
index 11e876ff1..8113c8e16 100644
--- a/classes/Fave.php
+++ b/classes/Fave.php
@@ -32,7 +32,7 @@ class Fave extends Memcached_DataObject
return $fave;
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Fave', $kv);
}
diff --git a/classes/File.php b/classes/File.php
index e04a9d525..6173f31d6 100644
--- a/classes/File.php
+++ b/classes/File.php
@@ -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(){
diff --git a/classes/File_to_post.php b/classes/File_to_post.php
index e3db91b20..72a42b088 100644
--- a/classes/File_to_post.php
+++ b/classes/File_to_post.php
@@ -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);
}
diff --git a/classes/Group_block.php b/classes/Group_block.php
index de2cf5f6e..9f4d59295 100644
--- a/classes/Group_block.php
+++ b/classes/Group_block.php
@@ -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);
}
diff --git a/classes/Group_inbox.php b/classes/Group_inbox.php
index 1af7439f7..2a0787e38 100644
--- a/classes/Group_inbox.php
+++ b/classes/Group_inbox.php
@@ -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);
}
diff --git a/classes/Group_member.php b/classes/Group_member.php
index 3c23a991f..069b2c7a1 100644
--- a/classes/Group_member.php
+++ b/classes/Group_member.php
@@ -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);
}
diff --git a/classes/Inbox.php b/classes/Inbox.php
index 610b5fceb..e14d4f4e7 100644
--- a/classes/Inbox.php
+++ b/classes/Inbox.php
@@ -51,38 +51,80 @@ class Inbox extends Memcached_DataObject
return array(false, false, false);
}
- static function insertNotice($user_id, $notice_id)
+ /**
+ * Create a new inbox from existing Notice_inbox stuff
+ */
+
+ static function initialize($user_id)
{
+ $ids = array();
+
+ $ni = new Notice_inbox();
+
+ $ni->user_id = $user_id;
+ $ni->selectAdd();
+ $ni->selectAdd('notice_id');
+ $ni->orderBy('notice_id DESC');
+ $ni->limit(0, 1024);
+
+ if ($ni->find()) {
+ while($ni->fetch()) {
+ $ids[] = $ni->notice_id;
+ }
+ }
+
+ $ni->free();
+ unset($ni);
+
$inbox = new Inbox();
- $inbox->query(sprintf('UPDATE inbox '.
- 'set notice_ids = concat(cast(0x%08x as binary(4)), '.
- 'substr(notice_ids, 1, 4092)) '.
- 'WHERE user_id = %d',
- $notice_id, $user_id));
+ $inbox->user_id = $user_id;
+ $inbox->notice_ids = call_user_func_array('pack', array_merge(array('N*'), $ids));
+
+ $result = $inbox->insert();
+
+ if (!$result) {
+ common_log_db_error($inbox, 'INSERT', __FILE__);
+ return null;
+ }
+
+ return $inbox;
}
- static function bulkInsert($notice_id, $user_ids)
+ static function insertNotice($user_id, $notice_id)
{
- $cnt = count($user_ids);
+ $inbox = Inbox::staticGet('user_id', $user_id);
- for ($off = 0; $off < $cnt; $off += self::BOXCAR) {
+ if (empty($inbox)) {
+ $inbox = Inbox::initialize($user_id);
+ }
- $boxcar = array_slice($user_ids, $off, self::BOXCAR);
+ if (empty($inbox)) {
+ return false;
+ }
- if (empty($boxcar)) { // jump in, hobo!
- break;
- }
+ $result = $inbox->query(sprintf('UPDATE inbox '.
+ 'set notice_ids = concat(cast(0x%08x as binary(4)), '.
+ 'substr(notice_ids, 1, 4092)) '.
+ 'WHERE user_id = %d',
+ $notice_id, $user_id));
- $inbox = new Inbox();
+ if ($result) {
+ $c = self::memcache();
- $inbox->query(sprintf('UPDATE inbox '.
- 'set notice_ids = concat(cast(0x%08x as binary(4)), '.
- 'substr(notice_ids, 1, 4092)) '.
- 'WHERE user_id in (%s)',
- $notice_id, implode(',', $boxcar)));
+ if (!empty($c)) {
+ $c->delete(self::cacheKey('inbox', 'user_id', $user_id));
+ }
+ }
+
+ return $result;
+ }
- $inbox->free();
+ static function bulkInsert($notice_id, $user_ids)
+ {
+ foreach ($user_ids as $user_id)
+ {
+ Inbox::insertNotice($user_id, $notice_id);
}
}
@@ -91,7 +133,10 @@ class Inbox extends Memcached_DataObject
$inbox = Inbox::staticGet('user_id', $user_id);
if (empty($inbox)) {
- return array();
+ $inbox = Inbox::initialize($user_id);
+ if (empty($inbox)) {
+ return array();
+ }
}
$ids = unpack('N*', $inbox->notice_ids);
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php
index be8137573..400b05f97 100644
--- a/classes/Memcached_DataObject.php
+++ b/classes/Memcached_DataObject.php
@@ -19,8 +19,6 @@
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
-
class Memcached_DataObject extends DB_DataObject
{
/**
@@ -38,6 +36,41 @@ class Memcached_DataObject extends DB_DataObject
}
/**
+ * Magic function called at serialize() time.
+ *
+ * We use this to drop a couple process-specific references
+ * from DB_DataObject which can cause trouble in future
+ * processes.
+ *
+ * @return array of variable names to include in serialization.
+ */
+ function __sleep()
+ {
+ $vars = array_keys(get_object_vars($this));
+ $skip = array('_DB_resultid', '_link_loaded');
+ return array_diff($vars, $skip);
+ }
+
+ /**
+ * Magic function called at unserialize() time.
+ *
+ * Clean out some process-specific variables which might
+ * be floating around from a previous process's cached
+ * objects.
+ *
+ * Old cached objects may still have them.
+ */
+ function __wakeup()
+ {
+ // Refers to global state info from a previous process.
+ // 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;
+ }
+
+ /**
* Wrapper for DB_DataObject's static lookup using memcached
* as backing instead of an in-process cache array.
*
@@ -57,31 +90,42 @@ class Memcached_DataObject extends DB_DataObject
unset($i);
}
$i = Memcached_DataObject::getcached($cls, $k, $v);
- if ($i) {
- return $i;
- } else {
- $i = DB_DataObject::staticGet($cls, $k, $v);
- if ($i) {
- // DB_DataObject's in-process lookup cache interferes with GC
- // to cause massive memory leaks in long-running processes.
- if (php_sapi_name() == 'cli') {
- $i->_clear_cache();
- }
-
- // Now store it into the shared memcached, if present...
+ if ($i === false) { // false == cache miss
+ $i = DB_DataObject::factory($cls);
+ if (empty($i)) {
+ $i = false;
+ return $i;
+ }
+ $result = $i->get($k, $v);
+ if ($result) {
+ // Hit!
$i->encache();
+ } else {
+ // 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;
}
+ 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;
}
@@ -89,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;
}
@@ -97,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;
}
@@ -123,7 +175,7 @@ class Memcached_DataObject extends DB_DataObject
}
static function cacheKey($cls, $k, $v) {
- if (is_object($cls) || is_object($j) || is_object($v)) {
+ if (is_object($cls) || is_object($k) || is_object($v)) {
$e = new Exception();
common_log(LOG_ERR, __METHOD__ . ' object in param: ' .
str_replace("\n", " ", $e->getTraceAsString()));
@@ -142,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();
@@ -153,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';
@@ -248,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);
}
diff --git a/classes/Notice.php b/classes/Notice.php
index 4c6d256d3..6284b8ca5 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -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)
@@ -213,7 +213,7 @@ class Notice extends Memcached_DataObject
extract($options);
}
- if (empty($is_local)) {
+ if (!isset($is_local)) {
$is_local = Notice::LOCAL_PUBLIC;
}
@@ -830,7 +830,7 @@ class Notice extends Memcached_DataObject
return $ids;
}
- function addToInboxes()
+ function whoGets()
{
$users = $this->getSubscribedUsers();
@@ -871,6 +871,13 @@ class Notice extends Memcached_DataObject
}
}
+ return $ni;
+ }
+
+ function addToInboxes()
+ {
+ $ni = $this->whoGets();
+
Inbox::bulkInsert($this->id, array_keys($ni));
return;
@@ -1191,7 +1198,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);
@@ -1200,7 +1207,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,
@@ -1340,12 +1347,21 @@ class Notice extends Memcached_DataObject
{
$author = Profile::staticGet('id', $this->profile_id);
- // FIXME: truncate on long repeats...?
-
$content = sprintf(_('RT @%1$s %2$s'),
$author->nickname,
$this->content);
+ $maxlen = common_config('site', 'textlimit');
+ if ($maxlen > 0 && mb_strlen($content) > $maxlen) {
+ // Web interface and current Twitter API clients will
+ // pull the original notice's text, but some older
+ // clients and RSS/Atom feeds will see this trimmed text.
+ //
+ // Unfortunately this is likely to lose tags or URLs
+ // at the end of long notices.
+ $content = mb_substr($content, 0, $maxlen - 4) . ' ...';
+ }
+
return self::saveNew($repeater_id, $content, $source,
array('repeat_of' => $this->id));
}
@@ -1360,7 +1376,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);
diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php
new file mode 100644
index 000000000..6c328e685
--- /dev/null
+++ b/classes/Notice_inbox.php
@@ -0,0 +1,87 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008-2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+
+// We keep 5 pages of inbox notices in memcache, +1 for pagination check
+
+define('INBOX_CACHE_WINDOW', 101);
+define('NOTICE_INBOX_GC_BOXCAR', 128);
+define('NOTICE_INBOX_GC_MAX', 12800);
+define('NOTICE_INBOX_LIMIT', 1000);
+define('NOTICE_INBOX_SOFT_LIMIT', 1000);
+
+define('NOTICE_INBOX_SOURCE_SUB', 1);
+define('NOTICE_INBOX_SOURCE_GROUP', 2);
+define('NOTICE_INBOX_SOURCE_REPLY', 3);
+define('NOTICE_INBOX_SOURCE_FORWARD', 4);
+define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
+
+class Notice_inbox extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'notice_inbox'; // table name
+ public $user_id; // int(4) primary_key not_null
+ public $notice_id; // int(4) primary_key not_null
+ public $created; // datetime() not_null
+ public $source; // tinyint(1) default_1
+
+ /* Static get */
+ function staticGet($k,$v=null)
+ { return Memcached_DataObject::staticGet('Notice_inbox',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+
+ function stream($user_id, $offset, $limit, $since_id, $max_id, $since, $own=false)
+ {
+ throw new Exception('Notice_inbox no longer used; use Inbox');
+ }
+
+ function _streamDirect($user_id, $own, $offset, $limit, $since_id, $max_id, $since)
+ {
+ throw new Exception('Notice_inbox no longer used; use Inbox');
+ }
+
+ function &pkeyGet($kv)
+ {
+ return Memcached_DataObject::pkeyGet('Notice_inbox', $kv);
+ }
+
+ static function gc($user_id)
+ {
+ throw new Exception('Notice_inbox no longer used; use Inbox');
+ }
+
+ static function deleteMatching($user_id, $notices)
+ {
+ throw new Exception('Notice_inbox no longer used; use Inbox');
+ }
+
+ static function bulkInsert($notice_id, $created, $ni)
+ {
+ throw new Exception('Notice_inbox no longer used; use Inbox');
+ }
+}
diff --git a/classes/Notice_tag.php b/classes/Notice_tag.php
index 02740280f..79231f0b0 100644
--- a/classes/Notice_tag.php
+++ b/classes/Notice_tag.php
@@ -96,7 +96,7 @@ class Notice_tag extends Memcached_DataObject
}
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Notice_tag', $kv);
}
diff --git a/classes/Profile.php b/classes/Profile.php
index 03196447b..25d908dbf 100644
--- a/classes/Profile.php
+++ b/classes/Profile.php
@@ -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();
diff --git a/classes/Profile_role.php b/classes/Profile_role.php
index afa7fb74e..74aca3730 100644
--- a/classes/Profile_role.php
+++ b/classes/Profile_role.php
@@ -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);
}
diff --git a/classes/Queue_item.php b/classes/Queue_item.php
index 295c321b5..9c673540d 100644
--- a/classes/Queue_item.php
+++ b/classes/Queue_item.php
@@ -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);
}
diff --git a/classes/Subscription.php b/classes/Subscription.php
index fedfd5f19..faf1331cd 100644
--- a/classes/Subscription.php
+++ b/classes/Subscription.php
@@ -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);
}
diff --git a/classes/User_location_prefs.php b/classes/User_location_prefs.php
index 52cb254ba..bd6029f97 100644
--- a/classes/User_location_prefs.php
+++ b/classes/User_location_prefs.php
@@ -45,4 +45,9 @@ class User_location_prefs extends Memcached_DataObject
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
}
diff --git a/plugins/Authentication/User_username.php b/classes/User_username.php
index 853fd5cb8..853fd5cb8 100644
--- a/plugins/Authentication/User_username.php
+++ b/classes/User_username.php
diff --git a/classes/statusnet.ini b/classes/statusnet.ini
index e4c6740ab..73727a6d6 100644
--- a/classes/statusnet.ini
+++ b/classes/statusnet.ini
@@ -92,6 +92,7 @@ modified = 384
[file__keys]
id = N
+url = U
[file_oembed]
file_id = 129
@@ -579,5 +580,5 @@ created = 142
modified = 384
[user_location_prefs__keys]
-user_id = U
+user_id = K
diff --git a/config.php.sample b/config.php.sample
index 91e6614c0..b8852dc67 100644
--- a/config.php.sample
+++ b/config.php.sample
@@ -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/';
diff --git a/extlib/lgpl-2.1.txt b/extlib/lgpl-2.1.txt
new file mode 100644
index 000000000..3b473dbfc
--- /dev/null
+++ b/extlib/lgpl-2.1.txt
@@ -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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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
diff --git a/htaccess.sample b/htaccess.sample
index 91ae9da9b..37eb8e01e 100644
--- a/htaccess.sample
+++ b/htaccess.sample
@@ -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]
diff --git a/install.php b/install.php
index 1c62bb2b2..435f6d63b 100644
--- a/install.php
+++ b/install.php
@@ -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
index 000000000..6df1faca2
--- /dev/null
+++ b/js/jquery.cookie.js
@@ -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
index 000000000..ecd5e959c
--- /dev/null
+++ b/js/json2.js
@@ -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');};}}());
diff --git a/js/util.js b/js/util.js
index 0987c6cc0..0314668d9 100644
--- a/js/util.js
+++ b/js/util.js
@@ -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);
}
});
},
@@ -431,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() {
@@ -474,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();
}
},
diff --git a/lib/action.php b/lib/action.php
index dac0e2583..1b4cb5cec 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -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')),
diff --git a/lib/adminpanelaction.php b/lib/adminpanelaction.php
index 7997eb2b1..a6981ac61 100644
--- a/lib/adminpanelaction.php
+++ b/lib/adminpanelaction.php
@@ -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/plugins/Authentication/AuthenticationPlugin.php b/lib/authenticationplugin.php
index a76848b04..de479a576 100644
--- a/plugins/Authentication/AuthenticationPlugin.php
+++ b/lib/authenticationplugin.php
@@ -99,6 +99,23 @@ abstract class AuthenticationPlugin extends Plugin
}
}
+ /**
+ * 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();
@@ -127,13 +144,13 @@ abstract class AuthenticationPlugin extends Plugin
}
}
}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);
+ $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;
}
}
@@ -190,18 +207,6 @@ abstract class AuthenticationPlugin extends Plugin
}
}
- 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',
diff --git a/plugins/Authorization/AuthorizationPlugin.php b/lib/authorizationplugin.php
index e4e046d08..733b0c065 100644
--- a/plugins/Authorization/AuthorizationPlugin.php
+++ b/lib/authorizationplugin.php
@@ -66,9 +66,6 @@ abstract class AuthorizationPlugin extends Plugin
}
//------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
- function onInitializePlugin(){
-
- }
function onStartSetUser(&$user) {
$loginAllowed = $this->loginAllowed($user);
diff --git a/lib/cache.php b/lib/cache.php
new file mode 100644
index 000000000..b7b34c050
--- /dev/null
+++ b/lib/cache.php
@@ -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;
+ }
+}
diff --git a/lib/columndef.php b/lib/columndef.php
index 1bae6b33b..ac2fcd23e 100644
--- a/lib/columndef.php
+++ b/lib/columndef.php
@@ -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,
diff --git a/lib/common.php b/lib/common.php
index 7fa1910af..fb5e5919e 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -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.
diff --git a/lib/default.php b/lib/default.php
index 8a70ed3fa..fa862f3ff 100644
--- a/lib/default.php
+++ b/lib/default.php
@@ -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' =>
@@ -232,4 +230,23 @@ $default =
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')),
);
diff --git a/lib/grouptagcloudsection.php b/lib/grouptagcloudsection.php
index 091cf4845..14ceda085 100644
--- a/lib/grouptagcloudsection.php
+++ b/lib/grouptagcloudsection.php
@@ -58,11 +58,7 @@ class GroupTagCloudSection extends TagCloudSection
function getTags()
{
- if (common_config('db', 'type') == 'pgsql') {
- $weightexpr='sum(exp(-extract(epoch from (now() - notice_tag.created)) / %s))';
- } else {
- $weightexpr='sum(exp(-(now() - notice_tag.created) / %s))';
- }
+ $weightexpr = common_sql_weight('notice_tag.created', common_config('tag', 'dropoff'));
$names = $this->group->getAliases();
@@ -99,7 +95,6 @@ class GroupTagCloudSection extends TagCloudSection
$tag = Memcached_DataObject::cachedQuery('Notice_tag',
sprintf($qry,
- common_config('tag', 'dropoff'),
$this->group->id,
$namestring),
3600);
diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php
index 2091c6e2c..31660ce95 100644
--- a/lib/htmloutputter.php
+++ b/lib/htmloutputter.php
@@ -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;
}
diff --git a/lib/jabber.php b/lib/jabber.php
index 01aed8ffa..a821856a8 100644
--- a/lib/jabber.php
+++ b/lib/jabber.php
@@ -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) {
diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php
index 569bfa873..0d72ddf7a 100644
--- a/lib/jsonsearchresultslist.php
+++ b/lib/jsonsearchresultslist.php
@@ -105,8 +105,14 @@ class JSONSearchResultsList
break;
}
- $item = new ResultItem($this->notice);
- array_push($this->results, $item);
+ $profile = $this->notice->getProfile();
+
+ // Don't show notices from deleted users
+
+ if (!empty($profile)) {
+ $item = new ResultItem($this->notice);
+ array_push($this->results, $item);
+ }
}
$time_end = microtime(true);
diff --git a/lib/mailhandler.php b/lib/mailhandler.php
new file mode 100644
index 000000000..32a8cd9bc
--- /dev/null
+++ b/lib/mailhandler.php
@@ -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);
+ }
+}
diff --git a/lib/noticeform.php b/lib/noticeform.php
index 593a1e932..f0b704e87 100644
--- a/lib/noticeform.php
+++ b/lib/noticeform.php
@@ -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));
}
}
diff --git a/lib/noticelist.php b/lib/noticelist.php
index 4c11ceed6..78abf34a7 100644
--- a/lib/noticelist.php
+++ b/lib/noticelist.php
@@ -191,6 +191,14 @@ class NoticeListItem extends Widget
function show()
{
+ if (empty($this->notice)) {
+ common_log(LOG_WARNING, "Trying to show missing notice; skipping.");
+ return;
+ } else if (empty($this->profile)) {
+ common_log(LOG_WARNING, "Trying to show missing profile (" . $this->notice->profile_id . "); skipping.");
+ return;
+ }
+
$this->showStart();
if (Event::handle('StartShowNoticeItem', array($this))) {
$this->showNotice();
@@ -371,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{
diff --git a/lib/personaltagcloudsection.php b/lib/personaltagcloudsection.php
index 0b29d58ca..091425f92 100644
--- a/lib/personaltagcloudsection.php
+++ b/lib/personaltagcloudsection.php
@@ -58,13 +58,9 @@ class PersonalTagCloudSection extends TagCloudSection
function getTags()
{
- if (common_config('db', 'type') == 'pgsql') {
- $weightexpr='sum(exp(-extract(epoch from (now() - notice_tag.created)) / %s))';
- } else {
- $weightexpr='sum(exp(-(now() - notice_tag.created) / %s))';
- }
-
- $qry = 'SELECT notice_tag.tag, '.
+ $weightexpr = common_sql_weight('notice_tag.created', common_config('tag', 'dropoff'));
+
+ $qry = 'SELECT notice_tag.tag, '.
$weightexpr . ' as weight ' .
'FROM notice_tag JOIN notice ' .
'ON notice_tag.notice_id = notice.id ' .
@@ -83,7 +79,6 @@ class PersonalTagCloudSection extends TagCloudSection
$tag = Memcached_DataObject::cachedQuery('Notice_tag',
sprintf($qry,
- common_config('tag', 'dropoff'),
$this->user->id),
3600);
return $tag;
diff --git a/lib/ping.php b/lib/ping.php
index 5698c4038..735af9ef1 100644
--- a/lib/ping.php
+++ b/lib/ping.php
@@ -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
+}
diff --git a/lib/plugin.php b/lib/plugin.php
index de7313e59..65ccdafbb 100644
--- a/lib/plugin.php
+++ b/lib/plugin.php
@@ -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;
+ }
}
diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php
index 9fbc9d2dd..fbf9a60ab 100644
--- a/lib/popularnoticesection.php
+++ b/lib/popularnoticesection.php
@@ -48,17 +48,17 @@ class PopularNoticeSection extends NoticeSection
{
function getNotices()
{
+ // @fixme there should be a common func for this
if (common_config('db', 'type') == 'pgsql') {
- $weightexpr='sum(exp(-extract(epoch from (now() - fave.modified)) / %s))';
if (!empty($this->out->tag)) {
$tag = pg_escape_string($this->out->tag);
}
} else {
- $weightexpr='sum(exp(-(now() - fave.modified) / %s))';
if (!empty($this->out->tag)) {
$tag = mysql_escape_string($this->out->tag);
}
}
+ $weightexpr = common_sql_weight('fave.modified', common_config('popular', 'dropoff'));
$qry = "SELECT notice.*, $weightexpr as weight ";
if(isset($tag)) {
$qry .= 'FROM notice_tag, notice JOIN fave ON notice.id = fave.notice_id ' .
@@ -78,7 +78,7 @@ class PopularNoticeSection extends NoticeSection
$qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
$notice = Memcached_DataObject::cachedQuery('Notice',
- sprintf($qry, common_config('popular', 'dropoff')),
+ $qry,
1200);
return $notice;
}
diff --git a/lib/router.php b/lib/router.php
index 474e05996..287d3c79f 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -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));
diff --git a/lib/schema.php b/lib/schema.php
index a8ba91b87..a7f64ebed 100644
--- a/lib/schema.php
+++ b/lib/schema.php
@@ -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;
}
diff --git a/lib/util.php b/lib/util.php
index ed81aeba1..50bd0e2ac 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -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');
@@ -908,6 +908,26 @@ function common_sql_date($datetime)
return strftime('%Y-%m-%d %H:%M:%S', $datetime);
}
+/**
+ * Return an SQL fragment to calculate an age-based weight from a given
+ * timestamp or datetime column.
+ *
+ * @param string $column name of field we're comparing against current time
+ * @param integer $dropoff divisor for age in seconds before exponentiation
+ * @return string SQL fragment
+ */
+function common_sql_weight($column, $dropoff)
+{
+ if (common_config('db', 'type') == 'pgsql') {
+ // PostgreSQL doesn't support timestampdiff function.
+ // @fixme will this use the right time zone?
+ // @fixme does this handle cross-year subtraction correctly?
+ return "sum(exp(-extract(epoch from (now() - $column)) / $dropoff))";
+ } else {
+ return "sum(exp(timestampdiff(second, utc_timestamp(), $column) / $dropoff))";
+ }
+}
+
function common_redirect($url, $code=307)
{
static $status = array(301 => "Moved Permanently",
@@ -1384,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)
diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po
index 0a4bdeb2f..68a1ff2fc 100644
--- a/locale/ar/LC_MESSAGES/statusnet.po
+++ b/locale/ar/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:09:41+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 (r60437); 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"
@@ -188,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 "Ùشل إلغاء منع المستخدم."
@@ -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 ""
#: 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 حرÙًا)"
@@ -339,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 ""
@@ -454,7 +454,7 @@ msgstr ""
msgid "Not found"
msgstr "لم يوجد"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -583,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 "احذÙ"
@@ -596,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
@@ -672,7 +672,7 @@ msgstr "نعم"
msgid "Block this user"
msgstr "امنع هذا المستخدم"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "Ùشل Ø­Ùظ معلومات المنع."
@@ -744,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 "تعذّر تحديث المستخدم."
@@ -804,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 "احذ٠هذا الإشعار"
@@ -938,7 +938,7 @@ msgstr "ارجع إلى المبدئي"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1420,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 "إداري"
@@ -1507,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 "خطأ أثناء منع الحجب."
@@ -1676,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 "أرسل"
@@ -1772,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 "Ù„Ùج"
@@ -1879,7 +1879,7 @@ msgstr "Ø£Ùرسلت الرسالة"
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "خطأ أجاكس"
@@ -1887,7 +1887,7 @@ msgstr "خطأ أجاكس"
msgid "New notice"
msgstr "إشعار جديد"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Ø£Ùرسل الإشعار"
@@ -2304,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:294
+#: 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:164
+#: 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 "Ø­ÙÙظت الإعدادات."
@@ -2465,7 +2473,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "سحابة الوسوم"
@@ -2601,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 "سجّل"
@@ -2765,7 +2773,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 "مكرر"
@@ -3507,7 +3515,7 @@ msgstr "صورة"
#: actions/tagother.php:141
msgid "Tag user"
-msgstr ""
+msgstr "اوسم المستخدم"
#: actions/tagother.php:151
msgid ""
@@ -3839,16 +3847,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 "آر تي @%1$s %2$s"
@@ -3903,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."
@@ -4033,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 %"
@@ -4049,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 ""
@@ -4125,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 "نتائج الأمر"
@@ -4587,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
@@ -4800,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 "من"
@@ -4864,69 +4882,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 "ما الأخبار يا %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
+#: 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 "الإشعار مكرر"
diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po
index c0ec3623e..26d2f4ffc 100644
--- a/locale/arz/LC_MESSAGES/statusnet.po
+++ b/locale/arz/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:09:44+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 (r60437); 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"
@@ -121,7 +121,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:94
#: actions/apiaccountupdateprofilecolors.php:118
msgid "API method not found."
-msgstr "لم يتم العثور على وسيلة API."
+msgstr "لم يتم العثور على وسيله API."
#: actions/apiaccountupdatedeliverydevice.php:85
#: actions/apiaccountupdateprofile.php:89
@@ -185,13 +185,13 @@ msgstr "تعذّر تحديث تصميمك."
#: actions/apiblockcreate.php:105
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 "Ùشل إلغاء منع المستخدم."
@@ -303,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 حرÙًا)"
@@ -338,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 ""
@@ -429,11 +429,11 @@ msgstr "لا إشعار كهذا."
#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
-msgstr "لا يمكنك تكرار ملحوظتك الخاصة."
+msgstr "لا يمكنك تكرار ملحوظتك الخاصه."
#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
-msgstr "كرر بالÙعل هذه الملاحظة."
+msgstr "كرر بالÙعل هذه الملاحظه."
#: actions/apistatusesshow.php:138
msgid "Status deleted."
@@ -453,7 +453,7 @@ msgstr ""
msgid "Not found"
msgstr "لم يوجد"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -582,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 "احذÙ"
@@ -595,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
@@ -671,7 +671,7 @@ msgstr "نعم"
msgid "Block this user"
msgstr "امنع هذا المستخدم"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "Ùشل Ø­Ùظ معلومات المنع."
@@ -743,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 "تعذّر تحديث المستخدم."
@@ -803,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 "احذ٠هذا الإشعار"
@@ -937,7 +937,7 @@ msgstr "ارجع إلى المبدئي"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1236,11 +1236,11 @@ msgstr "اختيار لبعض المستخدمين المتميزين على %s"
#: actions/file.php:34
msgid "No notice ID."
-msgstr "لا رقم ملاحظة."
+msgstr "لا رقم ملاحظه."
#: actions/file.php:38
msgid "No notice."
-msgstr "لا ملاحظة."
+msgstr "لا ملاحظه."
#: actions/file.php:42
msgid "No attachments."
@@ -1248,7 +1248,7 @@ msgstr "لا مرÙقات."
#: actions/file.php:51
msgid "No uploaded attachments."
-msgstr "لا مرÙقات مرÙوعة."
+msgstr "لا مرÙقات مرÙوعه."
#: actions/finishremotesubscribe.php:69
msgid "Not expecting this response!"
@@ -1419,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 "إداري"
@@ -1506,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 "خطأ أثناء منع الحجب."
@@ -1675,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 "أرسل"
@@ -1771,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 "Ù„Ùج"
@@ -1878,7 +1878,7 @@ msgstr "Ø£Ùرسلت الرسالة"
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "خطأ أجاكس"
@@ -1886,7 +1886,7 @@ msgstr "خطأ أجاكس"
msgid "New notice"
msgstr "إشعار جديد"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Ø£Ùرسل الإشعار"
@@ -2303,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:294
+#: 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:164
+#: 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 "Ø­ÙÙظت الإعدادات."
@@ -2464,7 +2472,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "سحابه الوسوم"
@@ -2600,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 "سجّل"
@@ -2754,17 +2762,17 @@ msgstr ""
#: actions/repeat.php:64 actions/repeat.php:71
msgid "No notice specified."
-msgstr "لا ملاحظة محددة."
+msgstr "لا ملاحظه محدده."
#: actions/repeat.php:76
msgid "You can't repeat your own notice."
-msgstr "لا يمكنك تكرار ملاحظتك الشخصية."
+msgstr "لا يمكنك تكرار ملاحظتك الشخصيه."
#: actions/repeat.php:90
msgid "You already repeated that notice."
-msgstr "أنت كررت هذه الملاحظة بالÙعل."
+msgstr "أنت كررت هذه الملاحظه بالÙعل."
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
msgid "Repeated"
msgstr "مكرر"
@@ -3506,7 +3514,7 @@ msgstr "صورة"
#: actions/tagother.php:141
msgid "Tag user"
-msgstr ""
+msgstr "اوسم المستخدم"
#: actions/tagother.php:151
msgid ""
@@ -3541,7 +3549,7 @@ msgstr "لم تمنع هذا المستخدم."
#: actions/unsandbox.php:72
msgid "User is not sandboxed."
-msgstr "المستخدم ليس ÙÙŠ صندوق الرمل."
+msgstr "المستخدم ليس ÙÙ‰ صندوق الرمل."
#: actions/unsilence.php:72
msgid "User is not silenced."
@@ -3838,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
+#: 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
@@ -3902,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."
@@ -4032,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 %"
@@ -4048,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 ""
@@ -4124,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 "نتائج الأمر"
@@ -4288,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
@@ -4586,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
@@ -4799,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 "من"
@@ -4863,69 +4881,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 "ما الأخبار يا %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
+#: 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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "الإشعار مكرر"
@@ -5151,7 +5173,7 @@ msgstr "غير مشترك!"
#: lib/subs.php:133
msgid "Couldn't delete self-subscription."
-msgstr "م يمكن حذ٠اشتراك ذاتي."
+msgstr "لم يمكن حذ٠اشتراك ذاتى."
#: lib/subs.php:146
msgid "Couldn't delete subscription."
diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po
index b3940ff01..cf881f17b 100644
--- a/locale/bg/LC_MESSAGES/statusnet.po
+++ b/locale/bg/LC_MESSAGES/statusnet.po
@@ -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-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:09:50+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 (r60437); 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"
@@ -188,11 +189,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 "Грешка при разблокиране на потребителÑ."
@@ -303,12 +304,11 @@ msgid "Could not determine source user."
msgstr "Грешка при изтеглÑне на Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº"
#: actions/apifriendshipsshow.php:143
-#, fuzzy
msgid "Could not find target user."
-msgstr "Ðе Ñа открити бележки."
+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 ""
@@ -316,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 знака)"
@@ -345,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 знака)."
@@ -460,7 +460,7 @@ msgstr "Твърде дълга бележка. ТрÑбва да е най-мн
msgid "Not found"
msgstr "Ðе е открито."
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -591,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 "Изтриване"
@@ -604,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
@@ -680,7 +680,7 @@ msgstr "Да"
msgid "Block this user"
msgstr "Блокиране на потребителÑ"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "Грешка при запиÑване данните за блокирането."
@@ -754,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 "Грешка при обновÑване на потребителÑ."
@@ -814,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 "Изтриване на бележката"
@@ -954,7 +954,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1268,9 +1268,8 @@ msgid "No notice."
msgstr "ЛипÑва бележка."
#: actions/file.php:42
-#, fuzzy
msgid "No attachments."
-msgstr "ÐÑма такъв документ."
+msgstr "ÐÑма прикачени файлове."
#: actions/file.php:51
#, fuzzy
@@ -1458,7 +1457,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 "ÐаÑтройки"
@@ -1549,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 "Грешка при запазване на потребител."
@@ -1732,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 "Прати"
@@ -1857,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 "Вход"
@@ -1970,7 +1969,7 @@ msgstr "Съобщението е изпратено"
msgid "Direct message to %s sent"
msgstr "ПрÑкото Ñъобщение до %s е изпратено."
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Грешка в Ajax"
@@ -1978,7 +1977,7 @@ msgstr "Грешка в Ajax"
msgid "New notice"
msgstr "Ðова бележка"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Бележката е публикувана"
@@ -2401,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:294
+#: 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:164
+#: 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 "ÐаÑтройките Ñа запазени."
@@ -2559,7 +2567,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2698,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 "РегиÑтриране"
@@ -2887,7 +2895,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 "Повторено"
@@ -4000,16 +4008,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"
@@ -4066,132 +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
+#: 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
#, 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 "Лиценз на програмата StatusNet"
-#: lib/action.php:772
+#: lib/action.php:773
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4200,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 %"
@@ -4216,31 +4224,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 "Ð’Ñички "
-#: 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 "Имаше проблем ÑÑŠÑ ÑеÑиÑта ви в Ñайта."
@@ -4295,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 "Резултат от командата"
@@ -4979,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 "от"
@@ -5043,69 +5061,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 "Какво Ñтава, %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
+#: 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 "Бележката е повторена."
diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po
index f897ec18d..7022f4fad 100644
--- a/locale/ca/LC_MESSAGES/statusnet.po
+++ b/locale/ca/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:09:53+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 (r60437); 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."
@@ -316,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 ""
@@ -324,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)."
@@ -353,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)."
@@ -470,7 +470,7 @@ msgstr "Massa llarg. La longitud màxima és de %d caràcters."
msgid "Not found"
msgstr "No s'ha trobat"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: 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 "Vista prèvia"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Suprimeix"
@@ -613,13 +613,13 @@ msgid "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
@@ -693,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."
@@ -767,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."
@@ -831,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"
@@ -969,7 +969,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1471,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"
@@ -1560,7 +1560,7 @@ msgstr "Només un administrador pot desblocar els membres del grup."
msgid "User is not blocked from group."
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 "S'ha produït un error en suprimir el bloc."
@@ -1750,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"
@@ -1874,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ó"
@@ -1988,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax Error"
@@ -1996,7 +1996,7 @@ msgstr "Ajax Error"
msgid "New notice"
msgstr "Nou avís"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Notificació publicada"
@@ -2428,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:294
+#: 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
+#: 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. %d caràcters)."
-#: actions/profilesettings.php:228 actions/siteadminpanel.php:164
+#: 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."
@@ -2591,7 +2600,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Núvol d'etiquetes"
@@ -2731,7 +2740,7 @@ msgstr "El codi d'invitació no és vàlid."
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 "Registre"
@@ -2928,7 +2937,7 @@ 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
+#: actions/repeat.php:114 lib/noticelist.php:629
msgid "Repeated"
msgstr "Repetit"
@@ -4052,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)"
@@ -4117,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."
@@ -4248,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 %"
@@ -4264,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ó."
@@ -4345,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"
@@ -5031,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"
@@ -5095,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"
diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po
index 6cc1e1dbf..73ffd3265 100644
--- a/locale/cs/LC_MESSAGES/statusnet.po
+++ b/locale/cs/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:09:56+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 (r60437); 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:191
+#: 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
@@ -694,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 ""
@@ -768,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"
@@ -830,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í"
@@ -972,7 +972,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1477,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 ""
@@ -1570,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"
@@ -1749,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"
@@ -1849,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"
@@ -1959,7 +1959,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1967,7 +1967,7 @@ msgstr ""
msgid "New notice"
msgstr "Nové sdělení"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Sdělení"
@@ -2406,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:294
+#: 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:164
+#: 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"
@@ -2566,7 +2575,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2705,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"
@@ -2881,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"
@@ -4006,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 ""
@@ -4074,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."
@@ -4211,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 %"
@@ -4227,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 ""
@@ -4309,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 ""
@@ -4997,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 "
@@ -5063,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í"
diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po
index 42cc95a1e..80498e5d1 100644
--- a/locale/de/LC_MESSAGES/statusnet.po
+++ b/locale/de/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:00+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 (r60437); 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"
@@ -196,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."
@@ -319,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 ""
@@ -327,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)."
@@ -357,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)."
@@ -383,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
@@ -452,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."
@@ -475,7 +473,7 @@ msgstr ""
msgid "Not found"
msgstr "Nicht gefunden"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -531,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
@@ -607,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"
@@ -620,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
@@ -697,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."
@@ -769,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."
@@ -831,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"
@@ -967,7 +965,7 @@ msgstr "Standard wiederherstellen"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1274,24 +1272,20 @@ 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!"
@@ -1464,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"
@@ -1558,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."
@@ -1750,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"
@@ -1872,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"
@@ -1984,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax-Fehler"
@@ -1992,7 +1986,7 @@ msgstr "Ajax-Fehler"
msgid "New notice"
msgstr "Neue Nachricht"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Nachricht hinzugefügt"
@@ -2422,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:294
+#: 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:164
+#: 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."
@@ -2584,7 +2587,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Tag-Wolke"
@@ -2722,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"
@@ -2920,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"
@@ -4061,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)"
@@ -4126,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 "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."
@@ -4259,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 %"
@@ -4275,32 +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
+#: 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."
@@ -4356,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"
@@ -5094,7 +5107,7 @@ msgstr ""
"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"
@@ -5160,73 +5173,77 @@ 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."
diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po
index 91637b930..33c1a818f 100644
--- a/locale/el/LC_MESSAGES/statusnet.po
+++ b/locale/el/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:05+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 (r60437); 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:191
+#: 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
@@ -684,7 +684,7 @@ msgstr "Îαί"
msgid "Block this user"
msgstr ""
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
@@ -756,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 "Απέτυχε η ενημέÏωση του χÏήστη."
@@ -818,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 ""
@@ -956,7 +956,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1455,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 "ΔιαχειÏιστής"
@@ -1544,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 ""
@@ -1719,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 ""
@@ -1815,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 "ΣÏνδεση"
@@ -1927,7 +1927,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1935,7 +1935,7 @@ msgstr ""
msgid "New notice"
msgstr ""
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr ""
@@ -2363,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:294
+#: 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)"
@@ -2398,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:164
+#: 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 ""
@@ -2523,7 +2532,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2661,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 ""
@@ -2849,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 "ΔημιουÏγία"
@@ -3940,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 ""
@@ -4005,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."
@@ -4136,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 %"
@@ -4150,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 ""
@@ -4229,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 ""
@@ -4897,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 "από"
@@ -4962,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"
diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po
index 115d94ace..61660c2fd 100644
--- a/locale/en_GB/LC_MESSAGES/statusnet.po
+++ b/locale/en_GB/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:08+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 (r60437); 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"
@@ -201,11 +201,11 @@ msgstr "Could not update your design."
msgid "You cannot block yourself!"
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."
@@ -317,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)."
@@ -352,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)."
@@ -467,7 +467,7 @@ msgstr "That's too long. Max notice size is %d chars."
msgid "Not found"
msgstr "Not found"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Max notice size is %d chars, including attachment URL."
@@ -596,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"
@@ -609,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
@@ -688,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."
@@ -760,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."
@@ -822,7 +822,7 @@ 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"
@@ -839,9 +839,8 @@ msgid "You can only delete local users."
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 ""
@@ -865,23 +864,21 @@ msgid "Design settings for this StatusNet site."
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
@@ -965,7 +962,7 @@ msgstr "Reset back to default"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1476,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"
@@ -1568,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."
@@ -1750,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"
@@ -1874,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"
@@ -1986,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax Error"
@@ -1994,7 +1991,7 @@ msgstr "Ajax Error"
msgid "New notice"
msgstr "New notice"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Notice posted"
@@ -2424,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:294
+#: 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:164
+#: 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."
@@ -2591,7 +2597,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Tag cloud"
@@ -2730,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"
@@ -2923,7 +2929,7 @@ msgstr "You can't repeat your own notice."
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"
@@ -4049,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)"
@@ -4113,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."
@@ -4245,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 %"
@@ -4261,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."
@@ -4344,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"
@@ -5033,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"
@@ -5098,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."
diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po
index e0e5ebba7..93320db27 100644
--- a/locale/es/LC_MESSAGES/statusnet.po
+++ b/locale/es/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:11+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 (r60437); 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:191
+#: 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
@@ -691,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."
@@ -764,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."
@@ -828,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"
@@ -971,7 +971,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1475,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"
@@ -1569,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."
@@ -1757,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"
@@ -1884,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"
@@ -1999,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Error de Ajax"
@@ -2007,7 +2007,7 @@ msgstr "Error de Ajax"
msgid "New notice"
msgstr "Nuevo aviso"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Aviso publicado"
@@ -2454,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:294
+#: 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:164
+#: 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."
@@ -2618,7 +2627,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Nube de tags"
@@ -2761,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"
@@ -2959,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"
@@ -4109,16 +4118,16 @@ 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
+#: classes/Notice.php:1361
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4174,129 +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
+#: lib/action.php:434
msgid "Account"
msgstr "Cuenta"
-#: lib/action.php:433
+#: 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
+#: lib/action.php:437
msgid "Connect to services"
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
+#: 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
+#: 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
+#: lib/action.php:742
msgid "Badge"
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."
@@ -4305,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 %"
@@ -4321,31 +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
+#: lib/action.php:791
msgid "Site content license"
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."
@@ -4404,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"
@@ -5090,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"
@@ -5154,72 +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
+#: 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 ""
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
msgid "at"
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"
diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po
index f6c9559aa..bce137a35 100644
--- a/locale/fa/LC_MESSAGES/statusnet.po
+++ b/locale/fa/LC_MESSAGES/statusnet.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:17+0000\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"
@@ -20,7 +20,7 @@ msgstr ""
"X-Language-Code: fa\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.16alpha (r60437); 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"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
@@ -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 "باز کردن کاربر ناموÙÙ‚ بود."
@@ -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 "نام کامل طولانی است (۲۵۵ حر٠در حالت بیشینه(."
@@ -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 "مکان طولانی است (حداکثر Û²ÛµÛµ حرÙ)"
@@ -461,7 +461,7 @@ msgstr "خیلی طولانی است. حداکثر طول مجاز پیام %d Ø
msgid "Not found"
msgstr "یاÙت نشد"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "حداکثر طول پیام %d حر٠است که شامل ضمیمه نیز می‌باشد"
@@ -591,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 "حذÙ"
@@ -604,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
@@ -684,7 +684,7 @@ msgstr "بله"
msgid "Block this user"
msgstr "کاربر را مسدود کن"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
@@ -756,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 "نمی‌توان کاربر را به روز کرد."
@@ -818,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 "این پیام را پاک کن"
@@ -956,7 +956,7 @@ msgstr "برگشت به حالت پیش گزیده"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1445,7 +1445,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 "مدیر"
@@ -1541,7 +1541,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 "اشکال در پاکسازی"
@@ -1722,7 +1722,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 "Ùرستادن"
@@ -1818,7 +1818,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 "ورود"
@@ -1929,7 +1929,7 @@ msgstr "پیام Ùرستاده‌شد"
msgid "Direct message to %s sent"
msgstr "پیام مستقیم به %s Ùرستاده شد."
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "اشکال آژاکسی"
@@ -1937,7 +1937,7 @@ msgstr "اشکال آژاکسی"
msgid "New notice"
msgstr "آگهی جدید"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Ø¢Ú¯Ù‡ÛŒ Ùرستاده‌شد."
@@ -2017,7 +2017,7 @@ 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
@@ -2368,69 +2368,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:294
+#: 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:164
+#: 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
+#, 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 "تنظیمات ذخیره شد."
@@ -2523,7 +2532,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2663,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 "ثبت نام"
@@ -2831,7 +2840,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 ""
@@ -3911,16 +3920,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 ""
@@ -3975,140 +3984,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 " به شما ملحق شوند %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."
"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 %"
@@ -4116,31 +4125,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 ""
@@ -4192,6 +4201,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 "نتیجه دستور"
@@ -4861,7 +4880,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 "از"
@@ -4926,69 +4945,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 "چه شده %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
+#: 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 "آگهی تکرار شد"
diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po
index 8887a7b91..ece1dfee1 100644
--- a/locale/fi/LC_MESSAGES/statusnet.po
+++ b/locale/fi/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:14+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 (r60437); 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:191
+#: 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
@@ -693,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."
@@ -766,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ää."
@@ -828,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"
@@ -973,7 +973,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1472,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"
@@ -1562,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."
@@ -1751,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ä"
@@ -1874,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"
@@ -1988,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax-virhe"
@@ -1996,7 +1996,7 @@ msgstr "Ajax-virhe"
msgid "New notice"
msgstr "Uusi päivitys"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Päivitys lähetetty"
@@ -2439,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:294
+#: 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:164
+#: 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."
@@ -2602,7 +2611,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Tagipilvi"
@@ -2742,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"
@@ -2942,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"
@@ -4081,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)"
@@ -4146,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."
@@ -4279,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 %"
@@ -4295,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."
@@ -4380,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"
@@ -5076,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ä "
@@ -5141,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."
diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po
index c3b1a0527..0dda77224 100644
--- a/locale/fr/LC_MESSAGES/statusnet.po
+++ b/locale/fr/LC_MESSAGES/statusnet.po
@@ -13,12 +13,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:21+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 (r60437); 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:191
+#: 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
@@ -701,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."
@@ -773,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."
@@ -835,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"
@@ -975,7 +975,7 @@ 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:324 actions/profilesettings.php:167
+#: 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
@@ -1477,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"
@@ -1577,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."
@@ -1768,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"
@@ -1894,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"
@@ -2012,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Erreur Ajax"
@@ -2020,7 +2020,7 @@ msgstr "Erreur Ajax"
msgid "New notice"
msgstr "Nouvel avis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Avis publié"
@@ -2454,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:294
+#: 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:164
+#: 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."
@@ -2627,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"
@@ -2771,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"
@@ -2964,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"
@@ -4126,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"
@@ -4190,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."
@@ -4320,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 %"
@@ -4336,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."
@@ -4412,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"
@@ -5215,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"
@@ -5283,69 +5301,73 @@ 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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Avis repris"
diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po
index 8da467cea..00e8c6b89 100644
--- a/locale/ga/LC_MESSAGES/statusnet.po
+++ b/locale/ga/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:24+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 (r60437); 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:191
+#: 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
@@ -704,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."
@@ -781,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."
@@ -846,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"
@@ -995,7 +995,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1512,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 ""
@@ -1605,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."
@@ -1789,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"
@@ -1916,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"
@@ -2031,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Erro de Ajax"
@@ -2039,7 +2039,7 @@ msgstr "Erro de Ajax"
msgid "New notice"
msgstr "Novo chío"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Chío publicado"
@@ -2482,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:294
+#: 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:164
+#: 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."
@@ -2653,7 +2662,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2792,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"
@@ -2993,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"
@@ -4154,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)"
@@ -4222,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."
@@ -4363,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 %"
@@ -4379,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..."
@@ -4468,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"
@@ -5254,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 "
@@ -5320,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"
diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po
index c0d4ecf51..97c2dc823 100644
--- a/locale/he/LC_MESSAGES/statusnet.po
+++ b/locale/he/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:27+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 (r60437); 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:191
+#: 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
@@ -695,7 +695,7 @@ msgstr "כן"
msgid "Block this user"
msgstr "×ין משתמש ×›×–×”."
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
@@ -771,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 "עידכון המשתמש נכשל."
@@ -833,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 ""
@@ -980,7 +980,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1488,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 +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 "שגי××” בשמירת המשתמש."
@@ -1760,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 "שלח"
@@ -1860,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 "היכנס"
@@ -1970,7 +1970,7 @@ msgstr "הודעה חדשה"
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1978,7 +1978,7 @@ msgstr ""
msgid "New notice"
msgstr "הודעה חדשה"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "הודעות"
@@ -2417,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:294
+#: 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:164
+#: 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 "ההגדרות נשמרו."
@@ -2577,7 +2586,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2714,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 "הירש×"
@@ -2887,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 "צור"
@@ -4010,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 ""
@@ -4078,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."
@@ -4216,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 %"
@@ -4232,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 ""
@@ -4314,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 ""
@@ -4999,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 ""
@@ -5064,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 "הודעות"
diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po
index ae5b19651..e12652087 100644
--- a/locale/hsb/LC_MESSAGES/statusnet.po
+++ b/locale/hsb/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:30+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 (r60437); 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:191
+#: 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
@@ -673,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 ""
@@ -745,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 ""
@@ -805,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ć"
@@ -940,7 +940,7 @@ 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:324 actions/profilesettings.php:167
+#: 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
@@ -1424,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"
@@ -1511,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 ""
@@ -1682,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ć"
@@ -1778,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ć"
@@ -1885,7 +1885,7 @@ msgstr "Powěsć pósłana"
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Zmylk Ajax"
@@ -1893,7 +1893,7 @@ msgstr "Zmylk Ajax"
msgid "New notice"
msgstr "Nowa zdźělenka"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Zdźělenka wotpósłana"
@@ -2310,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:294
+#: 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:164
+#: 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."
@@ -2465,7 +2473,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2602,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ć"
@@ -2766,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"
@@ -3836,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 ""
@@ -3900,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 %"
@@ -4041,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 ""
@@ -4117,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 ""
@@ -4785,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"
@@ -4849,69 +4867,73 @@ 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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Zdźělenka wospjetowana"
@@ -5041,9 +5063,8 @@ msgid "Popular"
msgstr "Woblubowany"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Tutu zdźělenku wospjetować"
+msgstr "Tutu zdźělenku wospjetować?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po
index 9f64bd619..adb2fb764 100644
--- a/locale/ia/LC_MESSAGES/statusnet.po
+++ b/locale/ia/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:33+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 (r60437); 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:191
+#: 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
@@ -689,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."
@@ -761,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."
@@ -823,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"
@@ -961,7 +961,7 @@ msgstr "Revenir al predefinitiones"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1461,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"
@@ -1559,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."
@@ -1746,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"
@@ -1869,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"
@@ -1984,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Error de Ajax"
@@ -1992,7 +1992,7 @@ msgstr "Error de Ajax"
msgid "New notice"
msgstr "Nove nota"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Nota publicate"
@@ -2299,35 +2299,35 @@ msgstr "Directorio al fundos"
#: actions/pathsadminpanel.php:293
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
msgid "Never"
-msgstr ""
+msgstr "Nunquam"
#: actions/pathsadminpanel.php:297
msgid "Sometimes"
-msgstr ""
+msgstr "Alcun vices"
#: actions/pathsadminpanel.php:298
msgid "Always"
-msgstr ""
+msgstr "Sempre"
#: actions/pathsadminpanel.php:302
msgid "Use SSL"
-msgstr ""
+msgstr "Usar SSL"
#: actions/pathsadminpanel.php:303
msgid "When to use SSL"
-msgstr ""
+msgstr "Quando usar SSL"
#: actions/pathsadminpanel.php:308
msgid "SSL Server"
-msgstr ""
+msgstr "Servitor SSL"
#: actions/pathsadminpanel.php:309
msgid "Server to direct SSL requests to"
-msgstr ""
+msgstr "Servitor verso le qual diriger le requestas SSL"
#: actions/pathsadminpanel.php:325
msgid "Save paths"
@@ -2424,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:294
+#: 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:164
+#: 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."
@@ -2595,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"
@@ -2735,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"
@@ -2927,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"
@@ -3376,184 +3384,190 @@ msgstr "Servitor"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
-msgstr ""
+msgstr "Nomine de host del servitor del sito."
#: actions/siteadminpanel.php:310
msgid "Fancy URLs"
-msgstr ""
+msgstr "URLs de luxo"
#: 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:318
msgid "Access"
-msgstr ""
+msgstr "Accesso"
#: actions/siteadminpanel.php:321
msgid "Private"
-msgstr ""
+msgstr "Private"
#: 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:327
msgid "Invite only"
-msgstr ""
+msgstr "Solmente per invitation"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
-msgstr ""
+msgstr "Permitter le registration solmente al invitatos."
#: actions/siteadminpanel.php:333
msgid "Closed"
-msgstr ""
+msgstr "Claudite"
#: actions/siteadminpanel.php:335
msgid "Disable new registrations."
-msgstr ""
+msgstr "Disactivar le creation de nove contos."
#: actions/siteadminpanel.php:341
msgid "Snapshots"
-msgstr ""
+msgstr "Instantaneos"
#: actions/siteadminpanel.php:344
msgid "Randomly during Web hit"
-msgstr ""
+msgstr "Aleatorimente durante un accesso web"
#: actions/siteadminpanel.php:345
msgid "In a scheduled job"
-msgstr ""
+msgstr "In un processo planificate"
#: actions/siteadminpanel.php:347
msgid "Data snapshots"
-msgstr ""
+msgstr "Instantaneos de datos"
#: 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:353
msgid "Frequency"
-msgstr ""
+msgstr "Frequentia"
#: 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:359
msgid "Report URL"
-msgstr ""
+msgstr "URL pro reporto"
#: actions/siteadminpanel.php:360
msgid "Snapshots will be sent to this URL"
-msgstr ""
+msgstr "Le instantaneos essera inviate a iste URL"
#: actions/siteadminpanel.php:367
msgid "Limits"
-msgstr ""
+msgstr "Limites"
#: actions/siteadminpanel.php:370
msgid "Text limit"
-msgstr ""
+msgstr "Limite de texto"
#: actions/siteadminpanel.php:370
msgid "Maximum number of characters for notices."
-msgstr ""
+msgstr "Numero maxime de characteres pro notas."
#: actions/siteadminpanel.php:374
msgid "Dupe limit"
-msgstr ""
+msgstr "Limite de duplicatos"
#: 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: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 ""
@@ -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."
diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po
index d085a47c8..3092d2e99 100644
--- a/locale/is/LC_MESSAGES/statusnet.po
+++ b/locale/is/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:35+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 (r60437); 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:191
+#: 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
@@ -689,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"
@@ -762,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."
@@ -823,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"
@@ -967,7 +967,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1463,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"
@@ -1550,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."
@@ -1738,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"
@@ -1862,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"
@@ -1978,7 +1978,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr "Bein skilaboð send til %s"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax villa"
@@ -1986,7 +1986,7 @@ msgstr "Ajax villa"
msgid "New notice"
msgstr "Nýtt babl"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Babl sent inn"
@@ -2425,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:294
+#: 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:164
+#: 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."
@@ -2584,7 +2593,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Merkjaský"
@@ -2724,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á"
@@ -2919,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"
@@ -4042,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)"
@@ -4106,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."
@@ -4240,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 %"
@@ -4256,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."
@@ -4339,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"
@@ -5022,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á"
@@ -5088,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"
diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po
index 29aab4755..5c025c4c0 100644
--- a/locale/it/LC_MESSAGES/statusnet.po
+++ b/locale/it/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:38+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 (r60437); 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:191
+#: 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
@@ -691,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."
@@ -763,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."
@@ -825,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"
@@ -964,7 +964,7 @@ msgstr "Reimposta i valori predefiniti"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1467,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"
@@ -1565,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."
@@ -1751,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"
@@ -1873,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"
@@ -1985,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Errore di Ajax"
@@ -1993,7 +1993,7 @@ msgstr "Errore di Ajax"
msgid "New notice"
msgstr "Nuovo messaggio"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Messaggio inviato"
@@ -2427,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:294
+#: 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:164
+#: 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."
@@ -2595,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"
@@ -2736,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"
@@ -2928,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"
@@ -4079,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"
@@ -4143,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."
@@ -4273,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 %"
@@ -4289,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."
@@ -4365,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"
@@ -5162,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"
@@ -5229,69 +5248,73 @@ 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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Messaggio ripetuto"
diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po
index 9fb5918e7..9e4fe43c7 100644
--- a/locale/ja/LC_MESSAGES/statusnet.po
+++ b/locale/ja/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:42+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 (r60437); 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"
@@ -199,11 +199,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,7 +316,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 ""
@@ -324,25 +324,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å­—ã¾ã§ï¼‰"
@@ -353,7 +353,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å­—ã¾ã§ï¼‰"
@@ -468,7 +468,7 @@ msgstr "é•·ã™ãŽã¾ã™ã€‚ã¤ã¶ã‚„ãã¯æœ€å¤§ 140 å­—ã¾ã§ã§ã™ã€‚"
msgid "Not found"
msgstr "ã¿ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "ã¤ã¶ã‚„ã㯠URL ã‚’å«ã‚ã¦æœ€å¤§ %d å­—ã¾ã§ã§ã™ã€‚"
@@ -507,7 +507,7 @@ 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
@@ -517,12 +517,12 @@ 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
#, php-format
@@ -537,7 +537,7 @@ 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
@@ -579,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
@@ -597,7 +597,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 +610,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
@@ -661,16 +661,20 @@ msgid "Block user"
msgstr "ブロック利用者"
#: 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
msgid "Do not block this user"
@@ -680,13 +684,13 @@ msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’アンブロックã™ã‚‹"
#: 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 "ブロック情報ã®ä¿å­˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
@@ -758,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 "ユーザを更新ã§ãã¾ã›ã‚“"
@@ -805,6 +809,8 @@ 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"
@@ -818,7 +824,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 "ã“ã®ã¤ã¶ã‚„ãを削除"
@@ -843,6 +849,8 @@ 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"
@@ -954,7 +962,7 @@ msgstr "デフォルトã¸ãƒªã‚»ãƒƒãƒˆã™ã‚‹"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1077,7 +1085,7 @@ 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
@@ -1227,6 +1235,8 @@ 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
@@ -1234,6 +1244,8 @@ 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
@@ -1453,7 +1465,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 "管ç†è€…"
@@ -1497,6 +1509,11 @@ 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
msgid "Create a new group"
@@ -1517,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
@@ -1547,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
msgid "Error removing the block."
msgstr "ブロックã®å‰Šé™¤ã‚¨ãƒ©ãƒ¼"
@@ -1605,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."
@@ -1730,7 +1748,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 "é€ã‚‹"
@@ -1798,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 "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã¯ãã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: 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 "ä¸æ­£ãªé€šçŸ¥å†…容"
+msgstr "ä¸æ­£ã¾ãŸã¯æœŸé™åˆ‡ã‚Œã®ãƒˆãƒ¼ã‚¯ãƒ³"
#: 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
@@ -1901,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
@@ -1948,31 +1965,32 @@ 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:250 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 "æ–°ã—ã„ã¤ã¶ã‚„ã"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "ã¤ã¶ã‚„ãを投稿ã—ã¾ã—ãŸ"
@@ -1981,16 +1999,17 @@ msgstr "ã¤ã¶ã‚„ãを投稿ã—ã¾ã—ãŸ"
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
@@ -1998,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
@@ -2005,29 +2026,33 @@ 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"
@@ -2036,7 +2061,7 @@ 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 "
@@ -2044,12 +2069,12 @@ 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"
@@ -2060,53 +2085,52 @@ msgid "Notice Search"
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"
@@ -2118,7 +2142,7 @@ msgstr "パスワードを変更ã—ã¾ã™ã€‚"
#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
msgid "Password change"
-msgstr "パスワードã®å¤‰æ›´"
+msgstr "パスワード変更"
#: actions/passwordsettings.php:104
msgid "Old password"
@@ -2135,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"
@@ -2171,148 +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 "ã“ã®ãƒšãƒ¼ã‚¸ã¯ã‚ãªãŸãŒæ‰¿èªã—ãŸãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚¤ãƒ—ã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“。"
+msgstr "テーマディレクトリãŒèª­ã¿è¾¼ã‚ã¾ã›ã‚“: %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 ""
+msgstr "ä¸æ­£ãª SSL サーãƒãƒ¼ã€‚最大 255 文字ã¾ã§ã€‚"
#: actions/pathsadminpanel.php:217 actions/siteadminpanel.php:58
#: lib/adminpanelaction.php:299
msgid "Site"
-msgstr ""
+msgstr "サイト"
#: actions/pathsadminpanel.php:221
msgid "Path"
-msgstr ""
+msgstr "パス"
#: actions/pathsadminpanel.php:221
-#, fuzzy
msgid "Site path"
-msgstr "æ–°ã—ã„通知"
+msgstr "サイトパス"
#: actions/pathsadminpanel.php:225
msgid "Path to locales"
-msgstr ""
+msgstr "ロケールã®ãƒ‘ス"
#: actions/pathsadminpanel.php:225
msgid "Directory path to locales"
-msgstr ""
+msgstr "ロケールã¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ‘ス"
#: actions/pathsadminpanel.php:232
msgid "Theme"
-msgstr ""
+msgstr "テーマ"
#: actions/pathsadminpanel.php:237
msgid "Theme server"
-msgstr ""
+msgstr "テーマサーãƒãƒ¼"
#: actions/pathsadminpanel.php:241
msgid "Theme path"
-msgstr ""
+msgstr "テーマパス"
#: actions/pathsadminpanel.php:245
msgid "Theme directory"
-msgstr ""
+msgstr "テーマディレクトリ"
#: actions/pathsadminpanel.php:252
-#, fuzzy
msgid "Avatars"
msgstr "ã‚¢ãƒã‚¿ãƒ¼"
#: actions/pathsadminpanel.php:257
-#, fuzzy
msgid "Avatar server"
-msgstr "設定"
+msgstr "ã‚¢ãƒã‚¿ãƒ¼ã‚µãƒ¼ãƒãƒ¼"
#: actions/pathsadminpanel.php:261
-#, fuzzy
msgid "Avatar path"
-msgstr "ã‚¢ãƒã‚¿ãƒ¼ãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
+msgstr "ã‚¢ãƒã‚¿ãƒ¼ãƒ‘ス"
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "ã‚¢ãƒã‚¿ãƒ¼ãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
+msgstr "ã‚¢ãƒã‚¿ãƒ¼ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª"
#: actions/pathsadminpanel.php:274
msgid "Backgrounds"
-msgstr ""
+msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰"
#: actions/pathsadminpanel.php:278
msgid "Background server"
-msgstr ""
+msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚µãƒ¼ãƒãƒ¼"
#: actions/pathsadminpanel.php:282
msgid "Background path"
-msgstr ""
+msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ãƒ‘ス"
#: actions/pathsadminpanel.php:286
msgid "Background directory"
-msgstr ""
+msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª"
#: actions/pathsadminpanel.php:293
msgid "SSL"
-msgstr ""
+msgstr "SSL"
#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
-#, fuzzy
msgid "Never"
-msgstr "回復"
+msgstr ""
#: actions/pathsadminpanel.php:297
-#, fuzzy
msgid "Sometimes"
-msgstr "通知"
+msgstr "ã¨ãã©ã"
#: actions/pathsadminpanel.php:298
msgid "Always"
-msgstr ""
+msgstr "ã„ã¤ã‚‚"
#: actions/pathsadminpanel.php:302
msgid "Use SSL"
-msgstr ""
+msgstr "SSL 使用"
#: actions/pathsadminpanel.php:303
msgid "When to use SSL"
-msgstr ""
+msgstr "SSL 使用時"
#: actions/pathsadminpanel.php:308
msgid "SSL Server"
-msgstr ""
+msgstr "SSLサーãƒ"
#: actions/pathsadminpanel.php:309
msgid "Server to direct SSL requests to"
-msgstr ""
+msgstr "ダイレクト SSL リクエストをå‘ã‘るサーãƒ"
#: actions/pathsadminpanel.php:325
-#, fuzzy
msgid "Save paths"
-msgstr "æ–°ã—ã„通知"
+msgstr "ä¿å­˜ãƒ‘ス"
#: actions/peoplesearch.php:52
#, php-format
@@ -2320,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 "有効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
+msgstr "æ­£ã—ã„ã‚¿ã‚°ã§ã¯ã‚ã‚Šã¾ã›ã‚“: %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"
@@ -2357,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"
@@ -2402,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:294
+#: 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 "自分をフォローã—ã¦ã„る者を自動的ã«ãƒ•ã‚©ãƒ­ãƒ¼ã™ã‚‹ (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:164
+#: 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 "ä¸æ­£ãªãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ '%s'"
+msgstr "ä¸æ­£ãªã‚¿ã‚°: \"%s\""
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
msgid "Couldn't update user for autosubscribe."
-msgstr ""
+msgstr "自動フォローã®ãŸã‚ã®åˆ©ç”¨è€…ã‚’æ›´æ–°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
+
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "場所情報をä¿å­˜ã§ãã¾ã›ã‚“。"
-#: actions/profilesettings.php:328
+#: 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 "プロファイルをä¿å­˜ã§ãã¾ã›ã‚“"
+msgstr "ã‚¿ã‚°ã‚’ä¿å­˜ã§ãã¾ã›ã‚“。"
-#: 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 "パブリックフィード"
+msgstr "パブリックストリームフィード (RSS 1.0)"
#: actions/public.php:155
-#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
-msgstr "パブリックフィード"
+msgstr "パブリックストリームフィード (RSS 2.0)"
#: actions/public.php:159
-#, fuzzy
msgid "Public Stream Feed (Atom)"
-msgstr "パブリックフィード"
+msgstr "パブリックストリームフィード (Atom)"
#: actions/public.php:179
#, php-format
@@ -2512,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
@@ -2531,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
@@ -2539,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 "パブリックフィード"
+msgstr "パブリックタグクラウド"
#: 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
@@ -2565,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!"
@@ -2596,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."
@@ -2634,11 +2671,11 @@ msgstr "パスワードを回復"
#: actions/recoverpassword.php:210 actions/recoverpassword.php:322
msgid "Password recovery requested"
-msgstr "パスワード回復ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚Œã¾ã—ãŸ"
+msgstr "パスワード回復ãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã•ã‚Œã¾ã—ãŸ"
#: actions/recoverpassword.php:213
msgid "Unknown action"
-msgstr ""
+msgstr "ä¸æ˜Žãªã‚¢ã‚¯ã‚·ãƒ§ãƒ³"
#: actions/recoverpassword.php:236
msgid "6 or more characters, and don't forget it!"
@@ -2654,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."
@@ -2668,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."
@@ -2692,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."
@@ -2733,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."
@@ -2745,7 +2783,7 @@ 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:270 lib/accountsettingsaction.php:120
@@ -2758,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
@@ -2823,22 +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 ""
-"サブスクライブã™ã‚‹ã«ã¯ã€[ログイン](%%action.login%%) ã™ã‚‹ã‹, [登録](%%action."
+"フォローã™ã‚‹ã«ã¯ã€[ログイン](%%action.login%%) ã™ã‚‹ã‹, [登録](%%action."
"register%%) ã‚’è¡Œã£ã¦ä¸‹ã•ã„。既㫠[compatible microblogging site](%%doc."
-"openmublog%%) ã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’æŒã£ãŠã‚‚ã¡ã®å ´åˆã¯ã€ä¸‹ã«ãƒ—ロファイルURLを入力ã—ã¦"
-"下ã•ã„."
+"openmublog%%) ã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ãŠæŒã¡ã®å ´åˆã¯ã€ä¸‹ã«ãƒ—ロファイルURLを入力ã—ã¦ä¸‹ã•"
+"ã„."
#: actions/remotesubscribe.php:112
msgid "Remote subscribe"
-msgstr "リモートサブスクライブ"
+msgstr "リモートフォロー"
#: actions/remotesubscribe.php:124
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"
@@ -2862,47 +2899,43 @@ 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
@@ -2911,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
@@ -2936,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
@@ -2943,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
@@ -2950,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 "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã®ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ãƒ¦ãƒ¼ã‚¶ãŒã§ãã¾ã›ã‚“。"
#: 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 ã®ã¨ã‚‚ã ã¡ã®ãƒ•ã‚£ãƒ¼ãƒ‰"
+msgstr "%s ã®ãŠæ°—ã«å…¥ã‚Šã®ãƒ•ã‚£ãƒ¼ãƒ‰ (RSS 1.0)"
#: actions/showfavorites.php:177
-#, fuzzy, php-format
+#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
-msgstr "%s ã®ã¨ã‚‚ã ã¡ã®ãƒ•ã‚£ãƒ¼ãƒ‰"
+msgstr "%s ã®ãŠæ°—ã«å…¥ã‚Šã®ãƒ•ã‚£ãƒ¼ãƒ‰ (RSS 2.0)"
#: actions/showfavorites.php:184
-#, fuzzy, php-format
+#, php-format
msgid "Feed for favorites of %s (Atom)"
-msgstr "%s ã®ã¨ã‚‚ã ã¡ã®ãƒ•ã‚£ãƒ¼ãƒ‰"
+msgstr "%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 ""
+"ã‚ãªãŸã¯ã¾ã å°‘ã—ã®ãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ãã‚‚é¸ã‚“ã§ã„ã¾ã›ã‚“。 後ã§ãƒ–ックマークを追"
+"加ã™ã‚‹ã‚ãªãŸãŒãれらãŒãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ãã®ã¨ãã«ãŠæ°—ã«å…¥ã‚Šãƒœã‚¿ãƒ³ã‚’クリック"
+"ã™ã‚‹ã‹ã€ã¾ãŸã¯ãれらã®ä¸Šã§ã‚¹ãƒãƒƒãƒˆãƒ©ã‚¤ãƒˆã‚’ã¯ã˜ã„ã¦ãã ã•ã„。"
#: actions/showfavorites.php:207
#, php-format
@@ -3002,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
@@ -3010,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 "ãã®ã‚ˆã†ãªé€šçŸ¥ã¯ã‚ã‚Šã¾ã›ã‚“。"
+msgstr "グループプロファイル"
#: 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 "ã‹ã‚‰ã®ãƒ¡ãƒ³ãƒãƒ¼"
+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
@@ -3102,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
@@ -3111,29 +3157,32 @@ 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
msgid "Notice deleted."
@@ -3142,12 +3191,12 @@ 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
#, php-format
@@ -3172,18 +3221,20 @@ 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
@@ -3191,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
@@ -3200,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
@@ -3208,62 +3266,63 @@ 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 ã¸ã®è¿”ä¿¡"
+msgstr "%s ã®ç¹°ã‚Šè¿”ã—"
#: 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:146
msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "サイトåã¯é•·ã•0ã§ã¯ã„ã‘ã¾ã›ã‚“。"
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address"
-msgstr "有効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
+msgstr "有効ãªé€£çµ¡ç”¨ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
#: actions/siteadminpanel.php:172
#, php-format
msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "ä¸æ˜Žãªè¨€èªž \"%s\""
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
-msgstr ""
+msgstr "ä¸æ­£ãªã‚¹ãƒŠãƒƒãƒ—ショットレãƒãƒ¼ãƒˆURL。"
#: actions/siteadminpanel.php:185
msgid "Invalid snapshot run value."
-msgstr ""
+msgstr "ä¸æ­£ãªã‚¹ãƒŠãƒƒãƒ—ショットランãƒãƒªãƒ¥ãƒ¼"
#: actions/siteadminpanel.php:191
msgid "Snapshot frequency must be a number."
-msgstr ""
+msgstr "スナップショット頻度ã¯æ•°ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
#: actions/siteadminpanel.php:197
msgid "Minimum text limit is 140 characters."
-msgstr ""
+msgstr "最å°ã®ãƒ†ã‚­ã‚¹ãƒˆåˆ¶é™ã¯140å­—ã§ã™ã€‚"
#: actions/siteadminpanel.php:203
msgid "Dupe limit must 1 or more seconds."
-msgstr ""
+msgstr "デュープ制é™ã¯1秒以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
#: actions/siteadminpanel.php:253
msgid "General"
-msgstr ""
+msgstr "一般"
#: actions/siteadminpanel.php:256
msgid "Site name"
@@ -3271,58 +3330,58 @@ msgstr "サイトå"
#: actions/siteadminpanel.php:257
msgid "The name of your site, like \"Yourcompany Microblog\""
-msgstr ""
+msgstr "ã‚ãªãŸã®ã‚µã‚¤ãƒˆã®åå‰ã€\"Yourcompany Microblog\"ã®ã‚ˆã†ãªã€‚"
#: actions/siteadminpanel.php:261
msgid "Brought by"
-msgstr ""
+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 ""
+msgstr "URLã§ã€æŒã£ã¦æ¥ã‚‰ã‚Œã¾ã™"
#: actions/siteadminpanel.php:267
msgid "URL used for credits link in footer of each page"
msgstr ""
+"クレジットã«ä½¿ç”¨ã•ã‚Œã‚‹URLã¯ã€ãã‚Œãžã‚Œã®ãƒšãƒ¼ã‚¸ã®ãƒ•ãƒƒã‚¿ãƒ¼ã§ãƒªãƒ³ã‚¯ã•ã‚Œã¾ã™ã€‚"
#: actions/siteadminpanel.php:271
-#, fuzzy
msgid "Contact email address for your site"
-msgstr "ãã®ãƒ¦ãƒ¼ã‚¶ã«ã¯ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ç™»éŒ²ãŒã‚ã‚Šã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã®ã‚µã‚¤ãƒˆã«ã‚³ãƒ³ã‚¿ã‚¯ãƒˆã™ã‚‹ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹"
#: actions/siteadminpanel.php:277
-#, fuzzy
msgid "Local"
-msgstr "場所"
+msgstr "ローカル"
#: actions/siteadminpanel.php:288
msgid "Default timezone"
-msgstr ""
+msgstr "デフォルトタイムゾーン"
#: actions/siteadminpanel.php:289
msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "サイトã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³; 通常UTC。"
#: actions/siteadminpanel.php:295
msgid "Default site language"
-msgstr ""
+msgstr "デフォルトサイト言語"
#: actions/siteadminpanel.php:303
msgid "URLs"
msgstr ""
#: actions/siteadminpanel.php:306
-#, fuzzy
msgid "Server"
-msgstr "回復"
+msgstr "サーãƒãƒ¼"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
-msgstr ""
+msgstr "サイトã®ã‚µãƒ¼ãƒãƒ¼ãƒ›ã‚¹ãƒˆå"
#: actions/siteadminpanel.php:310
msgid "Fancy URLs"
@@ -3330,42 +3389,39 @@ msgstr ""
#: actions/siteadminpanel.php:312
msgid "Use fancy (more readable and memorable) URLs?"
-msgstr ""
+msgstr "Fancy URL (読ã¿ã‚„ã™ã忘れã«ãã„) を使用ã—ã¾ã™ã‹?"
#: actions/siteadminpanel.php:318
-#, fuzzy
msgid "Access"
-msgstr "承èª"
+msgstr "アクセス"
#: actions/siteadminpanel.php:321
-#, fuzzy
msgid "Private"
-msgstr "プライãƒã‚·ãƒ¼"
+msgstr "プライベート"
#: actions/siteadminpanel.php:323
msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr ""
+msgstr "匿åユーザー(ログインã—ã¦ã„ã¾ã›ã‚“)ãŒã‚µã‚¤ãƒˆã‚’見るã®ã‚’ç¦æ­¢ã—ã¾ã™ã‹?"
#: actions/siteadminpanel.php:327
msgid "Invite only"
-msgstr ""
+msgstr "招待ã®ã¿"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
-msgstr ""
+msgstr "招待ã®ã¿ç™»éŒ²ã™ã‚‹"
#: actions/siteadminpanel.php:333
-#, fuzzy
msgid "Closed"
-msgstr "ブロック"
+msgstr "é–‰ã˜ã‚‰ã‚ŒãŸ"
#: actions/siteadminpanel.php:335
msgid "Disable new registrations."
-msgstr ""
+msgstr "æ–°è¦ç™»éŒ²ã‚’無効。"
#: actions/siteadminpanel.php:341
msgid "Snapshots"
-msgstr ""
+msgstr "スナップショット"
#: actions/siteadminpanel.php:344
msgid "Randomly during Web hit"
@@ -3373,74 +3429,75 @@ msgstr ""
#: actions/siteadminpanel.php:345
msgid "In a scheduled job"
-msgstr ""
+msgstr "予定ã•ã‚Œã¦ã„るジョブã§"
#: actions/siteadminpanel.php:347
msgid "Data snapshots"
-msgstr ""
+msgstr "データスナップショット"
#: actions/siteadminpanel.php:348
msgid "When to send statistical data to status.net servers"
-msgstr ""
+msgstr "ã„㤠status.net サーãƒã«çµ±è¨ˆãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚Šã¾ã™ã‹"
#: actions/siteadminpanel.php:353
msgid "Frequency"
-msgstr ""
+msgstr "頻度"
#: actions/siteadminpanel.php:354
msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+msgstr "レãƒãƒ¼ãƒˆ URL"
#: actions/siteadminpanel.php:359
msgid "Report URL"
-msgstr ""
+msgstr "レãƒãƒ¼ãƒˆ URL"
#: actions/siteadminpanel.php:360
msgid "Snapshots will be sent to this URL"
-msgstr ""
+msgstr "ã“ã®URLã«ã‚¹ãƒŠãƒƒãƒ—ショットをé€ã‚‹ã§ã—ょã†"
#: actions/siteadminpanel.php:367
msgid "Limits"
-msgstr ""
+msgstr "制é™"
#: actions/siteadminpanel.php:370
msgid "Text limit"
-msgstr ""
+msgstr "テキスト制é™"
#: actions/siteadminpanel.php:370
msgid "Maximum number of characters for notices."
-msgstr ""
+msgstr "ã¤ã¶ã‚„ãã®æ–‡å­—ã®æœ€å¤§æ•°"
#: actions/siteadminpanel.php:374
msgid "Dupe limit"
-msgstr ""
+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
-#, fuzzy
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."
@@ -3452,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
@@ -3513,25 +3573,25 @@ 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 "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã¯ãã®ãƒ—ロファイルã«ãƒ•ã‚©ãƒ­ãƒ¼ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
#: actions/subedit.php:83
-#, fuzzy
msgid "Could not save subscription."
-msgstr "サブスクリプションを作æˆã§ãã¾ã›ã‚“"
+msgstr "フォローをä¿å­˜ã§ãã¾ã›ã‚“。"
#: actions/subscribe.php:55
-#, fuzzy
msgid "Not a local user."
-msgstr "ãã®ã‚ˆã†ãªãƒ¦ãƒ¼ã‚¶ã¯ã„ã¾ã›ã‚“。"
+msgstr "ローカルユーザã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/subscribe.php:69
msgid "Subscribed"
@@ -3561,11 +3621,13 @@ 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
@@ -3573,6 +3635,8 @@ msgid ""
"%s has no subscribers. Why not [register an account](%%%%action.register%%%"
"%) and be the first?"
msgstr ""
+"%s ã«ã¯ãƒ•ã‚©ãƒ­ãƒ¼ã—ã¦ã„る人ãŒã„ã¾ã›ã‚“。ãªãœ[アカウント登録](%%%%action.register"
+"%%%%)ã—ã¦æœ€åˆã«ãªã‚‰ãªã„ã®ã§ã™ã‹?"
#: actions/subscriptions.php:52
#, php-format
@@ -3602,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 "ã‚¢ãƒã‚¿ãƒ¼ã‚’ä¿å­˜ã§ãã¾ã›ã‚“"
+msgstr "ã‚¿ã‚°ã‚’ã‚’ä¿å­˜ã§ãã¾ã›ã‚“。"
#: 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."
@@ -3714,34 +3779,36 @@ msgstr "ãã®IDã¯ãƒ—ロファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/unsubscribe.php:98
msgid "Unsubscribed"
-msgstr "サブスクライブ解除済ã¿"
+msgstr "フォロー解除済ã¿"
#: 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
@@ -3750,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 "ã™ã¹ã¦ã®è³¼èª­"
+msgstr "デフォルトフォロー"
#: actions/useradminpanel.php:242
-#, fuzzy
msgid "Automatically subscribe new users to this user."
-msgstr "自分を購読ã—ã¦ã„る者を自動的ã«è³¼èª­ã™ã‚‹ (éžäººé–“ã«æœ€é©)"
+msgstr "自動的ã«ã“ã®åˆ©ç”¨è€…ã«æ–°ã—ã„利用者をフォローã—ã¦ãã ã•ã„。"
#: 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 "フォローを承èª"
#: 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\" "
-"キャンセルをクリックã—ã¦ä¸‹ã•ã„。"
+"ユーザã®ã¤ã¶ã‚„ãをフォローã™ã‚‹ã«ã¯è©³ç´°ã‚’確èªã—ã¦ä¸‹ã•ã„。ã ã‚Œã‹ã®ã¤ã¶ã‚„ãã‚’"
+"フォローã™ã‚‹ãŸã‚ã«å°‹ã­ãªã„å ´åˆã¯ã€\"Reject\" をクリックã—ã¦ä¸‹ã•ã„。"
#: actions/userauthorization.php:188
-#, fuzzy
msgid "License"
-msgstr "ライセンス。"
+msgstr "ライセンス"
#: actions/userauthorization.php:209
msgid "Accept"
@@ -3845,9 +3906,8 @@ msgid "Reject"
msgstr "æ‹’å¦"
#: actions/userauthorization.php:212
-#, fuzzy
msgid "Reject this subscription"
-msgstr "å…¨ã¦ã®ã‚µãƒ–スクリプション"
+msgstr "ã“ã®ãƒ•ã‚©ãƒ­ãƒ¼ã‚’æ‹’å¦"
#: actions/userauthorization.php:225
msgid "No authorization request!"
@@ -3863,6 +3923,9 @@ msgid ""
"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"
@@ -3874,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
@@ -3936,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
@@ -3956,33 +4022,38 @@ 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
msgid "Problem saving notice. Too long."
@@ -3996,27 +4067,30 @@ msgstr "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ä¸æ˜Žãª
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 "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: 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 ""
@@ -4024,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 "ã‚¢ãƒã‚¿ãƒ¼ã‚’ä¿å­˜ã§ãã¾ã›ã‚“"
+msgstr "グループを作æˆã§ãã¾ã›ã‚“。"
#: classes/User_group.php:409
-#, fuzzy
msgid "Could not set group membership."
-msgstr "サブスクリプションを作æˆã§ãã¾ã›ã‚“"
+msgstr "グループメンãƒãƒ¼ã‚·ãƒƒãƒ—をセットã§ãã¾ã›ã‚“。"
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
@@ -4053,9 +4125,8 @@ msgid "Change email handling"
msgstr "メールã®æ‰±ã„を変更"
#: lib/accountsettingsaction.php:124
-#, fuzzy
msgid "Design your profile"
-msgstr "プロファイルãŒã‚ã‚Šã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã®ãƒ—ロファイルをデザイン"
#: lib/accountsettingsaction.php:128
msgid "Other"
@@ -4074,131 +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 "サーãƒã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ãã¾ã›ã‚“ : %s"
+msgstr "サービスã¸æŽ¥ç¶š"
-#: lib/action.php:440
-#, fuzzy
+#: lib/action.php:441
msgid "Change site configuration"
-msgstr "サブスクリプション"
+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
-#, fuzzy
+#: lib/action.php:720
msgid "Secondary site navigation"
-msgstr "サブスクリプション"
+msgstr "セカンダリサイトナビゲーション"
-#: 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
+#: lib/action.php:742
msgid "Badge"
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."
@@ -4207,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 %"
@@ -4223,67 +4291,61 @@ 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 "全㦠"
-#: 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 ""
+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 "メールアドレス確èª"
+msgstr "デザイン設定"
#: lib/adminpanelaction.php:306 lib/adminpanelaction.php:309
-#, fuzzy
msgid "Paths configuration"
-msgstr "メールアドレス確èª"
+msgstr "パス設定"
#: lib/attachmentlist.php:87
msgid "Attachments"
@@ -4294,17 +4356,26 @@ msgid "Author"
msgstr "作者"
#: lib/attachmentlist.php:278
-#, fuzzy
msgid "Provider"
-msgstr "プロファイル"
+msgstr "プロãƒã‚¤ãƒ€"
#: 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"
@@ -4320,7 +4391,7 @@ msgstr "コマンド失敗"
#: lib/command.php:44
msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "ã™ã¿ã¾ã›ã‚“ã€ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã¾ã å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
#: lib/command.php:88
#, php-format
@@ -4329,7 +4400,7 @@ 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
@@ -4349,16 +4420,16 @@ msgstr ""
#: 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
@@ -4383,92 +4454,89 @@ 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 "ã“ã®é€šçŸ¥ã‚’削除"
+msgstr "ã™ã§ã«ã“ã®ã¤ã¶ã‚„ãã¯ç¹°ã‚Šè¿”ã•ã‚Œã¦ã„ã¾ã™"
#: 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
@@ -4478,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 "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã¯ã ã‚Œã«ã‚‚フォローã•ã‚Œã¦ã„ã¾ã›ã‚“。"
#: lib/command.php:687
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
-msgstr[0] "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr[0] "ã‚ãªãŸã¯ã“ã®äººã«ãƒ•ã‚©ãƒ­ãƒ¼ã•ã‚Œã¦ã„ã¾ã™:"
#: 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] "リモートサブスクライブ"
+msgstr[0] "ã“ã®äººã¯ã‚ãªãŸã«ãƒ•ã‚©ãƒ­ãƒ¼ã•ã‚Œã¦ã„ã‚‹:"
#: lib/command.php:729
-#, fuzzy
msgid "You are not a member of any groups."
-msgstr "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr "ã‚ãªãŸã¯ã©ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
#: lib/command.php:731
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
-msgstr[0] "ãã®ãƒ—ロファイルã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+msgstr[0] "ã‚ãªãŸã¯ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“:"
#: lib/command.php:745
msgid ""
@@ -4552,57 +4617,57 @@ 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 "サイトã¸ãƒ­ã‚°ã‚¤ãƒ³"
+msgstr "インストーラã¸ã€‚"
#: 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 "ファイルアップロード"
#: 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"
@@ -4610,23 +4675,23 @@ 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"
@@ -4638,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"
@@ -4650,7 +4715,7 @@ msgstr "ã‚¿ã‚°"
#: lib/galleryaction.php:141
msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "ã‚¿ã‚°ã‚’é¸ã‚“ã§ã€ãƒªã‚¹ãƒˆã‚’ç‹­ãã—ã¦ãã ã•ã„"
#: lib/galleryaction.php:143
msgid "Go"
@@ -4661,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 "ã„る場所, 例ãˆã° \"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 ""
+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
@@ -4714,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 ロゴã®è¿½åŠ ã‚„編集"
+msgstr "%s デザインã®è¿½åŠ ã‚„編集"
#: lib/groupsbymemberssection.php:71
msgid "Groups with most members"
@@ -4736,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."
@@ -4757,21 +4819,20 @@ msgid "Unsupported image file format."
msgstr "サãƒãƒ¼ãƒˆå¤–ã®ç”»åƒå½¢å¼ã§ã™ã€‚"
#: lib/imagefile.php:118
-#, fuzzy
msgid "Lost our file."
-msgstr "ãã®ã‚ˆã†ãªé€šçŸ¥ã¯ã‚ã‚Šã¾ã›ã‚“。"
+msgstr "ファイルを紛失。"
#: 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
@@ -4814,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
@@ -4834,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"
+"%4$s%5$s%6$s\n"
+"忠実ã§ã‚ã‚‹ã€ã‚ãªãŸã®ã‚‚ã®ã€\n"
+"%7$s.\n"
"\n"
-"確ã‹ã«ã‚ãªãŸã®,\n"
-"%4$s.\n"
+"----\n"
+"%8$s ã§ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‹é€šçŸ¥ã‚ªãƒ—ションを変ãˆã¦ãã ã•ã„。\n"
#: lib/mail.php:254
#, php-format
@@ -4857,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"
@@ -4875,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
@@ -4883,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"
@@ -4905,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"
@@ -4929,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"
@@ -4955,11 +5067,28 @@ msgid ""
"Faithfully yours,\n"
"%6$s\n"
msgstr ""
+"%1$s (@%7$s) ã¯å½¼ã‚‰ã®ãŠæ°—ã«å…¥ã‚Šã®ã²ã¨ã‚Šã¨ã—㦠%2$s ã‹ã‚‰ã‚ãªãŸã®ã¤ã¶ã‚„ãを加ãˆ"
+"ã¾ã—ãŸã€‚\n"
+"\n"
+"ã‚ãªãŸã®ã¤ã¶ã‚„ãã®ï¼µï¼²ï¼¬:\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:624
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) ã¯ã‚ãªãŸå®›ã¦ã«ã¤ã¶ã‚„ãã‚’é€ã‚Šã¾ã—ãŸ"
#: lib/mail.php:626
#, php-format
@@ -4975,73 +5104,91 @@ 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 "ユーザを更新ã§ãã¾ã›ã‚“"
+msgstr "ファイルã®MIMEタイプを決定ã§ãã¾ã›ã‚“"
#: 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"
@@ -5049,88 +5196,93 @@ 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 "ã¤ã¶ã‚„ãã‚’é€ã‚‹"
-#: 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 "ã“ã®ã¤ã¶ã‚„ãã¸è¿”ä¿¡"
-#: 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 "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’çªã"
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã¸åˆå›³"
#: 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"
@@ -5146,11 +5298,11 @@ msgstr "リモートプロファイル追加エラー"
#: lib/oauthstore.php:345
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."
@@ -5166,28 +5318,28 @@ 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"
@@ -5207,7 +5359,7 @@ msgstr "ã™ã¹ã¦ã®ãƒ•ã‚©ãƒ­ãƒ¼ã•ã‚Œã¦ã„ã‚‹"
#: lib/profileaction.php:178
msgid "User ID"
-msgstr ""
+msgstr "利用者ID"
#: lib/profileaction.php:183
msgid "Member since"
@@ -5215,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"
@@ -5240,56 +5391,51 @@ msgstr "最近ã®ã‚¿ã‚°"
#: lib/publicgroupnav.php:88
msgid "Featured"
-msgstr ""
+msgstr "フィーãƒãƒ£ãƒ¼ã•ã‚ŒãŸ"
#: lib/publicgroupnav.php:92
msgid "Popular"
msgstr "人気"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "ã“ã®é€šçŸ¥ã¸è¿”ä¿¡"
+msgstr "ã“ã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¾ã™ã‹?"
#: lib/repeatform.php:132
-#, fuzzy
msgid "Repeat this notice"
-msgstr "ã“ã®é€šçŸ¥ã¸è¿”ä¿¡"
+msgstr "ã“ã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã™"
#: lib/sandboxform.php:67
msgid "Sandbox"
-msgstr ""
+msgstr "サンドボックス"
#: lib/sandboxform.php:78
-#, fuzzy
msgid "Sandbox this user"
-msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’アンブロックã™ã‚‹"
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’サンドボックス"
#: 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"
@@ -5301,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 "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’ブロックã™ã‚‹"
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’サイレンスã«"
#: 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 "サブスクリプションを削除ã§ãã¾ã›ã‚“"
+msgstr "フォローを削除ã§ãã¾ã›ã‚“"
#: 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)"
@@ -5375,7 +5516,7 @@ msgstr "(ãªã—)"
#: lib/tagcloudsection.php:56
msgid "None"
-msgstr ""
+msgstr "ãªã—"
#: lib/topposterssection.php:74
msgid "Top posters"
@@ -5383,59 +5524,56 @@ 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 "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã‚µãƒ–スクライブを解除ã™ã‚‹"
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ãƒ•ã‚©ãƒ­ãƒ¼ã‚’解除ã™ã‚‹"
#: lib/unsubscribeform.php:137
msgid "Unsubscribe"
-msgstr "フォロー中止"
+msgstr "フォロー解除"
#: 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:837
msgid "a few seconds ago"
@@ -5482,27 +5620,27 @@ 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 "ã™ã¿ã¾ã›ã‚“ã€å…¥ã£ã¦ãるメールã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po
index eb7cdfb3c..e90f2d338 100644
--- a/locale/ko/LC_MESSAGES/statusnet.po
+++ b/locale/ko/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:45+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 (r60437); 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:191
+#: 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
@@ -695,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 +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 "사용ìžë¥¼ ì—…ë°ì´íŠ¸ í•  수 없습니다."
@@ -834,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 "ì´ ê²Œì‹œê¸€ 삭제하기"
@@ -983,7 +983,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1493,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 "관리ìž"
@@ -1586,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 "차단 제거 ì—러!"
@@ -1767,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 "보내기"
@@ -1886,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 "로그ì¸"
@@ -1999,7 +1999,7 @@ msgstr "메시지"
msgid "Direct message to %s sent"
msgstr "%sì—게 보낸 ì§ì ‘ 메시지"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax ì—러입니다."
@@ -2007,7 +2007,7 @@ msgstr "Ajax ì—러입니다."
msgid "New notice"
msgstr "새로운 통지"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "ê²Œì‹œê¸€ì´ ë“±ë¡ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -2444,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:294
+#: 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:164
+#: 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 "설정 저장"
@@ -2604,7 +2613,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "태그 í´ë¼ìš°ë“œ"
@@ -2742,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 "회ì›ê°€ìž…"
@@ -2936,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 "ìƒì„±"
@@ -4071,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)"
@@ -4136,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."
@@ -4269,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 %"
@@ -4285,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 "ë‹¹ì‹ ì˜ ì„¸ì…˜í† í°ê´€ë ¨ 문제가 있습니다."
@@ -4370,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 "실행결과"
@@ -5049,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 "다ìŒì—ì„œ:"
@@ -5114,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 "ê²Œì‹œê¸€ì´ ë“±ë¡ë˜ì—ˆìŠµë‹ˆë‹¤."
diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po
index 96f199c79..bd346776c 100644
--- a/locale/mk/LC_MESSAGES/statusnet.po
+++ b/locale/mk/LC_MESSAGES/statusnet.po
@@ -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-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:48+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 (r60437); 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 "Емитување за пријатели на %S (Atom)"
+msgstr "Канал за пријатели на %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 "КориÑникот не може да Ñе оÑвежи/"
+msgstr "Ðе може да Ñе ажурира кориÑник."
#: 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 "Профилот не може да Ñе Ñними."
+msgstr "Ðе може да Ñе зачува профил."
#: 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 "КориÑникот не може да Ñе оÑвежи/"
+msgstr "Ðе може да Ñе ажурира вашиот дизајн."
#: 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 "Домашната Ñтраница не е правилно 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 знаци)"
@@ -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 "Ðе може да Ñе пренаÑочи кон Ñерверот: %s"
+msgstr "Ðе може да Ñе придружи кориÑник %s на група %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 "Ðе ни го иÑпративте тој профил."
+msgstr "Групите %s Ñе членови на %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 "Ðватарот е ажуриран."
+msgstr "СтатуÑот е избришан."
#: 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 "Ова е предолго. МакÑималната должина е 140 знаци."
+msgstr "Ова е предолго. МакÑималната дозволена должина изнеÑува %d знаци."
#: actions/apistatusesupdate.php:198
msgid "Not found"
msgstr ""
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: 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 "Микроблог на %s"
+msgstr "Подновувањата Ñе означени Ñо %1$s на %2$s!"
#: actions/apiusershow.php:96
-#, fuzzy
msgid "Not found."
-msgstr "Ðе е пронаједено барање."
+msgstr "Ðе е пронајдено."
#: actions/attachment.php:73
-#, fuzzy
msgid "No such attachment."
-msgstr "Ðема таков документ."
+msgstr "Ðема таков прилог."
#: 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 "ПоÑтавки"
+msgstr "Ðагодувања на аватарот"
#: 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 "Ðеочекувано иÑпраќање на формулар."
+msgstr "Ðеочекувано поднеÑување на образец."
#: 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 "Ðватарот е ажуриран."
+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
@@ -688,7 +676,7 @@ msgstr ""
msgid "Block this user"
msgstr "Ðема таков кориÑник."
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
@@ -703,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 "Ðема такво извеÑтување."
+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 ""
#: actions/blockedfromgroup.php:281
-#, fuzzy
msgid "Unblock user from group"
-msgstr "Ðема таков кориÑник."
+msgstr "Одблокирај кориÑник од група"
#: 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 "Ðема таков кориÑник."
+msgstr "Одблокирај го овој корÑник"
#: actions/bookmarklet.php:50
msgid "Post to "
@@ -763,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 "КориÑникот не може да Ñе оÑвежи/"
@@ -771,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"
@@ -783,9 +768,8 @@ 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
@@ -804,7 +788,7 @@ msgstr "Ðе Ñте пријавени."
#: actions/deletenotice.php:71
msgid "Can't delete this notice."
-msgstr ""
+msgstr "Ðе може да Ñе избрише оваа забелешка."
#: actions/deletenotice.php:103
msgid ""
@@ -814,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 "КориÑникот не може да Ñе оÑвежи/"
+msgstr "Ðе можете да бришете кориÑници."
#: 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 ""
@@ -854,68 +835,64 @@ msgid ""
msgstr ""
#: actions/deleteuser.php:148 lib/deleteuserform.php:77
-#, fuzzy
msgid "Delete this user"
-msgstr "Ðема таков кориÑник."
+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 "Погрешна големина."
+msgstr "Погрешен URL на лого."
#: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
msgid "Theme not available: %s"
-msgstr "Оваа Ñтраница не е доÑтапна во форматот кој Вие го прифаќате."
+msgstr "ÐепоÑточка тема: %s"
#: actions/designadminpanel.php:375
-#, fuzzy
msgid "Change logo"
-msgstr "Промени ја лозинката"
+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
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"
@@ -934,28 +911,24 @@ msgid "Tile background image"
msgstr ""
#: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
msgid "Change colours"
-msgstr "Промени ја лозинката"
+msgstr "Промена на бои"
#: actions/designadminpanel.php:510 lib/designsettings.php:191
-#, fuzzy
msgid "Content"
-msgstr "Поврзи Ñе"
+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 "Пријави Ñе"
+msgstr "Ð’Ñ€Ñки"
#: actions/designadminpanel.php:577 lib/designsettings.php:247
msgid "Use defaults"
@@ -971,7 +944,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -981,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!"
@@ -1024,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 "Информациите за аватарот не може да Ñе Ñнимат"
+msgstr "Ðе можеше да Ñе Ñоздадат алијаÑи."
#: actions/editgroup.php:269
-#, fuzzy
msgid "Options saved."
-msgstr "ПоÑтавките Ñе Ñнимени."
+msgstr "Ðагодувањата Ñе зачувани."
#: actions/emailsettings.php:60
msgid "Email Settings"
@@ -1216,9 +1187,8 @@ 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
@@ -1278,19 +1248,16 @@ msgid "No notice ID."
msgstr "Ðово извеÑтување"
#: 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!"
@@ -1310,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
@@ -1435,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 "Преференциите Ñе Ñнимени."
+msgstr "Ðагодувањата Ñе зачувани."
#: actions/grouplogo.php:139 actions/grouplogo.php:192
msgid "Group logo"
@@ -1454,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 "Ðватарот е ажуриран."
+msgstr "Логото е подновено."
#: actions/grouplogo.php:398
#, fuzzy
@@ -1477,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 ""
@@ -1498,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 "Микроблог на %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
@@ -1569,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 "Грешка во Ñнимањето на кориÑникот."
+msgstr "Грешка при отÑтранување на блокот."
#: actions/imsettings.php:59
msgid "IM Settings"
@@ -1588,9 +1551,8 @@ msgstr ""
"doc.im%%). Подолу "
#: actions/imsettings.php:89
-#, fuzzy
msgid "IM is not available."
-msgstr "Оваа Ñтраница не е доÑтапна во форматот кој Вие го прифаќате."
+msgstr "ИП не Ñе возможни."
#: actions/imsettings.php:106
msgid "Current confirmed Jabber/GTalk address."
@@ -1676,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."
@@ -1749,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 "ИÑпрати"
@@ -1822,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
@@ -1849,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 "Пријави Ñе"
@@ -1961,7 +1923,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1969,7 +1931,7 @@ msgstr ""
msgid "New notice"
msgstr "Ðово извеÑтување"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "ИзвеÑтувања"
@@ -2061,9 +2023,8 @@ msgid "Notice Search"
msgstr ""
#: actions/othersettings.php:60
-#, fuzzy
msgid "Other Settings"
-msgstr "ПоÑтавки"
+msgstr "Други нагодувања"
#: actions/othersettings.php:71
msgid "Manage various other options."
@@ -2082,9 +2043,8 @@ msgid "Automatic shortening service to use."
msgstr ""
#: actions/othersettings.php:122
-#, fuzzy
msgid "View profile designs"
-msgstr "ПоÑтавки на профилот"
+msgstr "Види изгледи на профилот"
#: actions/othersettings.php:123
msgid "Show or hide profile designs."
@@ -2119,9 +2079,8 @@ msgid "Change your password."
msgstr "Промени ја лозинката"
#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
-#, fuzzy
msgid "Password change"
-msgstr "Лозинката е Ñнимена."
+msgstr "Промена на лозинка"
#: actions/passwordsettings.php:104
msgid "Old password"
@@ -2248,19 +2207,16 @@ msgid "Avatars"
msgstr "Ðватар"
#: actions/pathsadminpanel.php:257
-#, fuzzy
msgid "Avatar server"
-msgstr "ПоÑтавки"
+msgstr "Сервер на аватарот"
#: actions/pathsadminpanel.php:261
-#, fuzzy
msgid "Avatar path"
-msgstr "Ðватарот е ажуриран."
+msgstr "Патека на аватарот"
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "Ðватарот е ажуриран."
+msgstr "Директориум на аватарот"
#: actions/pathsadminpanel.php:274
msgid "Backgrounds"
@@ -2361,9 +2317,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"
@@ -2409,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:294
+#: 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:164
+#: 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 "Ðевалидна домашна Ñтраница: '%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
-#, fuzzy
+#: actions/profilesettings.php:374
msgid "Couldn't save tags."
-msgstr "Профилот не може да Ñе Ñними."
+msgstr "Ðе можев да ги зачувам ознаките."
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
msgid "Settings saved."
msgstr "ПоÑтавките Ñе Ñнимени."
@@ -2569,7 +2531,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2710,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 "РегиÑтрирај Ñе"
@@ -2887,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 "Повторено"
@@ -3017,9 +2979,8 @@ msgid "%s group, page %d"
msgstr ""
#: actions/showgroup.php:218
-#, fuzzy
msgid "Group profile"
-msgstr "Ðема такво извеÑтување."
+msgstr "Профил на група"
#: actions/showgroup.php:263 actions/tagother.php:118
#: actions/userauthorization.php:167 lib/userprofile.php:177
@@ -3028,9 +2989,8 @@ msgstr ""
#: 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"
@@ -3122,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 "ИзвеÑтувања"
+msgstr "Избришана забелешка"
#: actions/showstream.php:73
#, php-format
@@ -3200,9 +3159,9 @@ msgid ""
msgstr ""
#: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
msgid "Repeat of %s"
-msgstr "Одговори иÑпратени до %s"
+msgstr "Повторувања на %s"
#: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site."
@@ -3256,9 +3215,8 @@ msgid "General"
msgstr ""
#: actions/siteadminpanel.php:256
-#, fuzzy
msgid "Site name"
-msgstr "Ðово извеÑтување"
+msgstr "Име на Ñајт"
#: actions/siteadminpanel.php:257
msgid "The name of your site, like \"Yourcompany Microblog\""
@@ -3286,13 +3244,12 @@ msgid "Contact email address for your site"
msgstr "Ðема региÑтрирана адреÑа за е-пошта за тој кориÑник."
#: actions/siteadminpanel.php:277
-#, fuzzy
msgid "Local"
-msgstr "Локација"
+msgstr "Локално"
#: actions/siteadminpanel.php:288
msgid "Default timezone"
-msgstr ""
+msgstr "ОÑновна временÑка зона"
#: actions/siteadminpanel.php:289
msgid "Default timezone for the site; usually UTC."
@@ -3300,16 +3257,15 @@ msgstr ""
#: actions/siteadminpanel.php:295
msgid "Default site language"
-msgstr ""
+msgstr "ОÑновен јазик"
#: actions/siteadminpanel.php:303
msgid "URLs"
msgstr ""
#: actions/siteadminpanel.php:306
-#, fuzzy
msgid "Server"
-msgstr "Пронајди"
+msgstr "ОпÑлужувач"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
@@ -3411,9 +3367,8 @@ msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
-#, fuzzy
msgid "Save site settings"
-msgstr "ПоÑтавки"
+msgstr "Зачувај нагодувања на веб-Ñтраницата"
#: actions/smssettings.php:58
msgid "SMS Settings"
@@ -3515,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
@@ -3917,9 +3871,8 @@ msgid "No 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 ""
@@ -4009,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 ""
@@ -4034,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"
@@ -4077,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."
@@ -4214,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 %"
@@ -4230,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 ""
@@ -4278,9 +4228,8 @@ msgid "Unable to delete design setting."
msgstr ""
#: lib/adminpanelaction.php:300
-#, fuzzy
msgid "Basic site configuration"
-msgstr "Потврдување на адреÑата"
+msgstr "ОÑновни нагодувања на Ñајтот"
#: lib/adminpanelaction.php:303
#, fuzzy
@@ -4298,12 +4247,11 @@ msgstr ""
#: lib/attachmentlist.php:265
msgid "Author"
-msgstr ""
+msgstr "Ðвтор"
#: lib/attachmentlist.php:278
-#, fuzzy
msgid "Provider"
-msgstr "Профил"
+msgstr "Обезбедувач"
#: lib/attachmentnoticesection.php:67
msgid "Notices where this attachment appears"
@@ -4313,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 ""
@@ -4474,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
@@ -4998,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 ""
@@ -5063,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 "Ðово извеÑтување"
+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
+#: 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 "Одговор"
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
#, fuzzy
msgid "Notice repeated"
msgstr "ИзвеÑтувања"
@@ -5216,9 +5176,8 @@ msgid "Subscribers"
msgstr "Претплатници"
#: lib/profileaction.php:157
-#, fuzzy
msgid "All subscribers"
-msgstr "Претплатници"
+msgstr "Сите претплатници"
#: lib/profileaction.php:178
msgid "User ID"
@@ -5230,7 +5189,7 @@ msgstr "Член од"
#: lib/profileaction.php:245
msgid "All groups"
-msgstr ""
+msgstr "Сите групи"
#: lib/profileformaction.php:123
#, fuzzy
@@ -5288,7 +5247,7 @@ msgstr "Барај"
#: lib/searchaction.php:126
msgid "Keyword(s)"
-msgstr ""
+msgstr "Клучен збор"
#: lib/searchaction.php:162
#, fuzzy
@@ -5317,17 +5276,15 @@ 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 "Ðема таков кориÑник."
+msgstr "Замолчи го овој кориÑник"
#: lib/subgroupnav.php:83
#, fuzzy, php-format
@@ -5433,13 +5390,12 @@ msgid "User actions"
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"
@@ -5447,7 +5403,7 @@ msgstr ""
#: lib/userprofile.php:273
msgid "Message"
-msgstr ""
+msgstr "Порака"
#: lib/userprofile.php:311
msgid "Moderate"
diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po
index eadbb8fc2..efb2320b6 100644
--- a/locale/nb/LC_MESSAGES/statusnet.po
+++ b/locale/nb/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:52+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 (r60437); 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"
@@ -199,11 +199,11 @@ msgstr "Klarte ikke å oppdatere bruker."
msgid "You cannot block yourself!"
msgstr "Du kan ikke blokkere deg selv!"
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
msgid "Block user failed."
msgstr "Blokkering av bruker mislyktes."
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
msgid "Unblock user failed."
msgstr "Oppheving av blokkering av bruker mislyktes."
@@ -317,31 +317,31 @@ 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 "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 "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)."
@@ -352,7 +352,7 @@ msgid "Description is too long (max %d chars)."
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 ""
@@ -471,7 +471,7 @@ msgstr ""
msgid "Not found"
msgstr ""
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: 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
#, fuzzy
msgid "Delete"
msgstr "slett"
@@ -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
@@ -695,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 ""
@@ -769,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."
@@ -831,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 ""
@@ -975,7 +975,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1472,7 +1472,7 @@ msgstr ""
msgid "A list of the users in this group."
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 "Administrator"
@@ -1561,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 ""
@@ -1734,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"
@@ -1853,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"
@@ -1961,7 +1961,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1969,7 +1969,7 @@ msgstr ""
msgid "New notice"
msgstr ""
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr ""
@@ -2396,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:294
+#: 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:164
+#: 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 ""
@@ -2554,7 +2563,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2692,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 ""
@@ -2878,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"
@@ -3978,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 ""
@@ -4045,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."
@@ -4178,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 %"
@@ -4191,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 ""
@@ -4269,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 ""
@@ -4952,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"
@@ -5017,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"
diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po
index 0d7d9d58f..378b88a23 100644
--- a/locale/nl/LC_MESSAGES/statusnet.po
+++ b/locale/nl/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:03+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 (r60437); 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:191
+#: 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
@@ -701,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."
@@ -773,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."
@@ -835,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"
@@ -975,7 +975,7 @@ msgstr "Standaardinstellingen toepassen"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1484,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"
@@ -1584,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."
@@ -1772,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"
@@ -1896,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"
@@ -2007,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:250 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"
@@ -2015,7 +2015,7 @@ msgstr "Er is een Ajax-fout opgetreden"
msgid "New notice"
msgstr "Nieuw bericht"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "De mededeling is verzonden"
@@ -2448,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:294
+#: 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:164
+#: 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."
@@ -2623,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"
@@ -2768,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"
@@ -2959,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"
@@ -3576,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."
@@ -4126,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"
@@ -4191,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."
@@ -4321,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 %"
@@ -4337,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."
@@ -4413,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"
@@ -5216,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"
@@ -5286,69 +5304,73 @@ 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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Mededeling herhaald"
diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po
index e327c5aa0..66a393e7b 100644
--- a/locale/nn/LC_MESSAGES/statusnet.po
+++ b/locale/nn/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:10:58+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 (r60437); 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:191
+#: 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
@@ -693,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."
@@ -768,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."
@@ -833,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"
@@ -982,7 +982,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1493,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"
@@ -1586,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."
@@ -1769,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"
@@ -1888,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"
@@ -2003,7 +2003,7 @@ msgstr "Melding"
msgid "Direct message to %s sent"
msgstr "Direkte melding til %s sendt"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax feil"
@@ -2011,7 +2011,7 @@ msgstr "Ajax feil"
msgid "New notice"
msgstr "Ny notis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Melding lagra"
@@ -2450,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:294
+#: 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:164
+#: 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."
@@ -2613,7 +2622,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Emne sky"
@@ -2752,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"
@@ -2949,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"
@@ -4088,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)"
@@ -4153,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."
@@ -4286,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 %"
@@ -4302,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."
@@ -4387,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"
@@ -5076,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å "
@@ -5141,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"
diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po
index f57cbd100..63fb0d9d7 100644
--- a/locale/pl/LC_MESSAGES/statusnet.po
+++ b/locale/pl/LC_MESSAGES/statusnet.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:06+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 (r60437); 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)."
@@ -472,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:191
+#: 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."
@@ -601,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ń"
@@ -614,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
@@ -693,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ę."
@@ -765,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."
@@ -827,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"
@@ -963,7 +963,7 @@ msgstr "Przywróć domyślne ustawienia"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1460,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"
@@ -1558,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."
@@ -1744,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"
@@ -1866,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Ä™"
@@ -1979,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "BÅ‚Ä…d AJAX"
@@ -1987,7 +1987,7 @@ msgstr "BÅ‚Ä…d AJAX"
msgid "New notice"
msgstr "Nowy wpis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Wysłano wpis"
@@ -2418,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:294
+#: 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:164
+#: 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."
@@ -2589,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"
@@ -2729,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Ä™"
@@ -2921,7 +2929,7 @@ msgstr "Nie można powtórzyć własnego wpisu."
msgid "You already repeated that notice."
msgstr "Już powtórzono ten wpis."
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
msgid "Repeated"
msgstr "Powtórzono"
@@ -4073,16 +4081,16 @@ 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
+#: classes/Notice.php:1361
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4137,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."
@@ -4267,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 %"
@@ -4283,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."
@@ -4359,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"
@@ -4566,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"
@@ -4610,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. "
@@ -5157,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"
@@ -5222,69 +5242,73 @@ 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
+#: lib/noticelist.php:556
msgid "Repeated by"
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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Powtórzono wpis"
diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po
index 92f7def37..9e0172663 100644
--- a/locale/pt/LC_MESSAGES/statusnet.po
+++ b/locale/pt/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:09+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 (r60437); 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:191
+#: 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
@@ -687,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."
@@ -759,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."
@@ -821,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"
@@ -960,7 +960,7 @@ msgstr "Repor predefinição"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1208,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
@@ -1464,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"
@@ -1562,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."
@@ -1749,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"
@@ -1864,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"
@@ -1902,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 ""
@@ -1910,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
@@ -1983,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Erro do Ajax"
@@ -1991,7 +1991,7 @@ msgstr "Erro do Ajax"
msgid "New notice"
msgstr "Nota nova"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Nota publicada"
@@ -2220,7 +2220,7 @@ 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."
@@ -2423,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:294
+#: 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:164
+#: 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."
@@ -2597,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"
@@ -2726,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."
@@ -2740,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"
@@ -2932,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"
@@ -4081,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"
@@ -4118,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"
@@ -4145,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."
@@ -4275,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 %"
@@ -4291,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."
@@ -4367,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"
@@ -4697,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"
@@ -5160,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"
@@ -5228,69 +5246,73 @@ 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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Nota repetida"
@@ -5420,9 +5442,8 @@ msgid "Popular"
msgstr "Populares"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Repetir esta nota"
+msgstr "Repetir esta nota?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po
index 69329e074..72f9897f2 100644
--- a/locale/pt_BR/LC_MESSAGES/statusnet.po
+++ b/locale/pt_BR/LC_MESSAGES/statusnet.po
@@ -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-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:12+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 (r60437); 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:191
+#: 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,9 +682,8 @@ 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
@@ -689,9 +693,9 @@ 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."
@@ -710,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"
@@ -738,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."
@@ -750,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."
@@ -764,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."
@@ -784,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
@@ -801,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."
@@ -812,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"
@@ -821,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"
@@ -857,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
@@ -924,63 +915,60 @@ 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:324 actions/profilesettings.php:167
+#: 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
@@ -990,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."
@@ -1011,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
@@ -1025,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."
@@ -1047,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
@@ -1083,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
@@ -1123,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."
@@ -1188,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."
@@ -1228,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
@@ -1247,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
@@ -1260,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
@@ -1268,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 great users on %s"
-msgstr ""
+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."
@@ -1326,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
@@ -1375,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
@@ -1405,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"
@@ -1466,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"
@@ -1503,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
@@ -1540,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
@@ -1573,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
@@ -1580,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
@@ -1604,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."
@@ -1628,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
@@ -1636,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."
@@ -1651,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
@@ -1709,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"
@@ -1741,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:"
@@ -1778,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
@@ -1817,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"
@@ -1845,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
@@ -1936,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?"
@@ -1952,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"
@@ -1999,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
@@ -2008,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Erro no Ajax"
@@ -2035,9 +2008,9 @@ msgstr "Erro no Ajax"
msgid "New notice"
msgstr "Nova mensagem"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
-msgstr "Mensagem publicada"
+msgstr "A mensagem foi publicada"
#: actions/noticesearch.php:68
#, php-format
@@ -2045,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
@@ -2063,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
@@ -2070,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 ""
@@ -2090,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"
@@ -2103,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"
@@ -2132,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)."
@@ -2162,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."
@@ -2180,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"
@@ -2216,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."
@@ -2224,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."
@@ -2240,150 +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 ""
+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:217 actions/siteadminpanel.php:58
#: lib/adminpanelaction.php:299
-#, fuzzy
msgid "Site"
-msgstr "Convidar"
+msgstr "Site"
#: actions/pathsadminpanel.php:221
msgid "Path"
-msgstr ""
+msgstr "Caminho"
#: actions/pathsadminpanel.php:221
-#, fuzzy
msgid "Site path"
-msgstr "Nova mensagem"
+msgstr "Caminho do site"
#: actions/pathsadminpanel.php:225
msgid "Path to locales"
-msgstr ""
+msgstr "Caminho para os locales"
#: actions/pathsadminpanel.php:225
msgid "Directory path to locales"
-msgstr ""
+msgstr "Caminho do diretório de locales"
#: actions/pathsadminpanel.php:232
msgid "Theme"
-msgstr ""
+msgstr "Tema"
#: actions/pathsadminpanel.php:237
msgid "Theme server"
-msgstr ""
+msgstr "Servidor de temas"
#: actions/pathsadminpanel.php:241
msgid "Theme path"
-msgstr ""
+msgstr "Caminho dos temas"
#: actions/pathsadminpanel.php:245
msgid "Theme directory"
-msgstr ""
+msgstr "Diretório dos temas"
#: actions/pathsadminpanel.php:252
-#, fuzzy
msgid "Avatars"
-msgstr "Avatar"
+msgstr "Avatares"
#: actions/pathsadminpanel.php:257
-#, fuzzy
msgid "Avatar server"
-msgstr "Configurações do avatar"
+msgstr "Servidor de avatares"
#: actions/pathsadminpanel.php:261
-#, fuzzy
msgid "Avatar path"
-msgstr "O avatar foi atualizado."
+msgstr "Caminho dos avatares"
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "O avatar foi atualizado."
+msgstr "Diretório dos avatares"
#: actions/pathsadminpanel.php:274
msgid "Backgrounds"
-msgstr ""
+msgstr "Imagens de fundo"
#: actions/pathsadminpanel.php:278
msgid "Background server"
-msgstr ""
+msgstr "Servidor de imagens de fundo"
#: actions/pathsadminpanel.php:282
msgid "Background path"
-msgstr ""
+msgstr "Caminho das imagens de fundo"
#: actions/pathsadminpanel.php:286
msgid "Background directory"
-msgstr ""
+msgstr "Diretório das imagens de fundo"
#: actions/pathsadminpanel.php:293
-#, fuzzy
msgid "SSL"
-msgstr "SMS"
+msgstr "SSL"
#: actions/pathsadminpanel.php:296 actions/siteadminpanel.php:346
-#, fuzzy
msgid "Never"
-msgstr "Recuperar"
+msgstr "Nunca"
#: actions/pathsadminpanel.php:297
-#, fuzzy
msgid "Sometimes"
-msgstr "Mensagens"
+msgstr "Algumas vezes"
#: actions/pathsadminpanel.php:298
msgid "Always"
-msgstr ""
+msgstr "Sempre"
#: actions/pathsadminpanel.php:302
msgid "Use SSL"
-msgstr ""
+msgstr "Usar SSL"
#: actions/pathsadminpanel.php:303
msgid "When to use SSL"
-msgstr ""
+msgstr "Quando usar SSL"
#: actions/pathsadminpanel.php:308
msgid "SSL Server"
-msgstr ""
+msgstr "Servidor SSL"
#: actions/pathsadminpanel.php:309
msgid "Server to direct SSL requests to"
-msgstr ""
+msgstr "Servidor para onde devem ser direcionadas as requisições SSL"
#: actions/pathsadminpanel.php:325
-#, fuzzy
msgid "Save paths"
-msgstr "Nova mensagem"
+msgstr "Salvar caminhos"
#: actions/peoplesearch.php:52
#, php-format
@@ -2391,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"
@@ -2417,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"
@@ -2430,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"
@@ -2454,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"
@@ -2478,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:294
+#: 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:164
+#: 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
@@ -2585,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
@@ -2604,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
@@ -2640,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."
@@ -2679,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"
@@ -2726,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."
@@ -2740,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 ""
@@ -2756,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."
@@ -2769,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."
@@ -2814,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."
@@ -2839,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 "
@@ -2847,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 "
+"e número de telefone."
#: actions/register.php:537
#, php-format
@@ -2876,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 "
@@ -2908,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
@@ -2916,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
@@ -2946,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
@@ -2997,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
@@ -3022,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
@@ -3029,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
@@ -3036,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
@@ -3088,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
@@ -3096,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
@@ -3190,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."
@@ -3213,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
@@ -3226,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
@@ -3282,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
@@ -3291,235 +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:146
msgid "Site name must have non-zero length."
-msgstr ""
+msgstr "Você deve digitar alguma coisa para o nome do site."
#: actions/siteadminpanel.php:154
-#, fuzzy
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:172
#, php-format
msgid "Unknown language \"%s\""
-msgstr ""
+msgstr "Idioma desconhecido \"%s\""
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
-msgstr ""
+msgstr "A URL para o envio das estatísticas é inválida."
#: 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: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:197
msgid "Minimum text limit is 140 characters."
-msgstr ""
+msgstr "O comprimento máximo do texto é de 140 caracteres."
#: 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:253
msgid "General"
-msgstr ""
+msgstr "Geral"
#: actions/siteadminpanel.php:256
-#, fuzzy
msgid "Site name"
-msgstr "Nova mensagem"
+msgstr "Nome do site"
#: 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:261
msgid "Brought by"
-msgstr ""
+msgstr "Disponibilizado por"
#: 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:266
msgid "Brought by URL"
-msgstr ""
+msgstr "URL do disponibilizado por"
#: 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:271
-#, fuzzy
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:277
-#, fuzzy
msgid "Local"
-msgstr "Localização"
+msgstr "Local"
#: actions/siteadminpanel.php:288
msgid "Default timezone"
-msgstr ""
+msgstr "Fuso horário padrão"
#: 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:295
-#, fuzzy
msgid "Default site language"
-msgstr "Idioma preferencial"
+msgstr "Idioma padrão do site"
#: actions/siteadminpanel.php:303
msgid "URLs"
-msgstr ""
+msgstr "URLs"
#: actions/siteadminpanel.php:306
-#, fuzzy
msgid "Server"
-msgstr "Recuperar"
+msgstr "Servidor"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
-msgstr ""
+msgstr "Nome de host do servidor do site."
#: actions/siteadminpanel.php:310
msgid "Fancy URLs"
-msgstr ""
+msgstr "URLs limpas"
#: 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:318
-#, fuzzy
msgid "Access"
-msgstr "Aceitar"
+msgstr "Acesso"
#: actions/siteadminpanel.php:321
-#, fuzzy
msgid "Private"
-msgstr "Privacidade"
+msgstr "Particular"
#: 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:327
-#, fuzzy
msgid "Invite only"
-msgstr "Convidar"
+msgstr "Somente convidados"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
-msgstr ""
+msgstr "Cadastro liberado somente para convidados."
#: actions/siteadminpanel.php:333
-#, fuzzy
msgid "Closed"
-msgstr "Bloquear"
+msgstr "Fechado"
#: actions/siteadminpanel.php:335
msgid "Disable new registrations."
-msgstr ""
+msgstr "Desabilita novos registros."
#: actions/siteadminpanel.php:341
msgid "Snapshots"
-msgstr ""
+msgstr "Estatísticas"
#: actions/siteadminpanel.php:344
msgid "Randomly during Web hit"
-msgstr ""
+msgstr "Aleatoriamente durante o funcionamento"
#: actions/siteadminpanel.php:345
msgid "In a scheduled job"
-msgstr ""
+msgstr "Em horários pré-definidos"
#: actions/siteadminpanel.php:347
msgid "Data snapshots"
-msgstr ""
+msgstr "Estatísticas dos dados"
#: 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:353
msgid "Frequency"
-msgstr ""
+msgstr "Frequentemente"
#: 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:359
msgid "Report URL"
-msgstr ""
+msgstr "URL para envio"
#: actions/siteadminpanel.php:360
msgid "Snapshots will be sent to this URL"
-msgstr ""
+msgstr "As estatísticas serão enviadas para esta URL"
#: actions/siteadminpanel.php:367
msgid "Limits"
-msgstr ""
+msgstr "Limites"
#: actions/siteadminpanel.php:370
msgid "Text limit"
-msgstr ""
+msgstr "Limite do texto"
#: 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:374
msgid "Dupe limit"
-msgstr ""
+msgstr "Limite de duplicatas"
#: 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:388 actions/useradminpanel.php:313
-#, fuzzy
msgid "Save site settings"
-msgstr "Configurações do avatar"
+msgstr "Salvar as configurações do site"
#: actions/smssettings.php:58
msgid "SMS Settings"
@@ -3528,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."
@@ -3584,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."
@@ -3602,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"
@@ -3616,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"
@@ -3641,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."
@@ -3664,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
@@ -3676,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."
@@ -3705,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"
@@ -3720,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 ""
@@ -3788,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ê já 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."
@@ -3825,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
@@ -3833,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
@@ -3855,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"
@@ -3951,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!"
@@ -3964,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 "
@@ -3979,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
@@ -4070,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."
@@ -4097,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."
@@ -4116,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"
@@ -4166,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"
@@ -4194,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"
@@ -4450,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
@@ -4471,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
@@ -4511,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"
@@ -4567,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
@@ -4584,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."
@@ -4596,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 ""
@@ -4681,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"
@@ -4714,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"
@@ -4745,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"
@@ -4772,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"
@@ -4790,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"
@@ -4809,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
@@ -4845,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"
@@ -4867,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."
@@ -4897,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"
@@ -4918,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"
@@ -4944,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"
@@ -4964,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
@@ -4993,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
@@ -5019,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"
@@ -5045,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
@@ -5069,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
@@ -5095,11 +5138,27 @@ 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:624
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) enviou uma mensagem citando você"
#: lib/mail.php:626
#, php-format
@@ -5115,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."
@@ -5125,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"
@@ -5192,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/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "Indique 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 ""
+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"
@@ -5287,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."
@@ -5346,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"
@@ -5361,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"
@@ -5386,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
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Responder a esta mensagem"
+msgstr "Repetir esta mensagem?"
#: lib/repeatform.php:132
-#, fuzzy
msgid "Repeat this notice"
-msgstr "Responder a esta mensagem"
+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"
@@ -5432,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"
@@ -5448,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
@@ -5473,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."
@@ -5489,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."
@@ -5508,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"
@@ -5529,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"
@@ -5554,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:837
msgid "a few seconds ago"
-msgstr "segundos atrás"
+msgstr "alguns segundos atrás"
#: lib/util.php:839
msgid "about a minute ago"
-msgstr "1 min atrás"
+msgstr "cerca de 1 minuto atrás"
#: 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:843
msgid "about an hour ago"
-msgstr "1 hora atrás"
+msgstr "cerca de 1 hora atrás"
#: 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:847
msgid "about a day ago"
-msgstr "1 dia atrás"
+msgstr "cerca de 1 dia atrás"
#: 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:851
msgid "about a month ago"
-msgstr "1 mês atrás"
+msgstr "cerca de 1 mês atrás"
#: 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: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."
@@ -5654,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."
diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po
index bcfc757be..b5301b1ab 100644
--- a/locale/ru/LC_MESSAGES/statusnet.po
+++ b/locale/ru/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:15+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 (r60437); 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 знаков)."
@@ -471,7 +471,7 @@ msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ. МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð
msgid "Not found"
msgstr "Ðе найдено"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° запиÑи — %d Ñимволов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ URL вложениÑ."
@@ -601,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 "Удалить"
@@ -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
@@ -693,7 +693,7 @@ msgstr "Да"
msgid "Block this user"
msgstr "Заблокировать пользователÑ."
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "Ðе удаётÑÑ Ñохранить информацию о блокировании."
@@ -765,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 "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ пользователÑ."
@@ -827,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 "Удалить Ñту запиÑÑŒ"
@@ -965,7 +965,7 @@ msgstr "ВоÑÑтановить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1475,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 "ÐаÑтройки"
@@ -1573,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 "Ошибка при удалении данного блока."
@@ -1760,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 "ОК"
@@ -1882,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 "Вход"
@@ -1994,7 +1994,7 @@ msgstr "Сообщение отправлено"
msgid "Direct message to %s sent"
msgstr "ПрÑмое Ñообщение Ð´Ð»Ñ %s поÑлано"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ошибка AJAX"
@@ -2002,7 +2002,7 @@ msgstr "Ошибка AJAX"
msgid "New notice"
msgstr "ÐÐ¾Ð²Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "ЗапиÑÑŒ опубликована"
@@ -2433,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:294
+#: 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:164
+#: 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 "ÐаÑтройки Ñохранены."
@@ -2602,7 +2611,7 @@ msgstr ""
"Почему бы не [зарегиÑтрироватьÑÑ](%%action.register%%), чтобы отправить "
"первым?"
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Облако тегов"
@@ -2742,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 "РегиÑтрациÑ"
@@ -2934,7 +2943,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 "Повторено"
@@ -4088,16 +4097,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"
@@ -4152,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."
@@ -4282,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 %"
@@ -4299,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 "Проблема Ñ Ð’Ð°ÑˆÐµÐ¹ ÑеÑÑией. Попробуйте ещё раз, пожалуйÑта."
@@ -4375,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 "Команда иÑполнена"
@@ -4933,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 ÑÐµÐ¹Ñ‡Ð°Ñ Ñлушает ваши заметки на %2$s."
+msgstr "%1$s теперь Ñледит за вашими запиÑÑми на %2$s."
#: lib/mail.php:241
#, php-format
@@ -5170,7 +5189,7 @@ msgstr ""
"Ð²Ð¾Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… пользователей в разговор. СообщениÑ, получаемые от других "
"людей, видите только вы."
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
msgid "from"
msgstr "от "
@@ -5237,69 +5256,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 "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
+#: 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 "ЗапиÑÑŒ повторена"
diff --git a/locale/statusnet.po b/locale/statusnet.po
index 3b094b0a6..44a0d92fc 100644
--- a/locale/statusnet.po
+++ b/locale/statusnet.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-28 08:09+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:191
+#: 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
@@ -668,7 +668,7 @@ msgstr ""
msgid "Block this user"
msgstr ""
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
@@ -740,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 ""
@@ -800,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 ""
@@ -934,7 +934,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1416,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 ""
@@ -1503,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 ""
@@ -1672,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 ""
@@ -1768,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 ""
@@ -1875,7 +1875,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1883,7 +1883,7 @@ msgstr ""
msgid "New notice"
msgstr ""
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr ""
@@ -2300,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:294
+#: 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:164
+#: 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 ""
@@ -2455,7 +2463,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2591,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 ""
@@ -2755,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 ""
@@ -3825,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 ""
@@ -3889,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 %"
@@ -4030,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 ""
@@ -4106,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 ""
@@ -4766,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 ""
@@ -4830,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 ""
diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po
index 34606dc9d..9d1e7b9c6 100644
--- a/locale/sv/LC_MESSAGES/statusnet.po
+++ b/locale/sv/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:18+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 (r60437); 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)."
@@ -463,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:191
+#: 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."
@@ -593,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"
@@ -606,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
@@ -685,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."
@@ -758,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."
@@ -820,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"
@@ -958,7 +958,7 @@ 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:324 actions/profilesettings.php:167
+#: 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
@@ -1456,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"
@@ -1555,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."
@@ -1741,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"
@@ -1837,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"
@@ -1950,7 +1950,7 @@ msgstr "Meddelande skickat"
msgid "Direct message to %s sent"
msgstr "Direktmeddelande till %s skickat"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "AJAX-fel"
@@ -1958,7 +1958,7 @@ msgstr "AJAX-fel"
msgid "New notice"
msgstr "Ny notis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Notis postad"
@@ -2387,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:294
+#: 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:164
+#: 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."
@@ -2558,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"
@@ -2699,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"
@@ -2879,7 +2888,7 @@ msgstr "Du kan inte upprepa din egna notis."
msgid "You already repeated that notice."
msgstr "Du har redan upprepat denna notis."
-#: actions/repeat.php:114 lib/noticelist.php:621
+#: actions/repeat.php:114 lib/noticelist.php:629
msgid "Repeated"
msgstr "Upprepad"
@@ -4018,16 +4027,16 @@ 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 "RT @%1$s %2$s"
@@ -4082,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."
@@ -4212,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 %"
@@ -4228,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."
@@ -4304,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"
@@ -4983,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"
@@ -5051,69 +5070,73 @@ 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
+#: lib/noticelist.php:556
msgid "Repeated by"
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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Notis upprepad"
diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po
index c7b7aec8e..028e60c47 100644
--- a/locale/te/LC_MESSAGES/statusnet.po
+++ b/locale/te/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:21+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 (r60437); 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:191
+#: 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
@@ -679,7 +679,7 @@ msgstr "à°…à°µà±à°¨à±"
msgid "Block this user"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించà±"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "నిరోధపౠసమాచారానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో విఫలమయà±à°¯à°¾à°‚."
@@ -754,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 "వాడà±à°•à°°à°¿à°¨à°¿ తాజాకరించలేకà±à°¨à±à°¨à°¾à°‚."
@@ -814,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 "à°ˆ నోటీసà±à°¨à°¿ తొలగించà±"
@@ -950,7 +950,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1410,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 "అవతారపౠతాజాకరణ విఫలమైంది."
+msgstr "à°šà°¿à°¹à±à°¨à°ªà± తాజాకరణ విఫలమైంది."
#: actions/groupmembers.php:93 lib/groupnav.php:92
#, php-format
@@ -1435,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 ""
@@ -1525,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 "నిరోధానà±à°¨à°¿ తొలగించడంలో పొరపాటà±."
@@ -1694,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 "పంపించà±"
@@ -1791,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 "à°ªà±à°°à°µà±‡à°¶à°¿à°‚à°šà°‚à°¡à°¿"
@@ -1901,7 +1900,7 @@ msgstr "సందేశానà±à°¨à°¿ పంపించాం"
msgid "Direct message to %s sent"
msgstr "%sà°•à°¿ నేరౠసందేశానà±à°¨à°¿ పంపించాం"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "అజాకà±à°¸à± పొరపాటà±"
@@ -1909,7 +1908,7 @@ msgstr "అజాకà±à°¸à± పొరపాటà±"
msgid "New notice"
msgstr "కొతà±à°¤ సందేశం"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "సందేశాలà±"
@@ -2192,9 +2191,8 @@ msgid "Avatar path"
msgstr "అవతారానà±à°¨à°¿ తాజాకరించాం."
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "అవతారానà±à°¨à°¿ తొలగించాం."
+msgstr "అవతారాల సంచయం"
#: actions/pathsadminpanel.php:274
msgid "Backgrounds"
@@ -2342,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:294
+#: 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:164
+#: 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 "అమరికలౠభదà±à°°à°®à°¯à±à°¯à°¾à°¯à°¿."
@@ -2501,7 +2508,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "à°Ÿà±à°¯à°¾à°—ౠమేఘం"
@@ -2638,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 "నమోదà±"
@@ -2806,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 "సృషà±à°Ÿà°¿à°¤à°‚"
@@ -3258,7 +3265,7 @@ msgstr "ఆహà±à°µà°¾à°¨à°¿à°¤à±à°²à°•à± మాతà±à°°à°®à±‡"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
-msgstr ""
+msgstr "ఆహà±à°µà°¾à°¨à°¿à°¤à±à°²à± మాతà±à°°à°®à±‡ నమోదౠఅవà±à°µà°—లిగేలా చెయà±à°¯à°¿."
#: actions/siteadminpanel.php:333
#, fuzzy
@@ -3291,7 +3298,7 @@ msgstr ""
#: actions/siteadminpanel.php:353
msgid "Frequency"
-msgstr ""
+msgstr "తరచà±à°¦à°¨à°‚"
#: actions/siteadminpanel.php:354
msgid "Snapshots will be sent once every N web hits"
@@ -3349,7 +3356,7 @@ msgstr ""
#: actions/smssettings.php:123
msgid "Awaiting confirmation on this phone number."
-msgstr ""
+msgstr "à°ˆ ఫోనౠనంబరౠయొకà±à°• నిరà±à°§à°¾à°°à°£à°•à±ˆ వేచివà±à°‚ది."
#: actions/smssettings.php:130
msgid "Confirmation code"
@@ -3901,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)"
@@ -3967,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."
@@ -4101,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 %"
@@ -4117,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."
@@ -4197,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 "ఆదేశ ఫలితాలà±"
@@ -4326,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"
@@ -4874,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 "à°¨à±à°‚à°¡à°¿"
@@ -4939,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 "నోటీసà±à°¨à°¿ తొలగించాం."
diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po
index 402ca048d..8d8cbbfd8 100644
--- a/locale/tr/LC_MESSAGES/statusnet.po
+++ b/locale/tr/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:24+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 (r60437); 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:191
+#: 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
@@ -699,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 ""
@@ -775,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."
@@ -837,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 ""
@@ -984,7 +984,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1488,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 ""
@@ -1582,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."
@@ -1762,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"
@@ -1862,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ÅŸ"
@@ -1975,7 +1975,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1983,7 +1983,7 @@ msgstr ""
msgid "New notice"
msgstr "Yeni durum mesajı"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Durum mesajları"
@@ -2427,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:294
+#: 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:164
+#: 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."
@@ -2587,7 +2596,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2726,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"
@@ -2899,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"
@@ -4017,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 ""
@@ -4085,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."
@@ -4223,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 %"
@@ -4239,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 ""
@@ -4322,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 ""
@@ -5008,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 ""
@@ -5073,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ı"
diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po
index 32c26de54..228202cc8 100644
--- a/locale/uk/LC_MESSAGES/statusnet.po
+++ b/locale/uk/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:27+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 (r60437); 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"
@@ -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 "Спроба розблокувати кориÑтувача невдала."
@@ -315,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 ""
@@ -323,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 знаків макÑимум)"
@@ -352,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 знаків макÑимум)."
@@ -467,7 +467,7 @@ msgstr "Ðадто довго. МакÑимальний розмір допиÑÑ
msgid "Not found"
msgstr "Ðе знайдено"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: 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
@@ -691,7 +691,7 @@ msgstr "Так"
msgid "Block this user"
msgstr "Блокувати кориÑтувача"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð¾ÑÑŒ невдачею."
@@ -763,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 "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ кориÑтувача."
@@ -823,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 "Видалити допиÑ"
@@ -962,7 +962,7 @@ msgstr "ПовернутиÑÑŒ до початкових налаштувань"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1460,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 "Ðдмін"
@@ -1559,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 "Помилка при розблокуванні."
@@ -1746,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 "Так!"
@@ -1869,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 "Увійти"
@@ -1984,7 +1984,7 @@ msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ñ–Ñлано"
msgid "Direct message to %s sent"
msgstr "ПрÑме Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ %s надіÑлано"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Помилка в Ajax"
@@ -1992,7 +1992,7 @@ msgstr "Помилка в Ajax"
msgid "New notice"
msgstr "Ðовий допиÑ"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Ð”Ð¾Ð¿Ð¸Ñ Ð½Ð°Ð´Ñ–Ñлано"
@@ -2424,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:294
+#: 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:164
+#: 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 "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾."
@@ -2595,7 +2603,7 @@ msgstr ""
"Чому б не [зареєÑтруватиÑÑŒ](%%%%action.register%%%%) Ñ– не напиÑати щоÑÑŒ "
"цікаве!"
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Хмарка теґів"
@@ -2737,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 "РеєÑтраціÑ"
@@ -2928,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 "ВторуваннÑ"
@@ -4079,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"
@@ -4143,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."
@@ -4273,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 %"
@@ -4289,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 "Виникли певні проблеми з токеном поточної ÑеÑÑ–Ñ—."
@@ -4365,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 "Результати команди"
@@ -5158,7 +5176,7 @@ msgstr ""
"Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°Ð±Ð¸ долучити кориÑтувачів до розмови. Такі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð±Ð°Ñ‡Ð¸Ñ‚Ðµ "
"лише Ви."
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
msgid "from"
msgstr "від"
@@ -5224,69 +5242,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 "Що нового, %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
+#: lib/noticelist.php:628
msgid "Notice repeated"
msgstr "Ð”Ð¾Ð¿Ð¸Ñ Ð²Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð»Ð¸"
diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po
index 80dd9617d..029f4c86f 100644
--- a/locale/vi/LC_MESSAGES/statusnet.po
+++ b/locale/vi/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:29+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 (r60437); 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:191
+#: 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
@@ -705,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 ""
@@ -780,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."
@@ -843,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"
@@ -997,7 +997,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1533,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 ""
@@ -1629,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."
@@ -1817,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"
@@ -1946,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"
@@ -2062,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:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
#, fuzzy
msgid "Ajax Error"
msgstr "Lá»—i"
@@ -2071,7 +2071,7 @@ msgstr "Lá»—i"
msgid "New notice"
msgstr "Thông báo mới"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Tin đã gửi"
@@ -2523,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:294
+#: 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:164
+#: 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ữ quaÌ daÌ€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."
@@ -2686,7 +2695,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2826,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ý"
@@ -3018,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"
@@ -4169,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)"
@@ -4238,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."
@@ -4380,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 %"
@@ -4396,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."
@@ -4482,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"
@@ -5232,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ừ "
@@ -5298,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"
diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po
index 484166549..576797ad3 100644
--- a/locale/zh_CN/LC_MESSAGES/statusnet.po
+++ b/locale/zh_CN/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:32+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 (r60437); 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"
@@ -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:191
+#: 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
@@ -699,7 +699,7 @@ msgstr "是"
msgid "Block this user"
msgstr "阻止该用户"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr "ä¿å­˜é˜»æ­¢ä¿¡æ¯å¤±è´¥ã€‚"
@@ -776,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 "无法更新用户。"
@@ -839,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 "删除通告"
@@ -989,7 +989,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1505,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管ç†å‘˜"
@@ -1599,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 "ä¿å­˜ç”¨æˆ·æ—¶å‡ºé”™ã€‚"
@@ -1776,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 "å‘é€"
@@ -1898,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 "登录"
@@ -2008,7 +2008,7 @@ msgstr "新消æ¯"
msgid "Direct message to %s sent"
msgstr "å·²å‘ %s å‘é€æ¶ˆæ¯"
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr "Ajax错误"
@@ -2016,7 +2016,7 @@ msgstr "Ajax错误"
msgid "New notice"
msgstr "新通告"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "消æ¯å·²å‘布。"
@@ -2455,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:294
+#: 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:164
+#: 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 "设置已ä¿å­˜ã€‚"
@@ -2618,7 +2627,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "标签云èšé›†"
@@ -2755,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 "注册"
@@ -2943,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 "创建"
@@ -4086,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)"
@@ -4152,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."
@@ -4291,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 %"
@@ -4307,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 "会è¯æ ‡è¯†æœ‰é—®é¢˜ï¼Œè¯·é‡è¯•ã€‚"
@@ -4395,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 "执行结果"
@@ -5093,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 " 从 "
@@ -5159,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 "消æ¯å·²å‘布。"
diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po
index 95e296d04..906f8fab1 100644
--- a/locale/zh_TW/LC_MESSAGES/statusnet.po
+++ b/locale/zh_TW/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+0000\n"
-"PO-Revision-Date: 2009-12-28 08:11:35+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 (r60437); 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:191
+#: 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
@@ -692,7 +692,7 @@ msgstr ""
msgid "Block this user"
msgstr "無此使用者"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
@@ -768,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 "無法更新使用者"
@@ -830,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 ""
@@ -975,7 +975,7 @@ msgstr ""
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php:324 actions/profilesettings.php:167
+#: 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
@@ -1474,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 ""
@@ -1563,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 "儲存使用者發生錯誤"
@@ -1736,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 ""
@@ -1832,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 "登入"
@@ -1939,7 +1939,7 @@ msgstr ""
msgid "Direct message to %s sent"
msgstr ""
-#: actions/newmessage.php:210 actions/newnotice.php:250 lib/channel.php:170
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
msgstr ""
@@ -1947,7 +1947,7 @@ msgstr ""
msgid "New notice"
msgstr "新訊æ¯"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr ""
@@ -2375,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:294
+#: 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:164
+#: 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 ""
@@ -2532,7 +2541,7 @@ msgid ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
@@ -2669,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 ""
@@ -2837,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 "新增"
@@ -3940,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,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."
@@ -4144,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 %"
@@ -4157,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 ""
@@ -4238,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 ""
@@ -4917,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 ""
@@ -4982,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 "更新個人圖åƒ"
diff --git a/plugins/APCPlugin.php b/plugins/APCPlugin.php
new file mode 100644
index 000000000..18409e29e
--- /dev/null
+++ b/plugins/APCPlugin.php
@@ -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/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php
index 65d0f70e6..f7f28b4d6 100644
--- a/plugins/BitlyUrl/BitlyUrlPlugin.php
+++ b/plugins/BitlyUrl/BitlyUrlPlugin.php
@@ -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;
+ }
+}
diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php
index 655b0926b..84a2cb616 100644
--- a/plugins/Blacklist/BlacklistPlugin.php
+++ b/plugins/Blacklist/BlacklistPlugin.php
@@ -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
index 000000000..4c47de80e
--- /dev/null
+++ b/plugins/CacheLogPlugin.php
@@ -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
index 428aafb02..818a11f77 100644
--- a/plugins/CasAuthentication/CasAuthenticationPlugin.php
+++ b/plugins/CasAuthentication/CasAuthenticationPlugin.php
@@ -39,6 +39,7 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
public $server;
public $port = 443;
public $path = '';
+ public $takeOverLogin = false;
function checkPassword($username, $password)
{
@@ -56,8 +57,14 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
case 'CasloginAction':
require_once(INSTALLDIR.'/plugins/CasAuthentication/' . strtolower(mb_substr($cls, 0, -6)) . '.php');
return false;
- default:
- return parent::onAutoload($cls);
+ }
+ }
+
+ function onArgsInitialize(&$args)
+ {
+ if($this->takeOverLogin && $args['action'] == 'login')
+ {
+ $args['action'] = 'caslogin';
}
}
diff --git a/plugins/CasAuthentication/README b/plugins/CasAuthentication/README
index 2ee54dc05..c17a28e54 100644
--- a/plugins/CasAuthentication/README
+++ b/plugins/CasAuthentication/README
@@ -21,6 +21,9 @@ password_changeable*: must be set to false. This plugin does not support changin
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)
@@ -33,6 +36,7 @@ addPlugin('casAuthentication', array(
'autoregistration'=>true,
'server'=>'sso-cas.univ-rennes1.fr',
'port'=>443,
- 'path'=>''
+ 'path'=>'',
+ 'takeOverLogin'=>true
));
diff --git a/plugins/Facebook/FacebookPlugin.php b/plugins/Facebook/FacebookPlugin.php
index 39b2ef287..de91bf24a 100644
--- a/plugins/Facebook/FacebookPlugin.php
+++ b/plugins/Facebook/FacebookPlugin.php
@@ -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;
+ }
+
}
diff --git a/plugins/Facebook/facebook/facebook.php b/plugins/Facebook/facebook/facebook.php
index 016e8e8e0..440706cbc 100644
--- a/plugins/Facebook/facebook/facebook.php
+++ b/plugins/Facebook/facebook/facebook.php
@@ -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]);
}
diff --git a/plugins/Facebook/facebook/facebook_desktop.php b/plugins/Facebook/facebook/facebook_desktop.php
index e79a2ca34..ed4762215 100644
--- a/plugins/Facebook/facebook/facebook_desktop.php
+++ b/plugins/Facebook/facebook/facebook_desktop.php
@@ -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
index 000000000..5ee7f4ed5
--- /dev/null
+++ b/plugins/Facebook/facebook/facebook_mobile.php
@@ -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));
+ }
+}
diff --git a/plugins/Facebook/facebook/facebookapi_php5_restlib.php b/plugins/Facebook/facebook/facebookapi_php5_restlib.php
index 55cb7fb86..fa1088cd0 100755
--- a/plugins/Facebook/facebook/facebookapi_php5_restlib.php
+++ b/plugins/Facebook/facebook/facebookapi_php5_restlib.php
@@ -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,7 +544,7 @@ 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));
@@ -527,6 +552,27 @@ function toggleDisplay(id, type) {
}
/**
+ * 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.
*
* @param int $eid event id
@@ -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
@@ -1249,6 +1318,87 @@ function toggleDisplay(id, type) {
}
/**
+ * 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.
*
* @param string $title Title of the note.
@@ -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
@@ -2876,6 +2941,35 @@ function toggleDisplay(id, type) {
}
/**
+ * 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
* limit_map.
@@ -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'],
@@ -3054,6 +3149,16 @@ function toggleDisplay(id, type) {
}
/**
+ * 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
*
* @param string $method Name of the Facebook method to invoke
@@ -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
diff --git a/plugins/Facebook/facebookaction.php b/plugins/Facebook/facebookaction.php
index 24bf215fd..bf9c037a5 100644
--- a/plugins/Facebook/facebookaction.php
+++ b/plugins/Facebook/facebookaction.php
@@ -32,7 +32,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
}
require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
-require_once INSTALLDIR . '/lib/noticeform.php';
+require_once INSTALLDIR . '/plugins/Facebook/facebooknoticeform.php';
class FacebookAction extends Action
{
@@ -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();
@@ -455,42 +399,6 @@ class FacebookAction extends Action
common_broadcast_notice($notice);
- // Also update the user's Facebook status
- facebookBroadcastNotice($notice);
-
- }
-
-}
-
-class FacebookNoticeForm extends NoticeForm
-{
-
- var $post_action = null;
-
- /**
- * Constructor
- *
- * @param HTMLOutputter $out output channel
- * @param string $action action to return to, if any
- * @param string $content content to pre-fill
- */
-
- function __construct($out=null, $action=null, $content=null,
- $post_action=null, $user=null)
- {
- parent::__construct($out, $action, $content, $user);
- $this->post_action = $post_action;
- }
-
- /**
- * Action of the form
- *
- * @return string URL of the action
- */
-
- function action()
- {
- return $this->post_action;
}
}
diff --git a/plugins/Facebook/facebooknoticeform.php b/plugins/Facebook/facebooknoticeform.php
new file mode 100644
index 000000000..5989147f4
--- /dev/null
+++ b/plugins/Facebook/facebooknoticeform.php
@@ -0,0 +1,206 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Form for posting a notice from within the Facebook App.
+ *
+ * This is a stripped down version of the normal NoticeForm (sans
+ * location stuff and media upload stuff). I'm not sure we can share the
+ * location (from FB) and they don't allow posting multipart form data
+ * to Facebook canvas pages, so that won't work anyway. --Zach
+ *
+ * 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 Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @author Sarven Capadisli <csarven@status.net>
+ * @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') && !defined('LACONICA')) {
+ exit(1);
+}
+
+require_once INSTALLDIR . '/lib/form.php';
+
+/**
+ * Form for posting a notice from within the Facebook app
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @author Sarven Capadisli <csarven@status.net>
+ * @author Zach Copey <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/
+ *
+ * @see HTMLOutputter
+ */
+
+class FacebookNoticeForm extends Form
+{
+ /**
+ * Current action, used for returning to this page.
+ */
+
+ var $action = null;
+
+ /**
+ * Pre-filled content of the form
+ */
+
+ var $content = null;
+
+ /**
+ * The current user
+ */
+
+ var $user = null;
+
+ /**
+ * The notice being replied to
+ */
+
+ var $inreplyto = null;
+
+ /**
+ * Constructor
+ *
+ * @param HTMLOutputter $out output channel
+ * @param string $action action to return to, if any
+ * @param string $content content to pre-fill
+ */
+
+ function __construct($out=null, $action=null, $content=null, $post_action=null, $user=null, $inreplyto=null)
+ {
+ parent::__construct($out);
+
+ $this->action = $action;
+ $this->post_action = $post_action;
+ $this->content = $content;
+ $this->inreplyto = $inreplyto;
+
+ if ($user) {
+ $this->user = $user;
+ } else {
+ $this->user = common_current_user();
+ }
+
+ // Note: Facebook doesn't allow multipart/form-data posting to
+ // canvas pages, so don't try to set it--no file uploads, at
+ // least not this way. It can be done using multiple servers
+ // and iFrames, but it's a pretty hacky process.
+ }
+
+ /**
+ * ID of the form
+ *
+ * @return string ID of the form
+ */
+
+ function id()
+ {
+ return 'form_notice';
+ }
+
+ /**
+ * Class of the form
+ *
+ * @return string class of the form
+ */
+
+ function formClass()
+ {
+ return 'form_notice';
+ }
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+
+ function action()
+ {
+ return $this->post_action;
+ }
+
+ /**
+ * Legend of the Form
+ *
+ * @return void
+ */
+ function formLegend()
+ {
+ $this->out->element('legend', null, _('Send a notice'));
+ }
+
+ /**
+ * Data elements
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ if (Event::handle('StartShowNoticeFormData', array($this))) {
+ $this->out->element('label', array('for' => 'notice_data-text'),
+ sprintf(_('What\'s up, %s?'), $this->user->nickname));
+ // XXX: vary by defined max size
+ $this->out->element('textarea', array('id' => 'notice_data-text',
+ 'cols' => 35,
+ 'rows' => 4,
+ 'name' => 'status_textarea'),
+ ($this->content) ? $this->content : '');
+
+ $contentLimit = Notice::maxContent();
+
+ if ($contentLimit > 0) {
+ $this->out->elementStart('dl', 'form_note');
+ $this->out->element('dt', null, _('Available characters'));
+ $this->out->element('dd', array('id' => 'notice_text-count'),
+ $contentLimit);
+ $this->out->elementEnd('dl');
+ }
+
+ if ($this->action) {
+ $this->out->hidden('notice_return-to', $this->action, 'returnto');
+ }
+ $this->out->hidden('notice_in-reply-to', $this->inreplyto, 'inreplyto');
+
+ Event::handle('StartShowNoticeFormData', array($this));
+ }
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->element('input', array('id' => 'notice_action-submit',
+ 'class' => 'submit',
+ 'name' => 'status_submit',
+ 'type' => 'submit',
+ 'value' => _('Send')));
+ }
+}
diff --git a/plugins/Facebook/facebookutil.php b/plugins/Facebook/facebookutil.php
index 2ec6db6b8..ac532e18b 100644
--- a/plugins/Facebook/facebookutil.php
+++ b/plugins/Facebook/facebookutil.php
@@ -138,21 +138,23 @@ function facebookBroadcastNotice($notice)
$code = $e->getCode();
- common_log(LOG_WARNING, 'Facebook returned error code ' .
- $code . ': ' . $e->getMessage());
- common_log(LOG_WARNING,
- 'Unable to update Facebook status for ' .
- "$user->nickname (user id: $user->id)!");
+ $msg = "Facebook returned error code $code: " .
+ $e->getMessage() . ' - ' .
+ "Unable to update Facebook status (notice $notice->id) " .
+ "for $user->nickname (user id: $user->id)!";
- if ($code == 200 || $code == 250) {
+ common_log(LOG_WARNING, $msg);
+ if ($code == 100 || $code == 200 || $code == 250) {
+
+ // 100 The account is 'inactive' (probably - this is not well documented)
// 200 The application does not have permission to operate on the passed in uid parameter.
// 250 Updating status requires the extended permission status_update or publish_stream.
// see: http://wiki.developers.facebook.com/index.php/Users.setStatus#Example_Return_XML
remove_facebook_app($flink);
- } else {
+ } else {
// Try sending again later.
diff --git a/plugins/FeedSub/FeedSubPlugin.php b/plugins/FeedSub/FeedSubPlugin.php
index 857a9794d..e49e2a648 100644
--- a/plugins/FeedSub/FeedSubPlugin.php
+++ b/plugins/FeedSub/FeedSubPlugin.php
@@ -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;
}
- */
}
diff --git a/plugins/FeedSub/feedinfo.php b/plugins/FeedSub/feedinfo.php
index fff66afe9..b166bd6e1 100644
--- a/plugins/FeedSub/feedinfo.php
+++ b/plugins/FeedSub/feedinfo.php
@@ -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);
diff --git a/plugins/GeoURLPlugin.php b/plugins/GeoURLPlugin.php
index 30ff2c278..01178f39c 100644
--- a/plugins/GeoURLPlugin.php
+++ b/plugins/GeoURLPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/GeonamesPlugin.php b/plugins/GeonamesPlugin.php
index 805166eaa..52cc9c97f 100644
--- a/plugins/GeonamesPlugin.php
+++ b/plugins/GeonamesPlugin.php
@@ -426,4 +426,16 @@ class GeonamesPlugin extends Plugin
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;
+ }
}
diff --git a/plugins/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalyticsPlugin.php
index 6891ee6a7..c646bf113 100644
--- a/plugins/GoogleAnalyticsPlugin.php
+++ b/plugins/GoogleAnalyticsPlugin.php
@@ -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
index 000000000..034444222
--- /dev/null
+++ b/plugins/Imap/ImapPlugin.php
@@ -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
index 000000000..640a411a8
--- /dev/null
+++ b/plugins/Imap/README
@@ -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
index 000000000..a45c603ce
--- /dev/null
+++ b/plugins/Imap/imapdaemon.php
@@ -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();
+
+}
diff --git a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
index 39967fe42..c14fa21a9 100644
--- a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
+++ b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
@@ -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
@@ -75,8 +74,6 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
case 'MemcacheSchemaCache':
require_once(INSTALLDIR.'/plugins/LdapAuthentication/MemcacheSchemaCache.php');
return false;
- default:
- return parent::onAutoload($cls);
}
}
diff --git a/plugins/LdapAuthorization/LdapAuthorizationPlugin.php b/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
index 5e759c379..e5e22c0dd 100644
--- a/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
+++ b/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
@@ -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");
}
diff --git a/plugins/LilUrl/LilUrlPlugin.php b/plugins/LilUrl/LilUrlPlugin.php
index 4a6f1cdc7..c3e37c0c0 100644
--- a/plugins/LilUrl/LilUrlPlugin.php
+++ b/plugins/LilUrl/LilUrlPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/LinkbackPlugin.php b/plugins/LinkbackPlugin.php
index f220fff8f..15e57ab0e 100644
--- a/plugins/LinkbackPlugin.php
+++ b/plugins/LinkbackPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index 93679e56c..868933fd4 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -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
index 000000000..5f93e9a83
--- /dev/null
+++ b/plugins/MemcachePlugin.php
@@ -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;
+ }
+}
+
diff --git a/plugins/Minify/MinifyPlugin.php b/plugins/Minify/MinifyPlugin.php
index 71fade19a..718bfd163 100644
--- a/plugins/Minify/MinifyPlugin.php
+++ b/plugins/Minify/MinifyPlugin.php
@@ -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);
}
diff --git a/plugins/Mollom/MollomPlugin.php b/plugins/Mollom/MollomPlugin.php
new file mode 100644
index 000000000..4c82c481a
--- /dev/null
+++ b/plugins/Mollom/MollomPlugin.php
@@ -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
index 000000000..2b8c2d8a0
--- /dev/null
+++ b/plugins/Mollom/README
@@ -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.
diff --git a/plugins/OpenID/OpenIDPlugin.php b/plugins/OpenID/OpenIDPlugin.php
index a37d5465e..248afe3fa 100644
--- a/plugins/OpenID/OpenIDPlugin.php
+++ b/plugins/OpenID/OpenIDPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/OpenID/User_openid_trustroot.php b/plugins/OpenID/User_openid_trustroot.php
index 44288945b..0b411b8f7 100644
--- a/plugins/OpenID/User_openid_trustroot.php
+++ b/plugins/OpenID/User_openid_trustroot.php
@@ -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);
}
diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php
index fefd09867..b353d7255 100644
--- a/plugins/PiwikAnalyticsPlugin.php
+++ b/plugins/PiwikAnalyticsPlugin.php
@@ -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
index 460550518..bae6c529d 100644
--- a/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
+++ b/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
@@ -31,6 +31,16 @@ 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)
@@ -42,4 +52,15 @@ class PoweredByStatusNetPlugin extends Plugin
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;
+ }
}
diff --git a/plugins/PtitUrl/PtitUrlPlugin.php b/plugins/PtitUrl/PtitUrlPlugin.php
index 76a438dd5..ddba942e6 100644
--- a/plugins/PtitUrl/PtitUrlPlugin.php
+++ b/plugins/PtitUrl/PtitUrlPlugin.php
@@ -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/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php
index d15a869cb..d9c047de8 100644
--- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php
+++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php
@@ -95,14 +95,16 @@ class PubSubHubBubPlugin extends Plugin
}
//feed of each user that subscribes to the notice's author
- $notice_inbox = new Notice_inbox();
- $notice_inbox->notice_id = $notice->id;
- if ($notice_inbox->find()) {
- while ($notice_inbox->fetch()) {
- $user = User::staticGet('id',$notice_inbox->user_id);
- $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'rss'));
- $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'atom'));
+
+ $ni = $notice->whoGets();
+
+ foreach (array_keys($ni) as $user_id) {
+ $user = User::staticGet('id', $user_id);
+ if (empty($user)) {
+ continue;
}
+ $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'rss'));
+ $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'atom'));
}
//feed of user replied to
diff --git a/plugins/RSSCloud/LoggingAggregator.php b/plugins/RSSCloud/LoggingAggregator.php
new file mode 100644
index 000000000..e37eed16a
--- /dev/null
+++ b/plugins/RSSCloud/LoggingAggregator.php
@@ -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
index 000000000..1237e3e0e
--- /dev/null
+++ b/plugins/RSSCloud/README
@@ -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
index 000000000..d454691c8
--- /dev/null
+++ b/plugins/RSSCloud/RSSCloudNotifier.php
@@ -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
index 000000000..2de162628
--- /dev/null
+++ b/plugins/RSSCloud/RSSCloudPlugin.php
@@ -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
index 000000000..693dd27c1
--- /dev/null
+++ b/plugins/RSSCloud/RSSCloudQueueHandler.php
@@ -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
index 000000000..d76c08d37
--- /dev/null
+++ b/plugins/RSSCloud/RSSCloudRequestNotify.php
@@ -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
index 000000000..396c604e7
--- /dev/null
+++ b/plugins/RSSCloud/RSSCloudSubscription.php
@@ -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;
+ }
+
+}
diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php
index a810b7165..89640f5be 100644
--- a/plugins/Realtime/RealtimePlugin.php
+++ b/plugins/Realtime/RealtimePlugin.php
@@ -154,14 +154,11 @@ class RealtimePlugin extends Plugin
// Add to inbox timelines
// XXX: do a join
- $inbox = new Notice_inbox();
- $inbox->notice_id = $notice->id;
+ $ni = $notice->whoGets();
- if ($inbox->find()) {
- while ($inbox->fetch()) {
- $user = User::staticGet('id', $inbox->user_id);
- $paths[] = array('all', $user->nickname);
- }
+ foreach (array_keys($ni) as $user_id) {
+ $user = User::staticGet('id', $user_id);
+ $paths[] = array('all', $user->nickname);
}
// Add to the replies timeline
@@ -310,8 +307,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
index 7e27df518..000000000
--- a/plugins/Realtime/json2.js
+++ /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');
- };
- }
-}());
diff --git a/plugins/Recaptcha/RecaptchaPlugin.php b/plugins/Recaptcha/RecaptchaPlugin.php
index db118dbb8..3665214f8 100644
--- a/plugins/Recaptcha/RecaptchaPlugin.php
+++ b/plugins/Recaptcha/RecaptchaPlugin.php
@@ -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 {
diff --git a/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php b/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
index d48283b2e..d157ea067 100644
--- a/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
+++ b/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
@@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once INSTALLDIR.'/plugins/Authentication/AuthenticationPlugin.php';
-
class ReverseUsernameAuthenticationPlugin extends AuthenticationPlugin
{
//---interface implementation---//
diff --git a/plugins/Sample/SamplePlugin.php b/plugins/Sample/SamplePlugin.php
index 6e361aafb..913741226 100644
--- a/plugins/Sample/SamplePlugin.php
+++ b/plugins/Sample/SamplePlugin.php
@@ -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
@@ -15,44 +19,262 @@
*
* 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
index 000000000..d9a59770d
--- /dev/null
+++ b/plugins/Sample/User_greeting_count.php
@@ -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
index 000000000..0cfd8a1c3
--- /dev/null
+++ b/plugins/Sample/hello.php
@@ -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;
+ }
+}
diff --git a/plugins/SimpleUrl/SimpleUrlPlugin.php b/plugins/SimpleUrl/SimpleUrlPlugin.php
index 45b745b07..6eac7dbb1 100644
--- a/plugins/SimpleUrl/SimpleUrlPlugin.php
+++ b/plugins/SimpleUrl/SimpleUrlPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/TemplatePlugin.php b/plugins/TemplatePlugin.php
index 18aa8034c..80625c5b7 100644
--- a/plugins/TemplatePlugin.php
+++ b/plugins/TemplatePlugin.php
@@ -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;
+ }
+
}
/**
diff --git a/plugins/TightUrl/TightUrlPlugin.php b/plugins/TightUrl/TightUrlPlugin.php
index 6ced9afdc..e2d494a7b 100644
--- a/plugins/TightUrl/TightUrlPlugin.php
+++ b/plugins/TightUrl/TightUrlPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php
index de1181903..a87ee2894 100644
--- a/plugins/TwitterBridge/TwitterBridgePlugin.php
+++ b/plugins/TwitterBridge/TwitterBridgePlugin.php
@@ -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;
+ }
+
}
diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
index b4ca12be2..36732ce46 100755
--- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
+++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
@@ -268,19 +268,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
- if (!Notice_inbox::pkeyGet(array('notice_id' => $notice->id,
- 'user_id' => $flink->user_id))) {
- // Add to inbox
- $inbox = new Notice_inbox();
-
- $inbox->user_id = $flink->user_id;
- $inbox->notice_id = $notice->id;
- $inbox->created = $notice->created;
- $inbox->source = NOTICE_INBOX_SOURCE_GATEWAY; // From a private source
-
- $inbox->insert();
-
- }
+ Inbox::insertNotice($flink->user_id, $notice->id);
$notice->blowCaches();
diff --git a/plugins/UserFlag/UserFlagPlugin.php b/plugins/UserFlag/UserFlagPlugin.php
index 602a5bfa8..a33869c19 100644
--- a/plugins/UserFlag/UserFlagPlugin.php
+++ b/plugins/UserFlag/UserFlagPlugin.php
@@ -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;
+ }
}
diff --git a/plugins/UserFlag/User_flag_profile.php b/plugins/UserFlag/User_flag_profile.php
index 658259452..bc4251cf7 100644
--- a/plugins/UserFlag/User_flag_profile.php
+++ b/plugins/UserFlag/User_flag_profile.php
@@ -90,6 +90,17 @@ class User_flag_profile extends Memcached_DataObject
}
/**
+ * return key definitions for DB_DataObject
+ *
+ * @return array key definitions
+ */
+
+ function keyTypes()
+ {
+ return $this->keys();
+ }
+
+ /**
* Get a single object with multiple keys
*
* @param array $kv Map of key-value pairs
@@ -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);
}
diff --git a/plugins/WikiHashtagsPlugin.php b/plugins/WikiHashtagsPlugin.php
index 334fc13ba..c6c976b8f 100644
--- a/plugins/WikiHashtagsPlugin.php
+++ b/plugins/WikiHashtagsPlugin.php
@@ -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
index 000000000..03cb0c06e
--- /dev/null
+++ b/plugins/XCachePlugin.php
@@ -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;
+ }
+}
+
diff --git a/scripts/console.php b/scripts/console.php
index 329caf472..8b62a3a96 100755
--- a/scripts/console.php
+++ b/scripts/console.php
@@ -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);
diff --git a/scripts/createsim.php b/scripts/createsim.php
index 1266a9700..882d74456 100644
--- a/scripts/createsim.php
+++ b/scripts/createsim.php
@@ -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)
diff --git a/scripts/maildaemon.php b/scripts/maildaemon.php
index b4e4d9f08..3b1ef96a1 100755
--- a/scripts/maildaemon.php
+++ b/scripts/maildaemon.php
@@ -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'));
}
diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh
index 90e7331ca..c790f1f34 100755
--- a/scripts/stopdaemons.sh
+++ b/scripts/stopdaemons.sh
@@ -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
index 000000000..4110660ab
--- /dev/null
+++ b/scripts/updatelocation.php
@@ -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;
+}
diff --git a/theme/base/css/display.css b/theme/base/css/display.css
index 29c7ee963..cdacb9a62 100644
--- a/theme/base/css/display.css
+++ b/theme/base/css/display.css
@@ -554,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 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;
}
-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;
@@ -1295,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;
@@ -1308,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;
@@ -1444,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
index 000000000..8df245699
--- /dev/null
+++ b/theme/base/images/icons/icon_geo.png
Binary files differ
diff --git a/theme/base/images/icons/icons-01.gif b/theme/base/images/icons/icons-01.gif
index 417327881..06202a047 100644
--- a/theme/base/images/icons/icons-01.gif
+++ b/theme/base/images/icons/icons-01.gif
Binary files differ
diff --git a/theme/cloudy/css/display.css b/theme/cloudy/css/display.css
index 3fe05eb3d..726062e47 100644
--- a/theme/cloudy/css/display.css
+++ b/theme/cloudy/css/display.css
@@ -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,43 +1600,172 @@ 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;
}
.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;
}
diff --git a/theme/default/css/display.css b/theme/default/css/display.css
index 50209bfd3..2360976e5 100644
--- a/theme/default/css/display.css
+++ b/theme/default/css/display.css
@@ -111,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,
@@ -121,7 +134,8 @@ color:#002FA7;
}
.notice,
-.profile {
+.profile,
+#content tbody tr {
border-top-color:#C8D1D5;
}
.mark-top {
@@ -177,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;
@@ -239,6 +256,9 @@ background-color:#EFF3DC;
button.close {
background-position:0 -1120px;
}
+button.minimize {
+background-position:0 -1912px;
+}
#anon_notice {
background-color:#87B4C8;
@@ -364,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 {
diff --git a/theme/identica/css/display.css b/theme/identica/css/display.css
index e86ee2437..91af1d8ec 100644
--- a/theme/identica/css/display.css
+++ b/theme/identica/css/display.css
@@ -111,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,
@@ -121,7 +134,8 @@ color:#002FA7;
}
.notice,
-.profile {
+.profile,
+#content tbody tr {
border-top-color:#CEE1E9;
}
.mark-top {
@@ -177,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;
@@ -238,6 +255,9 @@ background-color:#EFF3DC;
button.close {
background-position:0 -1120px;
}
+button.minimize {
+background-position:0 -1912px;
+}
#anon_notice {
background-color:#87B4C8;
@@ -363,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 {