- $msg
- $filename
+StartBlockProfile: when we're about to block
+- $user: the person doing the block
+- $profile: the person getting blocked, can be remote
+
+EndBlockProfile: when a block has succeeded
+- $user: the person doing the block
+- $profile: the person blocked, can be remote
+
+StartUnblockProfile: when we're about to unblock
+- $user: the person doing the unblock
+- $profile: the person getting unblocked, can be remote
+
+EndUnblockProfile: when an unblock has succeeded
+- $user: the person doing the unblock
+- $profile: the person unblocked, can be remote
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
=========
* 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,
return;
}
- if ($this->user->hasBlocked($this->other)
- || $this->user->block($this->other)
- ) {
+ if (!$this->user->hasBlocked($this->other)) {
+ if (Event::handle('StartBlockProfile', array($this->user, $this->other))) {
+ $result = $this->user->block($this->other);
+ if ($result) {
+ Event::handle('EndBlockProfile', array($this->user, $this->other));
+ }
+ }
+ }
+
+ if ($this->user->hasBlocked($this->other)) {
$this->initDocument($this->format);
$this->showProfile($this->other, $this->format);
$this->endDocument($this->format);
return;
}
- if (!$this->user->hasBlocked($this->other)
- || $this->user->unblock($this->other)
- ) {
+ if ($this->user->hasBlocked($this->other)) {
+ if (Event::handle('StartUnblockProfile', array($this->user, $this->other))) {
+ $result = $this->user->unblock($this->other);
+ if ($result) {
+ Event::handle('EndUnblockProfile', array($this->user, $this->other));
+ }
+ }
+ }
+
+ if (!$this->user->hasBlocked($this->other)) {
$this->initDocument($this->format);
$this->showProfile($this->other, $this->format);
$this->endDocument($this->format);
$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.'));
$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;
}
}
- $location = null;
-
- if (!empty($this->lat) && !empty($this->lon)) {
- $location = Location::fromLatLon($this->lat, $this->lon);
- }
-
$upload = null;
try {
$options = array('reply_to' => $reply_to);
- if (!empty($location)) {
- $options['lat'] = $location->lat;
- $options['lon'] = $location->lon;
- $options['location_id'] = $location->location_id;
- $options['location_ns'] = $location->location_ns;
+ if ($this->user->shareLocation()) {
+
+ $locOptions = Notice::locationOptions($this->lat,
+ $this->lon,
+ null,
+ null,
+ $this->user->getProfile());
+
+ $options = array_merge($options, $locOptions);
}
$this->notice =
{
$cur = common_current_user();
- $result = $cur->block($this->profile);
+ if (Event::handle('StartBlockProfile', array($cur, $this->profile))) {
+ $result = $cur->block($this->profile);
+ if ($result) {
+ Event::handle('EndBlockProfile', array($cur, $this->profile));
+ }
+ }
if (!$result) {
$this->serverError(_('Failed to save block information.'));
}
}
}
-
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 ' .
}
$notice = Memcached_DataObject::cachedQuery('Notice',
- sprintf($qry, common_config('popular', 'dropoff')),
+ $qry,
600);
$nl = new NoticeList($notice, $this);
--- /dev/null
+<?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;
+ }
+}
+?>
<?php
/**
- * StatusNet, the distributed open-source microblogging tool
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
*
- * Returns a given file attachment, allowing private sites to only allow
- * access to file attachments after login.
+ * Return a requested file
*
* PHP version 5
*
- * LICENCE: This program is free software: you can redistribute it and/or modify
+ * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
- * @category Personal
+ * @category PrivateAttachments
* @package StatusNet
* @author Jeffery To <jeffery.to@gmail.com>
- * @copyright 2008-2009 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) {
+if (!defined('STATUSNET')) {
exit(1);
}
require_once 'MIME/Type.php';
/**
- * Action for getting a file attachment
+ * An action for returning a requested file
*
- * @category Personal
- * @package StatusNet
- * @author Jeffery To <jeffery.to@gmail.com>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
+ * The StatusNet system will do an implicit user check if the site is
+ * private before allowing this to continue
+ *
+ * @category PrivateAttachments
+ * @package StatusNet
+ * @author Jeffery To <jeffery.to@gmail.com>
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
*/
class GetfileAction extends Action
$path = null;
if ($filename) {
- $path = common_config('attachments', 'dir') . $filename;
+ $path = File::path($filename);
}
if (empty($path) or !file_exists($path)) {
function lastModified()
{
+ if (common_config('site', 'use_x_sendfile')) {
+ return null;
+ }
+
return filemtime($this->path);
}
*
* @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'] . '"';
}
// 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);
+ }
}
}
$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));
}
$replyto = 'false';
}
- $lat = $this->trimmed('lat');
- $lon = $this->trimmed('lon');
- $location_id = $this->trimmed('location_id');
- $location_ns = $this->trimmed('location_ns');
-
- if (!empty($lat) && !empty($lon) && empty($location_id)) {
- $location = Location::fromLatLon($lat, $lon);
- if (!empty($location)) {
- $location_id = $location->location_id;
- $location_ns = $location->location_ns;
- }
- }
-
$upload = null;
$upload = MediaFile::fromUpload('attach');
}
}
- $notice = Notice::saveNew($user->id, $content_shortened, 'web',
- array('reply_to' => ($replyto == 'false') ? null : $replyto,
- 'lat' => $lat,
- 'lon' => $lon,
- 'location_id' => $location_id,
- 'location_ns' => $location_ns));
+ $options = array('reply_to' => ($replyto == 'false') ? null : $replyto);
+
+ if ($user->shareLocation() && $this->arg('notice_data-geo')) {
+
+ $locOptions = Notice::locationOptions($this->trimmed('lat'),
+ $this->trimmed('lon'),
+ $this->trimmed('location_id'),
+ $this->trimmed('location_ns'),
+ $user->getProfile());
+
+ $options = array_merge($options, $locOptions);
+ }
+
+ $notice = Notice::saveNew($user->id, $content_shortened, 'web', $options);
if (isset($upload)) {
$upload->attachToNotice($notice);
($this->arg('location')) ? $this->arg('location') : $profile->location,
_('Where you are, like "City, State (or Region), Country"'));
$this->elementEnd('li');
+ if (common_config('location', 'share') == 'user') {
+ $this->elementStart('li');
+ $this->checkbox('sharelocation', _('Share my current location when posting notices'),
+ ($this->arg('sharelocation')) ?
+ $this->arg('sharelocation') : $user->shareLocation());
+ $this->elementEnd('li');
+ }
Event::handle('EndProfileFormData', array($this));
$this->elementStart('li');
$this->input('tags', _('Tags'),
$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;
$profile->profileurl = common_profile_url($nickname);
+ if (common_config('location', 'share') == 'user') {
+
+ $exists = false;
+
+ $prefs = User_location_prefs::staticGet('user_id', $user->id);
+
+ if (empty($prefs)) {
+ $prefs = new User_location_prefs();
+
+ $prefs->user_id = $user->id;
+ $prefs->created = common_sql_now();
+ } else {
+ $exists = true;
+ $orig = clone($prefs);
+ }
+
+ $prefs->share_location = $this->boolean('sharelocation');
+
+ if ($exists) {
+ $result = $prefs->update($orig);
+ } else {
+ $result = $prefs->insert();
+ }
+
+ if ($result === false) {
+ common_log_db_error($prefs, ($exists) ? 'UPDATE' : 'INSERT', __FILE__);
+ $this->serverError(_('Couldn\'t save location prefs.'));
+ return;
+ }
+ }
+
common_debug('Old profile: ' . common_log_objstring($orig_profile), __FILE__);
common_debug('New profile: ' . common_log_objstring($profile), __FILE__);
#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');
$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');
$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;
}
$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();
function handlePost()
{
- $cur = common_current_user();
- $result = $cur->unblock($this->profile);
+ $cur = common_current_user();
+
+ $result = false;
+
+ if (Event::handle('StartUnblockProfile', array($cur, $this->profile))) {
+ $result = $cur->unblock($this->profile);
+ if ($result) {
+ Event::handle('EndUnblockProfile', array($cur, $this->profile));
+ }
+ }
+
if (!$result) {
$this->serverError(_('Error removing the block.'));
return;
--- /dev/null
+<?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');
+}
}
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Avatar', $kv);
}
if (!empty($c)) {
$settings = $c->get(common_cache_key(self::settingsKey));
- if (!empty($settings)) {
+ if ($settings !== false) {
return $settings;
}
}
return $result;
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Config', $kv);
}
return $fave;
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Fave', $kv);
}
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(){
}
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('File_to_post', $kv);
}
/* 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);
}
/* 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);
}
/* 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);
}
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
-
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.
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;
}
$i->encache();
} else {
$i = null;
+ $c = self::memcache();
+ if (!empty($c)) {
+ $ck = self::multicacheKey($cls, $kv);
+ $c->set($ck, null);
+ }
}
return $i;
}
function insert()
{
$result = parent::insert();
+ if ($result) {
+ $this->encache(); // in case of cached negative lookups
+ }
return $result;
}
}
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()));
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();
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';
$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);
}
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)
extract($options);
}
- if (empty($is_local)) {
+ if (!isset($is_local)) {
$is_local = Notice::LOCAL_PUBLIC;
}
if (!empty($lat) && !empty($lon)) {
$notice->lat = $lat;
$notice->lon = $lon;
+ }
+
+ if (!empty($location_ns) && !empty($location_id)) {
$notice->location_id = $location_id;
$notice->location_ns = $location_ns;
- } else if (!empty($location_ns) && !empty($location_id)) {
- $location = Location::fromId($location_id, $location_ns);
- if (!empty($location)) {
- $notice->lat = $location->lat;
- $notice->lon = $location->lon;
- $notice->location_id = $location_id;
- $notice->location_ns = $location_ns;
- }
- } else {
- $notice->lat = $profile->lat;
- $notice->lon = $profile->lon;
- $notice->location_id = $profile->location_id;
- $notice->location_ns = $profile->location_ns;
}
if (Event::handle('StartNoticeSave', array(&$notice))) {
$xs->element('id', null, $this->uri);
$xs->element('published', null, common_date_w3dtf($this->created));
- $xs->element('updated', null, common_date_w3dtf($this->modified));
+ $xs->element('updated', null, common_date_w3dtf($this->created));
if ($this->reply_to) {
$reply_notice = Notice::staticGet('id', $this->reply_to);
$idstr = $cache->get($idkey);
- if (!empty($idstr)) {
+ if ($idstr !== false) {
// Cache hit! Woohoo!
$window = explode(',', $idstr);
$ids = array_slice($window, $offset, $limit);
$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,
{
$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));
}
$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);
return $ids;
}
+
+ function locationOptions($lat, $lon, $location_id, $location_ns, $profile = null)
+ {
+ $options = array();
+
+ if (!empty($location_id) && !empty($location_ns)) {
+
+ $options['location_id'] = $location_id;
+ $options['location_ns'] = $location_ns;
+
+ $location = Location::fromId($location_id, $location_ns);
+
+ if (!empty($location)) {
+ $options['lat'] = $location->lat;
+ $options['lon'] = $location->lon;
+ }
+
+ } else if (!empty($lat) && !empty($lon)) {
+
+ $options['lat'] = $lat;
+ $options['lon'] = $lon;
+
+ $location = Location::fromLatLon($lat, $lon);
+
+ if (!empty($location)) {
+ $options['location_id'] = $location->location_id;
+ $options['location_ns'] = $location->location_ns;
+ }
+ } else if (!empty($profile)) {
+
+ if (isset($profile->lat) && isset($profile->lon)) {
+ $options['lat'] = $profile->lat;
+ $options['lon'] = $profile->lon;
+ }
+
+ if (isset($profile->location_id) && isset($profile->location_ns)) {
+ $options['location_id'] = $profile->location_id;
+ $options['location_ns'] = $profile->location_ns;
+ }
+ }
+
+ return $options;
+ }
}
return $ids;
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Notice_inbox', $kv);
}
+ /**
+ * Trim inbox for a given user to latest NOTICE_INBOX_LIMIT items
+ * (up to NOTICE_INBOX_GC_MAX will be deleted).
+ *
+ * @param int $user_id
+ * @return int count of notices dropped from the inbox, if any
+ */
static function gc($user_id)
{
$entry = new Notice_inbox();
$notices = array();
}
}
+
+ return $total;
}
static function deleteMatching($user_id, $notices)
}
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Notice_tag', $kv);
}
'Reply',
'Group_member',
);
+ Event::handle('ProfileDeleteRelated', array($this, &$related));
foreach ($related as $cls) {
$inst = new $cls();
/* 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);
}
return null;
}
- function &pkeyGet($kv)
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Queue_item', $kv);
}
/* 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);
}
// Cancel their subscription, if it exists
- subs_unsubscribe_to($other->getUser(),$this->getProfile());
+ $otherUser = User::staticGet('id', $other->id);
+
+ if (!empty($otherUser)) {
+ subs_unsubscribe_to($otherUser, $this->getProfile());
+ }
$block->query('COMMIT');
return $ids;
}
+
+ function shareLocation()
+ {
+ $cfg = common_config('location', 'share');
+
+ if ($cfg == 'always') {
+ return true;
+ } else if ($cfg == 'never') {
+ return false;
+ } else { // user
+ $share = true;
+
+ $prefs = User_location_prefs::staticGet('user_id', $this->id);
+
+ if (empty($prefs)) {
+ $share = common_config('location', 'sharedefault');
+ } else {
+ $share = $prefs->share_location;
+ $prefs->free();
+ }
+
+ return $share;
+ }
+ }
}
--- /dev/null
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Data class for user location preferences
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+
+class User_location_prefs extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'user_location_prefs'; // table name
+ public $user_id; // int(4) primary_key not_null
+ public $share_location; // tinyint(1) default_1
+ public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
+ public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_location_prefs',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+}
--- /dev/null
+<?php
+/**
+ * Table Definition for user_username
+ */
+require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+
+class User_username extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'user_username'; // table name
+ public $user_id; // int(4) not_null
+ public $provider_name; // varchar(255) primary_key not_null
+ public $username; // varchar(255) primary_key not_null
+ public $created; // datetime() not_null
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
+
+ /* Static get */
+ function staticGet($k,$v=null)
+ { return Memcached_DataObject::staticGet('User_username',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+
+ /**
+ * Register a user with a username on a given provider
+ * @param User User object
+ * @param string username on the given provider
+ * @param provider_name string name of the provider
+ * @return mixed User_username instance if the registration succeeded, false if it did not
+ */
+ static function register($user, $username, $provider_name)
+ {
+ $user_username = new User_username();
+ $user_username->user_id = $user->id;
+ $user_username->provider_name = $provider_name;
+ $user_username->username = $username;
+ $user_username->created = DB_DataObject_Cast::dateTime();
+ if($user_username->insert()){
+ return $user_username;
+ }else{
+ return false;
+ }
+ }
+
+ function table() {
+ return array(
+ 'user_id' => DB_DATAOBJECT_INT,
+ 'username' => DB_DATAOBJECT_STR,
+ 'provider_name' => DB_DATAOBJECT_STR ,
+ 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
+ );
+ }
+
+ // now define the keys.
+ function keys() {
+ return array('provider_name', 'username');
+ }
+
+}
-
[avatar]
profile_id = 129
original = 17
[file__keys]
id = N
+url = U
[file_oembed]
file_id = 129
[user_openid__keys]
trustroot = K
-user_id = K
\ No newline at end of file
+user_id = K
+
+[user_location_prefs]
+user_id = 129
+share_location = 17
+created = 142
+modified = 384
+
+[user_location_prefs__keys]
+user_id = K
+
// 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';
// $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/';
constraint primary key (user_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table user_location_prefs (
+ user_id integer not null comment 'user who has the preference' references user (id),
+ share_location tinyint default 1 comment 'Whether to share location data',
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified',
+
+ constraint primary key (user_id)
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
constraint primary key (user_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+create table user_location_prefs (
+ user_id integer not null comment 'user who has the preference' references user (id),
+ share_location tinyint default 1 comment 'Whether to share location data',
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified',
+
+ constraint primary key (user_id)
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
--- /dev/null
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+\f
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+\f
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+\f
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+\f
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+\f
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+\f
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+\f
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+\f
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
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]
<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>
-// A shim to implement the W3C Geolocation API Specification using Gears or the Ajax API
+// A shim to implement the W3C Geolocation API Specification using Gears
if (typeof navigator.geolocation == "undefined" || navigator.geolocation.shim ) (function(){
// -- BEGIN GEARS_INIT
};
});
-var AjaxGeoLocation = (function() {
- // -- PRIVATE
- var loading = false;
- var loadGoogleLoader = function() {
- if (!hasGoogleLoader() && !loading) {
- loading = true;
- var s = document.createElement('script');
- s.src = (document.location.protocol == "https:"?"https://":"http://") + 'www.google.com/jsapi?callback=_google_loader_apiLoaded';
- s.type = "text/javascript";
- document.getElementsByTagName('body')[0].appendChild(s);
- }
- };
-
- var queue = [];
- var addLocationQueue = function(callback) {
- queue.push(callback);
- }
-
- var runLocationQueue = function() {
- if (hasGoogleLoader()) {
- while (queue.length > 0) {
- var call = queue.pop();
- call();
- }
- }
- }
-
- window['_google_loader_apiLoaded'] = function() {
- runLocationQueue();
- }
-
- var hasGoogleLoader = function() {
- return (window['google'] && google['loader']);
- }
-
- var checkGoogleLoader = function(callback) {
- if (hasGoogleLoader()) return true;
-
- addLocationQueue(callback);
-
- loadGoogleLoader();
-
- return false;
- };
-
- loadGoogleLoader(); // start to load as soon as possible just in case
-
- // -- PUBLIC
- return {
- shim: true,
-
- type: "ClientLocation",
-
- lastPosition: null,
-
- getCurrentPosition: function(successCallback, errorCallback, options) {
- var self = this;
- if (!checkGoogleLoader(function() {
- self.getCurrentPosition(successCallback, errorCallback, options);
- })) return;
-
- if (google.loader.ClientLocation) {
- var cl = google.loader.ClientLocation;
-
- var position = {
- coords: {
- latitude: cl.latitude,
- longitude: cl.longitude,
- altitude: null,
- accuracy: 43000, // same as Gears accuracy over wifi?
- altitudeAccuracy: null,
- heading: null,
- speed: null,
- },
- // extra info that is outside of the bounds of the core API
- address: {
- city: cl.address.city,
- country: cl.address.country,
- country_code: cl.address.country_code,
- region: cl.address.region
- },
- timestamp: new Date()
- };
-
- successCallback(position);
-
- this.lastPosition = position;
- } else if (errorCallback === "function") {
- errorCallback({ code: 3, message: "Using the Google ClientLocation API and it is not able to calculate a location."});
- }
- },
-
- watchPosition: function(successCallback, errorCallback, options) {
- this.getCurrentPosition(successCallback, errorCallback, options);
-
- var self = this;
- var watchId = setInterval(function() {
- self.getCurrentPosition(successCallback, errorCallback, options);
- }, 10000);
-
- return watchId;
- },
-
- clearWatch: function(watchId) {
- clearInterval(watchId);
- },
-
- getPermission: function(siteName, imageUrl, extraMessage) {
- // for now just say yes :)
- return true;
- }
-
- };
-});
-
-// If you have Gears installed use that, else use Ajax ClientLocation
-navigator.geolocation = (window.google && google.gears) ? GearsGeoLocation() : AjaxGeoLocation();
+// If you have Gears installed use that
+if (window.google && google.gears) {
+ navigator.geolocation = GearsGeoLocation();
+}
})();
--- /dev/null
+/**
+ * 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
--- /dev/null
+/*
+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');};}}());
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'
}
},
},
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;
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) {
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);
}
});
},
$('#'+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+'">_</button> <button class="close" title="'+NoticeDataGeoShareDisable_text+'">×</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() {
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();
}
},
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));
}
_('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')),
if (!common_logged_in()) {
$this->clientError(_('Not logged in.'));
- return;
+ return false;
}
$user = common_current_user();
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;
$this->clientError(_('saveSettings() not implemented.'));
return;
}
-
+
/**
* Delete a design setting
*
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'));
+ }
}
--- /dev/null
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Superclass for plugins that do authentication and/or authorization
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+/**
+ * Superclass for plugins that do authentication
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+abstract class AuthenticationPlugin extends Plugin
+{
+ //is this plugin authoritative for authentication?
+ public $authoritative = false;
+
+ //should accounts be automatically created after a successful login attempt?
+ public $autoregistration = false;
+
+ //can the user change their email address
+ public $password_changeable=true;
+
+ //unique name for this authentication provider
+ public $provider_name;
+
+ //------------Auth plugin should implement some (or all) of these methods------------\\
+ /**
+ * Check if a nickname/password combination is valid
+ * @param username
+ * @param password
+ * @return boolean true if the credentials are valid, false if they are invalid.
+ */
+ function checkPassword($username, $password)
+ {
+ return false;
+ }
+
+ /**
+ * Automatically register a user when they attempt to login with valid credentials.
+ * User::register($data) is a very useful method for this implementation
+ * @param username
+ * @return mixed instance of User, or false (if user couldn't be created)
+ */
+ function autoRegister($username)
+ {
+ $registration_data = array();
+ $registration_data['nickname'] = $username ;
+ return User::register($registration_data);
+ }
+
+ /**
+ * Change a user's password
+ * The old password has been verified to be valid by this plugin before this call is made
+ * @param username
+ * @param oldpassword
+ * @param newpassword
+ * @return boolean true if the password was changed, false if password changing failed for some reason
+ */
+ function changePassword($username,$oldpassword,$newpassword)
+ {
+ return false;
+ }
+
+ //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
+ function onInitializePlugin(){
+ if(!isset($this->provider_name)){
+ throw new Exception("must specify a provider_name for this authentication provider");
+ }
+ }
+
+ /**
+ * Internal AutoRegister event handler
+ * @param nickname
+ * @param provider_name
+ * @param user - the newly registered user
+ */
+ function onAutoRegister($nickname, $provider_name, &$user)
+ {
+ if($provider_name == $this->provider_name && $this->autoregistration){
+ $user = $this->autoregister($nickname);
+ if($user){
+ User_username::register($user,$nickname,$this->provider_name);
+ return false;
+ }
+ }
+ }
+
+ function onStartCheckPassword($nickname, $password, &$authenticatedUser){
+ //map the nickname to a username
+ $user_username = new User_username();
+ $user_username->username=$nickname;
+ $user_username->provider_name=$this->provider_name;
+ if($user_username->find() && $user_username->fetch()){
+ $username = $user_username->username;
+ $authenticated = $this->checkPassword($username, $password);
+ if($authenticated){
+ $authenticatedUser = User::staticGet('id', $user_username->user_id);
+ return false;
+ }
+ }else{
+ $user = User::staticGet('nickname', $nickname);
+ if($user){
+ //make sure a different provider isn't handling this nickname
+ $user_username = new User_username();
+ $user_username->username=$nickname;
+ if(!$user_username->find()){
+ //no other provider claims this username, so it's safe for us to handle it
+ $authenticated = $this->checkPassword($nickname, $password);
+ if($authenticated){
+ $authenticatedUser = User::staticGet('nickname', $nickname);
+ User_username::register($authenticatedUser,$nickname,$this->provider_name);
+ return false;
+ }
+ }
+ }else{
+ $authenticated = $this->checkPassword($nickname, $password);
+ if($authenticated){
+ if(! Event::handle('AutoRegister', array($nickname, $this->provider_name, &$authenticatedUser))){
+ //unlike most Event::handle lines of code, this one has a ! (not)
+ //we want to do this if the event *was* handled - this isn't a "default" implementation
+ //like most code of this form.
+ if($authenticatedUser){
+ return false;
+ }
+ }
+ }
+ }
+ }
+ if($this->authoritative){
+ return false;
+ }else{
+ //we're not authoritative, so let other handlers try
+ return;
+ }
+ }
+
+ function onStartChangePassword($user,$oldpassword,$newpassword)
+ {
+ if($this->password_changeable){
+ $user_username = new User_username();
+ $user_username->user_id=$user->id;
+ $user_username->provider_name=$this->provider_name;
+ if($user_username->find() && $user_username->fetch()){
+ $authenticated = $this->checkPassword($user_username->username, $oldpassword);
+ if($authenticated){
+ $result = $this->changePassword($user_username->username,$oldpassword,$newpassword);
+ if($result){
+ //stop handling of other handlers, because what was requested was done
+ return false;
+ }else{
+ throw new Exception(_('Password changing failed'));
+ }
+ }else{
+ if($this->authoritative){
+ //since we're authoritative, no other plugin could do this
+ throw new Exception(_('Password changing failed'));
+ }else{
+ //let another handler try
+ return null;
+ }
+ }
+ }
+ }else{
+ if($this->authoritative){
+ //since we're authoritative, no other plugin could do this
+ throw new Exception(_('Password changing is not allowed'));
+ }
+ }
+ }
+
+ function onStartAccountSettingsPasswordMenuItem($widget)
+ {
+ if($this->authoritative && !$this->password_changeable){
+ //since we're authoritative, no other plugin could change passwords, so do not render the menu item
+ return false;
+ }
+ }
+
+ function onCheckSchema() {
+ $schema = Schema::get();
+ $schema->ensureTable('user_username',
+ array(new ColumnDef('provider_name', 'varchar',
+ '255', false, 'PRI'),
+ new ColumnDef('username', 'varchar',
+ '255', false, 'PRI'),
+ new ColumnDef('user_id', 'integer',
+ null, false),
+ new ColumnDef('created', 'datetime',
+ null, false),
+ new ColumnDef('modified', 'timestamp')));
+ return true;
+ }
+
+ function onUserDeleteRelated($user, &$tables)
+ {
+ $tables[] = 'User_username';
+ return true;
+ }
+}
+
--- /dev/null
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Superclass for plugins that do authorization
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+/**
+ * Superclass for plugins that do authorization
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+abstract class AuthorizationPlugin extends Plugin
+{
+ //is this plugin authoritative for authorization?
+ public $authoritative = false;
+
+ //------------Auth plugin should implement some (or all) of these methods------------\\
+
+ /**
+ * Is a user allowed to log in?
+ * @param user
+ * @return boolean true if the user is allowed to login, false if explicitly not allowed to login, null if we don't explicitly allow or deny login
+ */
+ function loginAllowed($user) {
+ return null;
+ }
+
+ /**
+ * Does a profile grant the user a named role?
+ * @param profile
+ * @return boolean true if the profile has the role, false if not
+ */
+ function hasRole($profile, $name) {
+ return false;
+ }
+
+ //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
+
+ function onStartSetUser(&$user) {
+ $loginAllowed = $this->loginAllowed($user);
+ if($loginAllowed === true){
+ return;
+ }else if($loginAllowed === false){
+ $user = null;
+ return false;
+ }else{
+ if($this->authoritative) {
+ $user = null;
+ return false;
+ }else{
+ return;
+ }
+ }
+ }
+
+ function onStartSetApiUser(&$user) {
+ return $this->onStartSetUser(&$user);
+ }
+
+ function onStartHasRole($profile, $name, &$has_role) {
+ if($this->hasRole($profile, $name)){
+ $has_role = true;
+ return false;
+ }else{
+ if($this->authoritative) {
+ $has_role = false;
+ return false;
+ }else{
+ return;
+ }
+ }
+ }
+}
+
--- /dev/null
+<?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;
+ }
+}
* @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,
$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')) {
}
}
+// 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.
'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',
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' =>
'message' =>
array('contentlimit' => null),
'location' =>
- array('namespace' => 1), // 1 = geonames, 2 = Yahoo Where on Earth
+ array('share' => 'user', // whether to share location; 'always', 'user', 'never'
+ 'sharedefault' => true),
'omb' =>
array('timeout' => 5), // HTTP request timeout in seconds when contacting remote hosts for OMB updates
'logincommand' =>
array('disabled' => true),
+ 'plugins' =>
+ array('default' => array('LilUrl' => array('shortenerName'=>'ur1.ca',
+ 'freeService' => true,
+ 'serviceUrl'=>'http://ur1.ca/'),
+ 'PtitUrl' => array('shortenerName' => 'ptiturl.com',
+ 'serviceUrl' => 'http://ptiturl.com/?creer=oui&action=Reduire&url=%1$s'),
+ 'SimpleUrl' => array(array('shortenerName' => 'is.gd', 'serviceUrl' => 'http://is.gd/api.php?longurl=%1$s'),
+ array('shortenerName' => 'snipr.com', 'serviceUrl' => 'http://snipr.com/site/snip?r=simple&link=%1$s'),
+ array('shortenerName' => 'metamark.net', 'serviceUrl' => 'http://metamark.net/api/rest/simple?long_url=%1$s'),
+ array('shortenerName' => 'tinyurl.com', 'serviceUrl' => 'http://tinyurl.com/api-create.php?url=%1$s')),
+ 'TightUrl' => array('shortenerName' => '2tu.us', 'freeService' => true,'serviceUrl'=>'http://2tu.us/?save=y&url=%1$s'),
+ 'Geonames' => null,
+ 'Mapstraction' => null,
+ 'Linkback' => null,
+ 'WikiHashtags' => null,
+ 'OpenID' => null),
+ ),
+ 'admin' =>
+ array('panels' => array('design', 'site', 'user', 'paths')),
);
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();
$tag = Memcached_DataObject::cachedQuery('Notice_tag',
sprintf($qry,
- common_config('tag', 'dropoff'),
$this->group->id,
$namestring),
3600);
{
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;
}
// 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) {
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);
--- /dev/null
+<?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);
+ }
+}
$this->user = common_current_user();
}
+ $this->profile = $this->user->getProfile();
+
if (common_config('attachments', 'uploads')) {
$this->enctype = 'multipart/form-data';
}
$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));
}
}
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();
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{
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 ' .
$tag = Memcached_DataObject::cachedQuery('Notice_tag',
sprintf($qry,
- common_config('tag', 'dropoff'),
$this->user->id),
3600);
return $tag;
function ping_broadcast_notice($notice) {
- if (!$notice->is_local) {
+ if ($notice->is_local != Notice::LOCAL_PUBLIC && $notice->is_local != Notice::LOCAL_NONPUBLIC) {
return true;
}
return implode('|', $tags);
}
return NULL;
-}
\ No newline at end of file
+}
{
$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;
+ }
}
{
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 ' .
$qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
$notice = Memcached_DataObject::cachedQuery('Notice',
- sprintf($qry, common_config('popular', 'dropoff')),
+ $qry,
1200);
return $notice;
}
'sandbox', 'unsandbox',
'silence', 'unsilence',
'repeat',
- 'deleteuser');
+ 'deleteuser',
+ 'geocode',
+ 'version',
+ );
foreach ($main as $a) {
$m->connect('main/'.$a, array('action' => $a));
} else {
$sql .= ($cd->nullable) ? "null " : "not null ";
}
+
+ if (!empty($cd->auto_increment)) {
+ $sql .= " auto_increment ";
+ }
+
+ if (!empty($cd->extra)) {
+ $sql .= "{$cd->extra} ";
+ }
return $sql;
}
// 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');
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",
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)
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-25 09:42:09+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 (r60380); 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"
#: 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
msgstr "ليس للمستخدم ملف شخصي."
#: actions/apiaccountupdateprofile.php:147
-#, fuzzy
msgid "Could not save profile."
-msgstr "تعذّر حفظ الملف الشخصي."
+msgstr "لم يمكن حفظ الملف."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97
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 "فشل إلغاء منع المستخدم."
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 حرفًا)"
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 ""
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 ""
msgstr "عاين"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "امنع هذا المستخدم"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "تعذّر تحديث المستخدم."
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 "احذف هذا الإشعار"
#: 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
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 "إداري"
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 "خطأ أثناء منع الحجب."
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 "أرسل"
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 "لُج"
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 "خطأ أجاكس"
msgid "New notice"
msgstr "إشعار جديد"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "حُفظت الإعدادات."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "سجّل"
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 "مكرر"
#: actions/tagother.php:141
msgid "Tag user"
-msgstr ""
+msgstr "اوسم المستخدم"
#: actions/tagother.php:151
msgid ""
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"
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."
"**%%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 %"
"المتوفر تحت [رخصة غنو أفيرو العمومية](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 ""
msgid "Tags for this attachment"
msgstr "وسوم هذا المرفق"
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "تغيير كلمة السر"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "تغيير كلمة السر"
+
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
msgstr "نتائج الأمر"
#: lib/command.php:427
msgid "Already repeated that notice"
-msgstr "كرر بالفعل هذه الإشعار"
+msgstr "كرر بالفعل هذا الإشعار"
#: lib/command.php:435
#, php-format
#: lib/imagefile.php:217
msgid "MB"
-msgstr ""
+msgstr "ميجابايت"
#: lib/imagefile.php:219
msgid "kB"
-msgstr ""
+msgstr "كيلوبايت"
#: lib/jabber.php:191
#, php-format
"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 "من"
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 "الإشعار مكرر"
msgstr "مشهورة"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "كرر هذا الإشعار"
+msgstr "كرر هذا الإشعار؟"
#: lib/repeatform.php:132
msgid "Repeat this notice"
msgstr ""
#: lib/subs.php:128
-#, fuzzy
msgid "Not subscribed!"
-msgstr "لست مُشتركًا!"
+msgstr "غير مشترك!"
#: lib/subs.php:133
msgid "Couldn't delete self-subscription."
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-25 09:42:12+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 (r60380); 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"
#: 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
msgstr "ليس للمستخدم ملف شخصى."
#: actions/apiaccountupdateprofile.php:147
-#, fuzzy
msgid "Could not save profile."
-msgstr "تعذّر حفظ الملف الشخصى."
+msgstr "لم يمكن حفظ الملف."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97
msgstr "تعذّر تحديث تصميمك."
#: actions/apiblockcreate.php:105
-#, fuzzy
msgid "You cannot block yourself!"
-msgstr "لا يمكنك حذف المستخدمين."
+msgstr "لا يمكنك منع نفسك!"
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
msgid "Block user failed."
msgstr "فشل منع المستخدم."
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
msgid "Unblock user failed."
msgstr "فشل إلغاء منع المستخدم."
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 حرفًا)"
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 ""
msgstr "لا إشعار كهذا."
#: actions/apistatusesretweet.php:83
-#, fuzzy
msgid "Cannot repeat your own notice."
-msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 إسÙ\83ات اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 عÙ\84Ù\89 Ù\87ذا اÙ\84Ù\85Ù\88Ù\82ع."
+msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 تÙ\83رار Ù\85Ù\84ØÙ\88ظتÙ\83 اÙ\84خاصÙ\87."
#: actions/apistatusesretweet.php:91
-#, fuzzy
msgid "Already repeated that notice."
-msgstr "احذف هذا الإشعار"
+msgstr "كرر بالفعل هذه الملاحظه."
#: actions/apistatusesshow.php:138
msgid "Status deleted."
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 ""
msgstr ""
#: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
msgid "Repeated to %s"
-msgstr "الردود على %s"
+msgstr "كرر إلى %s"
#: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
msgid "Repeats of %s"
-msgstr "اÙ\84ردÙ\88د عÙ\84Ù\89 %s"
+msgstr "تÙ\83رارات %s"
#: actions/apitimelinetag.php:102 actions/tag.php:66
#, php-format
msgstr "عاين"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "امنع هذا المستخدم"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "تعذّر تحديث المستخدم."
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 "احذف هذا الإشعار"
#: 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
msgstr "مستخدمون مختارون، صفحه %d"
#: actions/featured.php:99
-#, fuzzy, php-format
+#, php-format
msgid "A selection of some great users on %s"
-msgstr "قسم للمستخدمين المتميزين على %s"
+msgstr "اختيار لبعض المستخدمين المتميزين على %s"
#: actions/file.php:34
-#, fuzzy
msgid "No notice ID."
-msgstr "Ù\84ا إشعار"
+msgstr "Ù\84ا رÙ\82Ù\85 Ù\85Ù\84اØظÙ\87."
#: actions/file.php:38
-#, fuzzy
msgid "No notice."
-msgstr "لا إشعار"
+msgstr "لا ملاحظه."
#: actions/file.php:42
-#, fuzzy
msgid "No attachments."
-msgstr "لا مرفقات"
+msgstr "لا مرفقات."
#: actions/file.php:51
-#, fuzzy
msgid "No uploaded attachments."
-msgstr "لا مرفقات مرفوعة"
+msgstr "لا مرفقات مرفوعه."
#: actions/finishremotesubscribe.php:69
msgid "Not expecting this response!"
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 "إداري"
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 "خطأ أثناء منع الحجب."
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 "أرسل"
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 "لُج"
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 "خطأ أجاكس"
msgid "New notice"
msgstr "إشعار جديد"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "حُفظت الإعدادات."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "سجّل"
msgstr ""
#: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
msgid "No notice specified."
-msgstr "لا ملف شخصى مُحدّد."
+msgstr "لا ملاحظه محدده."
#: actions/repeat.php:76
-#, fuzzy
msgid "You can't repeat your own notice."
-msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 إسÙ\83ات اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 عÙ\84Ù\89 Ù\87ذا اÙ\84Ù\85Ù\88Ù\82ع."
+msgstr "Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\83 تÙ\83رار Ù\85Ù\84اØظتÙ\83 اÙ\84شخصÙ\8aÙ\87."
#: actions/repeat.php:90
-#, fuzzy
msgid "You already repeated that notice."
-msgstr "لقد منعت مسبقا هذا المستخدم."
+msgstr "أنت كررت هذه الملاحظه بالفعل."
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
msgid "Repeated"
-msgstr "أنشئ"
+msgstr "مكرر"
#: actions/repeat.php:119
-#, fuzzy
msgid "Repeated!"
-msgstr "أنشئ"
+msgstr "مكرر!"
#: actions/replies.php:125 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
msgstr ""
#: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
msgid "Repeat of %s"
-msgstr "اÙ\84ردÙ\88د عÙ\84Ù\89 %s"
+msgstr "تÙ\83رارات %s"
#: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site."
msgstr "أأمنع المستخدمين المجهولين (غير الوالجين) من عرض الموقع؟"
#: actions/siteadminpanel.php:327
-#, fuzzy
msgid "Invite only"
-msgstr "ادعÙ\8f"
+msgstr "باÙ\84دعÙ\88Ù\87 Ù\81Ù\82Ø·"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
msgstr ""
#: actions/tagother.php:39
-#, fuzzy
msgid "No ID argument."
-msgstr "لا مُدخل هويه."
+msgstr "لا مدخل هويه."
#: actions/tagother.php:65
#, php-format
#: actions/tagother.php:141
msgid "Tag user"
-msgstr ""
+msgstr "اوسم المستخدم"
#: actions/tagother.php:151
msgid ""
msgstr "لم تمنع هذا المستخدم."
#: actions/unsandbox.php:72
-#, fuzzy
msgid "User is not sandboxed."
-msgstr "ليس للمستخدم إشعار أخير"
+msgstr "المستخدم ليس فى صندوق الرمل."
#: actions/unsilence.php:72
msgid "User is not silenced."
msgstr ""
#: actions/userbyid.php:70
-#, fuzzy
msgid "No ID."
-msgstr "لا هوية"
+msgstr "لا هويه."
#: actions/userdesignsettings.php:76 lib/designsettings.php:65
msgid "Profile design"
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
msgid "Problem saving notice."
msgstr "مشكله أثناء حفظ الإشعار."
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1371
-#, fuzzy, php-format
+#: classes/Notice.php:1361
+#, php-format
msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "آر تى @%1$s %2$s"
#: classes/User.php:368
#, php-format
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."
"**%%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 %"
"المتوفر تحت [رخصه غنو أفيرو العمومية](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 ""
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 "نتائج الأمر"
msgstr ""
#: lib/command.php:427
-#, fuzzy
msgid "Already repeated that notice"
-msgstr "احذف هذا الإشعار"
+msgstr "كرر بالفعل هذا الإشعار"
#: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
msgid "Notice from %s repeated"
-msgstr "Ø£Ù\8fرسÙ\84 اÙ\84إشعار"
+msgstr "اÙ\84إشعار Ù\85Ù\86 %s Ù\85Ù\83رر"
#: lib/command.php:437
-#, fuzzy
msgid "Error repeating notice."
-msgstr "خطأ أثÙ\86اء ØÙ\81ظ الإشعار."
+msgstr "خطأ تÙ\83رار الإشعار."
#: lib/command.php:491
#, php-format
#: lib/command.php:664
#, php-format
msgid "Could not create login token for %s"
-msgstr ""
+msgstr "لم يمكن إنشاء توكن الولوج ل%s"
#: lib/command.php:669
#, php-format
#: lib/imagefile.php:217
msgid "MB"
-msgstr ""
+msgstr "ميجابايت"
#: lib/imagefile.php:219
msgid "kB"
-msgstr ""
+msgstr "كيلوبايت"
#: lib/jabber.php:191
#, php-format
"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 "من"
msgid "To"
msgstr "إلى"
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
msgid "Available characters"
msgstr "المحارف المتوفرة"
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "أرسل إشعارًا"
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
#, php-format
msgid "What's up, %s?"
msgstr "ما الأخبار يا %s؟"
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
msgid "Attach"
msgstr "أرفق"
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
msgid "Attach a file"
msgstr "أرفق ملفًا"
-#: lib/noticelist.php:420
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr ""
+
+#: lib/noticelist.php:428
#, php-format
msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgstr ""
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
msgid "N"
msgstr "ش"
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
msgid "S"
msgstr "ج"
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
msgid "E"
msgstr "ر"
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
msgid "W"
msgstr "غ"
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
msgid "at"
msgstr "في"
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
msgid "in context"
msgstr "فى السياق"
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
msgid "Repeated by"
-msgstr "أنشئ"
+msgstr "مكرر بواسطة"
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
msgid "Reply to this notice"
msgstr "رُد على هذا الإشعار"
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
msgid "Reply"
msgstr "رُد"
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
msgid "Notice repeated"
-msgstr "ØÙ\8fØ°Ù\81 اÙ\84إشعار."
+msgstr "اÙ\84إشعار Ù\85Ù\83رر"
#: lib/nudgeform.php:116
msgid "Nudge this user"
msgstr "كل المجموعات"
#: lib/profileformaction.php:123
-#, fuzzy
msgid "No return-to arguments."
-msgstr "لا مُدخل هويه."
+msgstr "لا مدخلات رجوع إلى."
#: lib/profileformaction.php:137
msgid "Unimplemented method."
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 ""
#: lib/sandboxform.php:78
-#, fuzzy
msgid "Sandbox this user"
-msgstr "ألغِ منع هذا المستخدم"
+msgstr "أضف هذا المستخدم إلى صندوق الرمل"
#: lib/searchaction.php:120
msgid "Search site"
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 ""
#: lib/unsandboxform.php:80
-#, fuzzy
msgid "Unsandbox this user"
-msgstr "ألغِ منع هذا المستخدم"
+msgstr "أزل هذا المستخدم من صندوق الرمل"
#: lib/unsilenceform.php:67
msgid "Unsilence"
# 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.
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-25 09:42:15+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 (r60380); 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"
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 "Грешка при разблокиране на потребителя."
msgstr "Грешка при изтегляне на общия поток"
#: actions/apifriendshipsshow.php:143
-#, fuzzy
msgid "Could not find target user."
-msgstr "Ð\9dе Ñ\81а оÑ\82кÑ\80иÑ\82и бележки."
+msgstr "ЦелевиÑ\8fÑ\82 поÑ\82Ñ\80ебиÑ\82ел не беÑ\88е оÑ\82кÑ\80иÑ\82."
#: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
"между тях."
#: 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 знака)"
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 знака)."
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 ""
msgstr "Преглед"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "Блокиране на потребителя"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "Грешка при обновяване на потребителя."
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 "Изтриване на бележката"
#: 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
msgstr "Липсва бележка."
#: actions/file.php:42
-#, fuzzy
msgid "No attachments."
-msgstr "Няма такъв документ."
+msgstr "Няма прикачени файлове."
#: actions/file.php:51
#, fuzzy
msgstr "Само администратор може да блокира членове от групата."
#: actions/groupblock.php:95
-#, fuzzy
msgid "User is already blocked from group."
-msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 ви е блокиÑ\80ал."
+msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 веÑ\87е е блокиÑ\80ан за гÑ\80Ñ\83паÑ\82а."
#: actions/groupblock.php:100
-#, fuzzy
msgid "User is not a member of group."
-msgstr "Ð\9dе Ñ\87ленÑ\83ваÑ\82е в Ñ\82ази гÑ\80Ñ\83па."
+msgstr "Ð\9fоÑ\82Ñ\80ебиÑ\82елÑ\8fÑ\82 не Ñ\87ленÑ\83ва в гÑ\80Ñ\83паÑ\82а."
#: actions/groupblock.php:136 actions/groupmembers.php:314
#, fuzzy
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 "Настройки"
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 "Грешка при запазване на потребител."
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 "Прати"
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 "Вход"
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"
msgid "New notice"
msgstr "Нова бележка"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "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 "Настройките са запазени."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "Регистриране"
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 "Повторено"
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"
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."
"**%%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 %"
"достъпна под [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 "Имаше проблем със сесията ви в сайта."
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 "Резултат от командата"
"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 "от"
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 "Бележката е повторена."
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-25 09:42:19+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 (r60380); 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"
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."
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 ""
"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)."
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)."
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 ""
msgstr "Vista prèvia"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Suprimeix"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
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ó"
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"
msgid "New notice"
msgstr "Nou avís"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Notificació publicada"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Núvol d'etiquetes"
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"
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"
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)"
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."
"**%%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 %"
"%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ó."
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"
"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"
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"
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-25 09:42:25+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 (r60380); 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"
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 ""
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ů)"
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ů)"
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Odstranit"
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
msgid "Block this user"
msgstr "Zablokovat tohoto uživatele"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "Nelze aktualizovat uživatele"
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í"
#: 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
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 ""
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"
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"
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"
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 ""
msgid "New notice"
msgstr "Nové sdělení"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Sdělení"
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"
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
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"
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"
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 ""
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."
"**%%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 %"
"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 ""
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 ""
"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 "
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í"
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-25 09:42:29+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 (r60380); 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"
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."
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 ""
"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)."
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)."
#: 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
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."
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 ""
#: actions/apitimelineretweetedbyme.php:112
#, php-format
msgid "Repeated by %s"
-msgstr ""
+msgstr "Von %s wiederholt"
#: actions/apitimelineretweetedtome.php:111
#, fuzzy, php-format
msgstr "Vorschau"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Löschen"
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
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."
#: 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."
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"
#: 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
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!"
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"
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."
"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"
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"
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"
msgid "New notice"
msgstr "Neue Nachricht"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Nachricht hinzugefügt"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Tag-Wolke"
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"
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"
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)"
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."
"**%%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 %"
"(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."
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"
"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"
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."
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-25 09:42:32+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 (r60380); 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"
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 ""
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 χαρακτ.)."
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 χαρακτ.)."
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr ""
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "Απέτυχε η ενημέρωση του χρήστη."
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 ""
#: 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
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 "Διαχειριστής"
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 ""
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 ""
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 "Σύνδεση"
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 ""
msgid "New notice"
msgstr ""
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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)"
"Αυτόματα γίνε συνδρομητής σε όσους γίνονται συνδρομητές σε μένα (χρήση "
"κυρίως από λογισμικό και όχι ανθρώπους)"
-#: 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 ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 ""
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 "Δημιουργία"
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 ""
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."
"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 %"
"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 ""
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 ""
"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 "από"
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"
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-25 09:42:35+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 (r60380); 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"
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."
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)."
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)."
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."
msgstr "Preview"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Delete"
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
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."
#: 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."
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"
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 ""
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
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "New notice"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Notice posted"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Tag cloud"
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"
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"
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)"
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."
"**%%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 %"
"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."
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"
"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"
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."
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-25 09:42:38+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 (r60380); 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"
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."
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 ""
"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.)"
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)."
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 ""
msgstr "Vista previa"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Borrar"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "Nuevo aviso"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Aviso publicado"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Nube de tags"
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"
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"
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"
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."
"**%%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 %"
"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."
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"
"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"
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"
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-25 09:42:44+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"
"X-Language-Code: fa\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.16alpha (r60380); 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
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 "باز کردن کاربر ناموفق بود."
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 "نام کامل طولانی است (۲۵۵ حرف در حالت بیشینه(."
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 "مکان طولانی است (حداکثر ۲۵۵ حرف)"
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 حرف است که شامل ضمیمه نیز میباشد"
msgstr "پیشنمایش"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "کاربر را مسدود کن"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "نمیتوان کاربر را به روز کرد."
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 "این پیام را پاک کن"
#: 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
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 "مدیر"
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 "اشکال در پاکسازی"
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 "فرستادن"
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 "ورود"
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 "اشکال آژاکسی"
msgid "New notice"
msgstr "آگهی جدید"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "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 "تنظیمات ذخیره شد."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "ثبت نام"
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 ""
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 ""
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 %"
"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 ""
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 "نتیجه دستور"
msgstr "شما توسط هیچ کس تصویب نشده اید ."
#: lib/command.php:687
-#, fuzzy
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "هم اکنون شما این کاربران را دنبال میکنید: "
#: lib/command.php:707
-#, fuzzy
msgid "No one is subscribed to you."
msgstr "هیچکس شما را تایید نکرده ."
#: lib/command.php:709
-#, fuzzy
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "هیچکس شما را تایید نکرده ."
#: lib/command.php:729
-#, fuzzy
msgid "You are not a member of any groups."
msgstr "شما در هیچ گروهی عضو نیستید ."
#: lib/command.php:731
-#, fuzzy
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "شما یک عضو این گروه نیستید."
"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 "از"
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 "آگهی تکرار شد"
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-25 09:42:41+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 (r60380); 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"
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."
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 ""
"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ä)."
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ä)."
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."
msgstr "Esikatselu"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Poista"
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
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."
#: 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ää."
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"
#: 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
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"
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."
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ä"
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"
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"
msgid "New notice"
msgstr "Uusi päivitys"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Päivitys lähetetty"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Tagipilvi"
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"
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"
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)"
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."
"**%%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 %"
"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."
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"
"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ä "
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."
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-25 09:42:51+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 (r60380); 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"
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é."
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 ""
"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)."
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)."
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 ""
msgstr "Aperçu"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Supprimer"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
"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"
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"
msgid "New notice"
msgstr "Nouvel avis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Avis publié"
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."
"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"
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"
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"
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"
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."
"**%%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 %"
"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."
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"
"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"
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"
msgstr "Populaires"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Reprendre cet avis"
+msgstr "Reprendre cet avis ?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
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-25 09:42:54+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 (r60380); 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"
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."
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)."
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.)."
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
#, fuzzy
msgid "Delete"
msgstr "eliminar"
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
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."
#: 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."
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"
#: 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
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 ""
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."
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"
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"
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"
msgid "New notice"
msgstr "Novo chío"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Chío publicado"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
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"
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"
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)"
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."
"**%%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 %"
"%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..."
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"
"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 "
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"
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-25 09:42:57+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 (r60380); 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"
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 ""
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 אותיות בלבד)"
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 אותיות)."
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
#, fuzzy
msgid "Delete"
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
msgid "Block this user"
msgstr "אין משתמש כזה."
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "עידכון המשתמש נכשל."
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 ""
#: 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
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 ""
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 "שגיאה בשמירת המשתמש."
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 "שלח"
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 "היכנס"
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 ""
msgid "New notice"
msgstr "הודעה חדשה"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
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 "ההגדרות נשמרו."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "הירשם"
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 "צור"
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 ""
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."
"**%%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 %"
"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 ""
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 ""
"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 ""
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 "הודעות"
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-25 09:43:00+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 (r60380); 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"
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 ""
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)."
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)."
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 ""
msgstr "Přehlad"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Zničić"
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
msgid "Block this user"
msgstr "Tutoho wužiwarja blokować"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 ""
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ć"
#: 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
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"
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 ""
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ć"
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ć"
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"
msgid "New notice"
msgstr "Nowa zdźělenka"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Zdźělenka wotpósłana"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
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ć"
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"
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 ""
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 %"
"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 ""
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 ""
"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"
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"
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"
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-25 09:43:03+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 (r60380); 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"
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."
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)."
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)."
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 ""
msgstr "Previsualisation"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Deler"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "Nove nota"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Nota publicate"
#: 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"
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."
"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"
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"
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"
#: 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
"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
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 ""
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 %"
"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 ""
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 ""
"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 ""
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."
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-25 09:43:06+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 (r60380); 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"
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."
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)."
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)."
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 ""
msgstr "Forsýn"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Eyða"
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
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"
#: 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."
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"
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "Nýtt babl"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Babl sent inn"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Merkjaský"
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á"
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"
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)"
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."
"**%%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 %"
"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."
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"
"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á"
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"
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-25 09:43:10+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 (r60380); 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"
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."
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 ""
"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)."
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)."
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 ""
msgstr "Anteprima"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Elimina"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "Nuovo messaggio"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Messaggio inviato"
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."
"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"
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"
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"
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"
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."
"**%%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 %"
"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."
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"
"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"
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"
#
# Author@translatewiki.net: Aotake
# Author@translatewiki.net: Fryed-peach
+# Author@translatewiki.net: Sonoda
# Author@translatewiki.net: Whym
# --
# This file is distributed under the same license as the StatusNet package.
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-25 09:43:13+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 (r60380); 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"
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
-msgstr "これは %s と友人の予定表です。まだ誰も投稿していません。"
+msgstr "これは %s と友人のタイムラインです。まだ誰も投稿していません。"
#: actions/all.php:132
#, php-format
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-"ã\82\82ã\81£ã\81¨å¤\9aã\81\8fã\81®äººã\81¨ã\81¤ã\81ªã\81\8cã\81£ã\81¦ã\81¿ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82[ã\82°ã\83«ã\83¼ã\83\97ã\81«å\8f\82å\8a ](%%action.groups%%) ã\81\97"
-"てみたり、何か投稿してみましょう。"
+"ã\82\82ã\81£ã\81¨å¤\9aã\81\8fã\81®äººã\82\92ã\83\95ã\82©ã\83ã\83¼ã\81\97ã\81¦ã\81¿ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82[ã\82°ã\83«ã\83¼ã\83\97ã\81«å\8f\82å\8a ](%%action.groups%%) "
+"ã\81\97ã\81¦ã\81¿ã\81\9fã\82\8aã\80\81ä½\95ã\81\8bæ\8a\95稿ã\81\97ã\81¦ã\81¿ã\81¾ã\81\97ã\82\87ã\81\86ã\80\82"
#: actions/all.php:134
#, php-format
msgid "You cannot block yourself!"
msgstr "自分自身をブロックすることはできません!"
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
msgid "Block user failed."
msgstr "利用者のブロックに失敗しました。"
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
msgid "Unblock user failed."
msgstr "利用者のブロック解除に失敗しました。"
#: actions/apidirectmessage.php:89
#, php-format
msgid "Direct messages from %s"
-msgstr ""
+msgstr "%s からのダイレクトメッセージ"
#: actions/apidirectmessage.php:93
#, php-format
msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "%s から送られた全てのダイレクトメッセージ"
#: actions/apidirectmessage.php:101
#, php-format
msgid "Direct messages to %s"
-msgstr ""
+msgstr "%s へのダイレクトメッセージ"
#: actions/apidirectmessage.php:105
#, php-format
msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "%s へ送った全てのダイレクトメッセージ"
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
#: actions/apidirectmessagenew.php:126
msgid "No message text!"
-msgstr "ã\81\8aç\9f¥ã\82\89ã\81\9bの本文がありません!"
+msgstr "ã\83¡ã\83\83ã\82»ã\83¼ã\82¸の本文がありません!"
#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
-msgstr "é\95·ã\81\99ã\81\8eã\81¾ã\81\99ã\80\82ã\81\8aç\9f¥ã\82\89ã\81\9bは最大 %d 字までです。"
+msgstr "é\95·ã\81\99ã\81\8eã\81¾ã\81\99ã\80\82ã\83¡ã\83\83ã\82»ã\83¼ã\82¸は最大 %d 字までです。"
#: actions/apidirectmessagenew.php:146
msgid "Recipient user not found."
#: actions/apidirectmessagenew.php:150
msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "友人でない利用者にダイレクトメッセージを送ることはできません。"
#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
#: actions/apistatusesdestroy.php:113
msgid "No status found with that ID."
-msgstr ""
+msgstr "そのIDのステータスが見つかりません。"
#: actions/apifavoritecreate.php:119
msgid "This status is already a favorite!"
-msgstr ""
+msgstr "このステータスはすでにお気に入りです!"
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
msgid "Could not create favorite."
-msgstr ""
+msgstr "お気に入りを作成できません。"
#: actions/apifavoritedestroy.php:122
msgid "That status is not a favorite!"
-msgstr ""
+msgstr "そのステータスはお気に入りではありません!"
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
msgid "Could not delete favorite."
-msgstr ""
+msgstr "お気に入りを取り消すことができません。"
#: actions/apifriendshipscreate.php:109
msgid "Could not follow user: User not found."
#: actions/apifriendshipsexists.php:94
msgid "Two user ids or screen_names must be supplied."
-msgstr ""
+msgstr "ふたつのIDかスクリーンネームが必要です。"
#: actions/apifriendshipsshow.php:135
-#, fuzzy
msgid "Could not determine source user."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82½ã\83¼ã\82¹ã\83¦ã\83¼ã\82¶ã\83¼ã\82\92決å®\9aã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: actions/apifriendshipsshow.php:143
-#, fuzzy
msgid "Could not find target user."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82¿ã\83¼ã\82²ã\83\83ã\83\88ã\83¦ã\83¼ã\82¶ã\83¼ã\82\92è¦\8bã\81¤ã\81\91ã\82\89ã\82\8cã\81¾ã\81\9bã\82\93ã\80\82"
#: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
"できません。"
#: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "そのニックネームは既に使用されています。他のものを試してみて下さい。"
#: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "有効なニックネームではありません。"
#: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "ホームページのURLが不適切です。"
#: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "フルネームが長すぎます。(255字まで)"
#: actions/apigroupcreate.php:213
-#, fuzzy, php-format
+#, php-format
msgid "Description is too long (max %d chars)."
-msgstr "バイオグラフィが長すぎます。(最長140字)"
+msgstr "記述が長すぎます。(最長140字)"
#: actions/apigroupcreate.php:224 actions/editgroup.php:204
-#: actions/newgroup.php:148 actions/profilesettings.php:225
+#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "場所が長すぎます。(255字まで)"
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
-msgstr ""
+msgstr "別名が多すぎます! 最大 %d。"
#: actions/apigroupcreate.php:264 actions/editgroup.php:224
#: actions/newgroup.php:168
-#, fuzzy, php-format
+#, php-format
msgid "Invalid alias: \"%s\""
-msgstr "不正なホームページ '%s'"
+msgstr "不正な別名: \"%s\""
#: actions/apigroupcreate.php:273 actions/editgroup.php:228
#: actions/newgroup.php:172
-#, fuzzy, php-format
+#, php-format
msgid "Alias \"%s\" already in use. Try another one."
-msgstr "そのニックネームは既に使用されています。他のものを試してみて下さい。"
+msgstr "別名 \"%s\" は既に使用されています。他のものを試してみて下さい。"
#: actions/apigroupcreate.php:286 actions/editgroup.php:234
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
-msgstr ""
+msgstr "別名はニックネームと同じではいけません。"
#: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
#: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
#: actions/apigroupshow.php:90 actions/apitimelinegroup.php:91
-#, fuzzy
msgid "Group not found!"
-msgstr "API メソッドが見つかりません!"
+msgstr "グループが見つかりません!"
#: actions/apigroupjoin.php:110
-#, fuzzy
msgid "You are already a member of that group."
-msgstr "既にログイン済みです。"
+msgstr "すでにこのグループのメンバーです。"
#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
msgid "You have been blocked from that group by the admin."
-msgstr ""
+msgstr "管理者によってこのグループからブロックされています。"
#: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
msgid "Could not join user %s to group %s."
-msgstr "サーバへリダイレクトできません : %s"
+msgstr "利用者 %s はグループ %s に参加できません。"
#: actions/apigroupleave.php:114
-#, fuzzy
msgid "You are not a member of this group."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81¯ã\81\82ã\82\8aません。"
#: actions/apigroupleave.php:124
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %s to group %s."
-msgstr "OpenIDを作成できません : %s"
+msgstr "利用者 %s をグループ %s から削除できません。"
#: actions/apigrouplist.php:95
-#, fuzzy, php-format
+#, php-format
msgid "%s's groups"
-msgstr "%s グループ"
+msgstr "%s ã\81®ã\82°ã\83«ã\83¼ã\83\97"
#: actions/apigrouplist.php:103
#, php-format
msgid "Groups %s is a member of on %s."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\9bã\82\93。"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97 %s ã\81¯ %s ä¸\8aã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81\99。"
#: actions/apigrouplistall.php:90 actions/usergroups.php:62
#, php-format
msgstr "%s グループ"
#: actions/apigrouplistall.php:94
-#, fuzzy, php-format
+#, php-format
msgid "groups on %s"
-msgstr "このサイト上のグループを検索する"
+msgstr "%s 上のグループ"
#: actions/apistatusesdestroy.php:107
msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "このメソッドには POST か DELETE が必要です。"
#: actions/apistatusesdestroy.php:130
msgid "You may not delete another user's status."
-msgstr ""
+msgstr "他の利用者のステータスを消すことはできません。"
#: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72
#: actions/deletenotice.php:52 actions/shownotice.php:92
msgid "No such notice."
-msgstr "そのような通知はありません。"
+msgstr "そのようなつぶやきはありません。"
#: actions/apistatusesretweet.php:83
-#, fuzzy
msgid "Cannot repeat your own notice."
-msgstr "ã\83©ã\82¤ã\82»ã\83³ã\82¹ã\81«å\90\8cæ\84\8fé \82ã\81\91ã\81ªã\81\84å ´å\90\88ã\81¯ç\99»é\8c²ã\81§ã\81\8dません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\81¤ã\81¶ã\82\84ã\81\8dã\82\92ç¹°ã\82\8aè¿\94ã\81\9bません。"
#: actions/apistatusesretweet.php:91
-#, fuzzy
msgid "Already repeated that notice."
-msgstr "ã\81\93ã\81®é\80\9aç\9f¥ã\82\92å\89\8aé\99¤"
+msgstr "ã\81\99ã\81§ã\81«ã\81¤ã\81¶ã\82\84ã\81\8dã\82\92ç¹°ã\82\8aè¿\94ã\81\97ã\81¦ã\81\84ã\81¾ã\81\99ã\80\82"
#: actions/apistatusesshow.php:138
-#, fuzzy
msgid "Status deleted."
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\81\8cæ\9b´æ\96°ã\81\95ã\82\8cました。"
+msgstr "ã\82¹ã\83\86ã\83¼ã\82¿ã\82¹ã\82\92å\89\8aé\99¤ã\81\97ました。"
#: actions/apistatusesshow.php:144
msgid "No status with that ID found."
-msgstr ""
+msgstr "そのIDでのステータスはありません。"
#: actions/apistatusesupdate.php:157 actions/newnotice.php:155
#: scripts/maildaemon.php:71
-#, fuzzy, php-format
+#, php-format
msgid "That's too long. Max notice size is %d chars."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr "長すぎます。つぶやきは最大 140 字までです。"
#: actions/apistatusesupdate.php:198
msgid "Not found"
-msgstr ""
+msgstr "みつかりません"
-#: actions/apistatusesupdate.php:227 actions/newnotice.php:191
+#: actions/apistatusesupdate.php:221 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
+msgstr "つぶやきは URL を含めて最大 %d 字までです。"
#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
-#, fuzzy
msgid "Unsupported format."
-msgstr "サポート外の画像形式です。"
+msgstr "サポート外の形式です。"
#: actions/apitimelinefavorites.php:108
#, php-format
msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / %s からのお気に入り"
#: actions/apitimelinefavorites.php:120
#, php-format
msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s は %s でお気に入りを更新しました / %s。"
#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
#: actions/grouprss.php:131 actions/userrss.php:90
#: actions/userrss.php:92
#, php-format
msgid "Updates from %1$s on %2$s!"
-msgstr ""
+msgstr "%1$s から %2$s 上の更新をしました!"
#: actions/apitimelinementions.php:117
-#, fuzzy, php-format
+#, php-format
msgid "%1$s / Updates mentioning %2$s"
-msgstr "%1$ のステータス %2$s"
+msgstr "%1$s / %2$s について更新"
#: actions/apitimelinementions.php:127
#, php-format
msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr ""
+msgstr "%2$s からアップデートに答える %1$s アップデート"
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
-msgstr "%s の公開タイムライン"
+msgstr "%s のパブリックタイムライン"
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
-msgstr ""
+msgstr "皆からの %s アップデート!"
#: actions/apitimelineretweetedbyme.php:112
#, php-format
msgid "Repeated by %s"
-msgstr ""
+msgstr "%s による繰り返し"
#: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
msgid "Repeated to %s"
msgstr "%s への返信"
#: actions/apitimelineretweetsofme.php:112
-#, fuzzy, php-format
+#, php-format
msgid "Repeats of %s"
-msgstr "%s ã\81¸ã\81®è¿\94ä¿¡"
+msgstr "%s の返信"
#: actions/apitimelinetag.php:102 actions/tag.php:66
#, php-format
msgid "Notices tagged with %s"
-msgstr ""
+msgstr "%s とタグ付けされたつぶやき"
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
#, php-format
msgstr "見つかりません。"
#: actions/attachment.php:73
-#, fuzzy
msgid "No such attachment."
-msgstr "そのようなドキュメントはありません。"
+msgstr "そのような添付はありません。"
#: actions/avatarbynickname.php:59 actions/grouprss.php:91
#: actions/leavegroup.php:76
#: 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
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
#: actions/grouplogo.php:199 actions/grouplogo.php:259
msgid "Original"
-msgstr ""
+msgstr "オリジナル"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
#: actions/grouplogo.php:210 actions/grouplogo.php:271
msgid "Preview"
-msgstr ""
+msgstr "プレビュー"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "削除"
#: actions/avatarsettings.php:231 actions/grouplogo.php:286
msgid "Crop"
-msgstr ""
+msgstr "切り取り"
#: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
#: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
#: actions/subscribe.php:46 actions/tagother.php:166
#: actions/unsubscribe.php:69 actions/userauthorization.php:52
#: lib/designsettings.php:294
msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "あなたのセッショントークンに問題がありました。再度お試しください。"
#: actions/avatarsettings.php:281 actions/designadminpanel.php:103
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/avatarsettings.php:328
msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "あなたのアバターとなるイメージを正方形で指定"
#: actions/avatarsettings.php:343 actions/grouplogo.php:377
msgid "Lost our file data."
-msgstr ""
+msgstr "ファイルデータを紛失しました。"
#: actions/avatarsettings.php:366
msgid "Avatar updated."
msgstr "アバターの更新に失敗しました。"
#: actions/avatarsettings.php:393
-#, fuzzy
msgid "Avatar deleted."
-msgstr "アバターが更新されました。"
+msgstr "アバターが削除されました。"
#: actions/block.php:69
-#, fuzzy
msgid "You already blocked that user."
-msgstr "既にログイン済みです。"
+msgstr "その利用者はすでにブロック済みです。"
#: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
-#, fuzzy
msgid "Block user"
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¦ã\83¼ã\82¶ã\81¯ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\83\96ã\83ã\83\83ã\82¯å\88©ç\94¨è\80\85"
#: actions/block.php:130
+#, fuzzy
msgid ""
"Are you sure you want to block this user? Afterwards, they will be "
"unsubscribed from you, unable to subscribe to you in the future, and you "
"will not be notified of any @-replies from them."
msgstr ""
+"あなたはこのユーザをブロックしたいのを確信していますか? その後、それらはあな"
+"たからフォローを外されるでしょう、将来、あなたにフォローできないで、あなたは"
+"どんな @-返信 についてもそれらから通知されないでしょう。"
#: actions/block.php:143 actions/deletenotice.php:145
#: actions/deleteuser.php:147 actions/groupblock.php:178
msgid "No"
-msgstr ""
+msgstr "No"
#: actions/block.php:143 actions/deleteuser.php:147
-#, fuzzy
msgid "Do not block this user"
msgstr "このユーザをアンブロックする"
#: actions/deleteuser.php:148 actions/groupblock.php:179
#: lib/repeatform.php:132
msgid "Yes"
-msgstr ""
+msgstr "Yes"
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
msgid "Block this user"
msgstr "このユーザをブロックする"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
-msgstr ""
+msgstr "ブロック情報の保存に失敗しました。"
#: actions/blockedfromgroup.php:73 actions/editgroup.php:84
#: actions/groupdesignsettings.php:84 actions/grouplogo.php:86
#: actions/groupmembers.php:76 actions/joingroup.php:76
#: actions/showgroup.php:121
-#, fuzzy
msgid "No nickname"
msgstr "ニックネームがありません。"
#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
#: actions/grouplogo.php:99 actions/groupmembers.php:83
#: actions/joingroup.php:83 actions/showgroup.php:137
-#, fuzzy
msgid "No such group"
-msgstr "そのような通知はありません。"
+msgstr "そのようなグループはありません。"
#: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
msgid "%s blocked profiles"
-msgstr "プロファイルがありません。"
+msgstr "%s ブロックされたプロファイル"
#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
msgid "%s blocked profiles, page %d"
-msgstr "%s & ともだち"
+msgstr "%s ブロックされたプロファイル、ページ %d"
#: actions/blockedfromgroup.php:108
msgid "A list of the users blocked from joining this group."
-msgstr ""
+msgstr "このグループへの参加をブロックされた利用者のリスト。"
#: actions/blockedfromgroup.php:281
-#, fuzzy
msgid "Unblock user from group"
-msgstr "ã\83¦ã\83¼ã\82¶ã\81®ã\82¢ã\83³ã\83\96ã\83ã\83\83ã\82¯ã\81«å¤±æ\95\97ã\81\97ã\81¾ã\81\97ã\81\9fã\80\82"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\81®ã\82¢ã\83³ã\83\96ã\83ã\83\83ã\82¯å\88©ç\94¨è\80\85"
#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
msgid "Unblock"
#: actions/bookmarklet.php:50
msgid "Post to "
-msgstr ""
+msgstr "投稿"
#: actions/confirmaddress.php:75
msgid "No confirmation code."
#: 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 "ユーザを更新できません"
msgstr "アドレス \"%s\" はあなたのアカウントとして承認されています。"
#: actions/conversation.php:99
-#, fuzzy
msgid "Conversation"
-msgstr "確認コード"
+msgstr "会話"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
#: lib/profileaction.php:216 lib/searchgroupnav.php:82
msgid "Notices"
-msgstr "通知"
+msgstr "つぶやき"
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/deletenotice.php:71
msgid "Can't delete this notice."
-msgstr "この通知を削除できません。"
+msgstr "このつぶやきを削除できません。"
#: actions/deletenotice.php:103
msgid ""
"You are about to permanently delete a notice. Once this is done, it cannot "
"be undone."
msgstr ""
+"あなたは永久につぶやきを削除しようとしています。 これが完了するとそれを元に戻"
+"すことはできません。"
#: actions/deletenotice.php:109 actions/deletenotice.php:141
msgid "Delete notice"
-msgstr ""
+msgstr "つぶやき削除"
#: actions/deletenotice.php:144
msgid "Are you sure you want to delete this notice?"
-msgstr "本当にこの通知を削除しますか?"
+msgstr "本当にこのつぶやきを削除しますか?"
#: actions/deletenotice.php:145
-#, fuzzy
msgid "Do not delete this notice"
-msgstr "この通知を削除できません。"
+msgstr "このつぶやきを削除できません。"
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
msgid "Delete this notice"
-msgstr "この通知を削除"
+msgstr "このつぶやきを削除"
#: actions/deletenotice.php:157
msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "あなたのセッショントークンに問題がありました。再度お試しください。"
#: actions/deleteuser.php:67
-#, fuzzy
msgid "You cannot delete users."
-msgstr "ユーザを更新できません"
+msgstr "利用者を削除できません"
#: actions/deleteuser.php:74
-#, fuzzy
msgid "You can only delete local users."
-msgstr "ローカルサブスクリプションを使用可能です!"
+msgstr "ローカル利用者のみ削除できます。"
#: actions/deleteuser.php:110 actions/deleteuser.php:133
-#, fuzzy
msgid "Delete user"
-msgstr "削除"
+msgstr "å\88©ç\94¨è\80\85å\89\8aé\99¤"
#: actions/deleteuser.php:135
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
+"あなたは本当にこの利用者を削除したいですか? これはバックアップなしでデータ"
+"ベースから利用者に関するすべてのデータをクリアします。"
#: actions/deleteuser.php:148 lib/deleteuserform.php:77
msgid "Delete this user"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
#: lib/adminpanelaction.php:302 lib/groupnav.php:119
msgid "Design"
-msgstr ""
+msgstr "デザイン"
#: actions/designadminpanel.php:73
msgid "Design settings for this StatusNet site."
-msgstr ""
+msgstr "この StatusNet サイトのデザイン設定。"
#: actions/designadminpanel.php:275
-#, fuzzy
msgid "Invalid logo URL."
-msgstr "ä¸\8dæ£ã\81ªã\82µã\82¤ã\82ºã\80\82"
+msgstr "ä¸\8dæ£ã\81ªã\83ã\82´ URL"
#: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
msgid "Theme not available: %s"
-msgstr "ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81¯ã\81\82ã\81ªã\81\9fã\81\8cæ\89¿èª\8dã\81\97ã\81\9fã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82¤ã\83\97ã\81§ã\81¯å\88©ç\94¨ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\83\86ã\83¼ã\83\9eã\81\8cå\88©ç\94¨ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ï¼\9a %s"
#: actions/designadminpanel.php:375
msgid "Change logo"
msgstr "ロゴの変更"
#: actions/designadminpanel.php:380
-#, fuzzy
msgid "Site logo"
-msgstr "新しい通知"
+msgstr "サイトロゴ"
#: actions/designadminpanel.php:387
-#, fuzzy
msgid "Change theme"
-msgstr "変更"
+msgstr "テーマ変更"
#: actions/designadminpanel.php:404
-#, fuzzy
msgid "Site theme"
-msgstr "新しい通知"
+msgstr "サイトテーマ"
#: actions/designadminpanel.php:405
-#, fuzzy
msgid "Theme for the site."
-msgstr "ã\82µã\82¤ã\83\88ã\81\8bã\82\89ã\83ã\82°ã\82¢ã\82¦ã\83\88"
+msgstr "ã\82µã\82¤ã\83\88ã\81®ã\83\86ã\83¼ã\83\9e"
#: actions/designadminpanel.php:417 lib/designsettings.php:101
msgid "Change background image"
-msgstr ""
+msgstr "バックグラウンドイメージの変更"
#: actions/designadminpanel.php:422 actions/designadminpanel.php:497
#: lib/designsettings.php:178
msgid "Background"
-msgstr ""
+msgstr "バックグラウンド"
#: actions/designadminpanel.php:427
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can upload a background image for the site. The maximum file size is %1"
"$s."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr ""
+"このサイト用にバックグラウンドイメージをアップロードできます。最大ファイルサ"
+"イズは %1$s。"
#: actions/designadminpanel.php:457 lib/designsettings.php:139
msgid "On"
-msgstr ""
+msgstr "オン"
#: actions/designadminpanel.php:473 lib/designsettings.php:155
msgid "Off"
-msgstr ""
+msgstr "オフ"
#: actions/designadminpanel.php:474 lib/designsettings.php:156
msgid "Turn background image on or off."
-msgstr ""
+msgstr "バックグラウンドイメージのオンまたはオフ。"
#: actions/designadminpanel.php:479 lib/designsettings.php:161
msgid "Tile background image"
-msgstr ""
+msgstr "タイルバックグラウンドイメージ"
#: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
msgid "Change colours"
-msgstr "パスワードの変更"
+msgstr "色の変更"
#: actions/designadminpanel.php:510 lib/designsettings.php:191
msgid "Content"
msgstr "内容"
#: actions/designadminpanel.php:523 lib/designsettings.php:204
-#, fuzzy
msgid "Sidebar"
-msgstr "検索"
+msgstr "サイドバー"
#: actions/designadminpanel.php:536 lib/designsettings.php:217
msgid "Text"
-msgstr ""
+msgstr "テキスト"
#: actions/designadminpanel.php:549 lib/designsettings.php:230
-#, fuzzy
msgid "Links"
-msgstr "ã\83ã\82°ã\82¤ã\83³"
+msgstr "ã\83ªã\83³ã\82¯"
#: actions/designadminpanel.php:577 lib/designsettings.php:247
msgid "Use defaults"
-msgstr ""
+msgstr "デフォルトを使用"
#: actions/designadminpanel.php:578 lib/designsettings.php:248
msgid "Restore default designs"
-msgstr ""
+msgstr "デフォルトデザインに戻す。"
#: actions/designadminpanel.php:584 lib/designsettings.php:254
msgid "Reset back to default"
-msgstr ""
+msgstr "デフォルトへリセットする"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126
-#: actions/pathsadminpanel.php: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
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
-msgstr ""
+msgstr "デザインの保存"
#: actions/disfavor.php:81
msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "このつぶやきはお気に入りではありません!"
#: actions/disfavor.php:94
msgid "Add to favorites"
-msgstr ""
+msgstr "お気に入りに加える"
#: actions/doc.php:69
msgid "No such document."
#: actions/editgroup.php:56
#, php-format
msgid "Edit %s group"
-msgstr ""
+msgstr "%s グループを編集"
#: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "グループを作るにはログインしていなければなりません。"
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "グループを編集するには管理者である必要があります。"
#: actions/editgroup.php:154
msgid "Use this form to edit the group."
-msgstr ""
+msgstr "このフォームを使ってグループを編集します。"
#: actions/editgroup.php:201 actions/newgroup.php:145
-#, fuzzy, php-format
+#, php-format
msgid "description is too long (max %d chars)."
-msgstr "バイオグラフィが長すぎます。(最長140字)"
+msgstr "記述が長すぎます。(最長 %d 字)"
#: actions/editgroup.php:253
-#, fuzzy
msgid "Could not update group."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: actions/editgroup.php:259 classes/User_group.php:390
-#, fuzzy
msgid "Could not create aliases."
-msgstr "アバターを保存できません"
+msgstr "別名を作成できません。"
#: actions/editgroup.php:269
-#, fuzzy
msgid "Options saved."
-msgstr "設定が保存されました。"
+msgstr "オプションが保存されました。"
#: actions/emailsettings.php:60
msgid "Email Settings"
#: actions/emailsettings.php:71
#, php-format
msgid "Manage how you get email from %%site.name%%."
-msgstr ""
+msgstr "%%site.name%% からのメールを管理。"
#: actions/emailsettings.php:100 actions/imsettings.php:100
#: actions/smssettings.php:104
#: actions/emailsettings.php:105
msgid "Current confirmed email address."
-msgstr ""
+msgstr "現在確認されているメールアドレス。"
#: actions/emailsettings.php:107 actions/emailsettings.php:140
#: actions/imsettings.php:108 actions/smssettings.php:115
#: actions/emailsettings.php:121
msgid "Email Address"
-msgstr ""
+msgstr "メールアドレス"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
-msgstr ""
+msgstr "メールアドレス、\"UserName@example.org\" のような"
#: actions/emailsettings.php:126 actions/imsettings.php:133
#: actions/smssettings.php:145
#: actions/emailsettings.php:133 actions/smssettings.php:152
msgid "Incoming email"
-msgstr ""
+msgstr "入ってくるメール"
#: actions/emailsettings.php:138 actions/smssettings.php:157
msgid "Send email to this address to post new notices."
-msgstr ""
+msgstr "新しいつぶやき投稿にこのアドレスへメールする"
#: actions/emailsettings.php:145 actions/smssettings.php:162
msgid "Make a new email address for posting to; cancels the old one."
-msgstr ""
+msgstr "投稿のための新しいEメールアドレスを作ります; 古い方を取り消します。"
#: actions/emailsettings.php:148 actions/smssettings.php:164
msgid "New"
-msgstr ""
+msgstr "New"
#: actions/emailsettings.php:153 actions/imsettings.php:139
#: actions/smssettings.php:169
#: actions/emailsettings.php:158
msgid "Send me notices of new subscriptions through email."
-msgstr ""
+msgstr "メールで新規フォローの通知を私に送ってください。"
#: actions/emailsettings.php:163
msgid "Send me email when someone adds my notice as a favorite."
msgstr ""
+"だれかがお気に入りとして私のつぶやきを加えたらメールを私に送ってください。"
#: actions/emailsettings.php:169
msgid "Send me email when someone sends me a private message."
msgstr ""
+"だれかがプライベート・メッセージを私に送るときにはメールを私に送ってくださ"
+"い。"
#: actions/emailsettings.php:174
msgid "Send me email when someone sends me an \"@-reply\"."
-msgstr ""
+msgstr "だれかが\"@-返信\"を私を送るときにはメールを私に送ってください、"
#: actions/emailsettings.php:179
msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "友達が私に合図とメールを送ることを許可する。"
#: actions/emailsettings.php:185
msgid "I want to post notices by email."
-msgstr ""
+msgstr "メールでつぶやきを投稿したい。"
#: actions/emailsettings.php:191
msgid "Publish a MicroID for my email address."
-msgstr ""
+msgstr "私のメールアドレスのためにMicroIDを発行してください。"
#: actions/emailsettings.php:302 actions/imsettings.php:264
#: actions/othersettings.php:180 actions/smssettings.php:284
#: actions/emailsettings.php:320
msgid "No email address."
-msgstr ""
+msgstr "メールアドレスがありません。"
#: actions/emailsettings.php:327
msgid "Cannot normalize that email address"
#: actions/emailsettings.php:331 actions/siteadminpanel.php:157
msgid "Not a valid email address"
-msgstr ""
+msgstr "正しいメールアドレスではありません"
#: actions/emailsettings.php:334
msgid "That is already your email address."
-msgstr ""
+msgstr "これはすでにあなたのメールアドレスです。"
#: actions/emailsettings.php:337
msgid "That email address already belongs to another user."
-msgstr ""
+msgstr "このメールアドレスは既に他の人が使っています。"
#: actions/emailsettings.php:353 actions/imsettings.php:317
#: actions/smssettings.php:337
#: actions/emailsettings.php:413
msgid "That is not your email address."
-msgstr ""
+msgstr "これはあなたのメールアドレスではありません。"
#: actions/emailsettings.php:432 actions/imsettings.php:408
#: actions/smssettings.php:425
#: actions/emailsettings.php:446 actions/smssettings.php:518
msgid "No incoming email address."
-msgstr ""
+msgstr "入ってくるメールアドレスではありません。"
#: actions/emailsettings.php:456 actions/emailsettings.php:478
#: actions/smssettings.php:528 actions/smssettings.php:552
msgid "Couldn't update user record."
-msgstr ""
+msgstr "利用者レコードを更新できません。"
#: actions/emailsettings.php:459 actions/smssettings.php:531
msgid "Incoming email address removed."
-msgstr ""
+msgstr "入ってくるメールアドレスは削除されました。"
#: actions/emailsettings.php:481 actions/smssettings.php:555
msgid "New incoming email address added."
-msgstr ""
+msgstr "新しい入ってくるメールアドレスが追加されました。"
#: actions/favor.php:79
msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "このつぶやきはすでにお気に入りです!"
#: actions/favor.php:92 lib/disfavorform.php:140
msgid "Disfavor favorite"
-msgstr ""
+msgstr "お気に入りをやめる"
#: actions/favorited.php:65 lib/popularnoticesection.php:88
#: lib/publicgroupnav.php:93
-#, fuzzy
msgid "Popular notices"
-msgstr "そのような通知はありません。"
+msgstr "人気のつぶやき"
#: actions/favorited.php:67
-#, fuzzy, php-format
+#, php-format
msgid "Popular notices, page %d"
-msgstr "そのような通知はありません。"
+msgstr "人気のつぶやき、ページ %d"
#: actions/favorited.php:79
msgid "The most popular notices on the site right now."
-msgstr ""
+msgstr "現在サイトで最も人気のつぶやき。"
#: actions/favorited.php:150
msgid "Favorite notices appear on this page but no one has favorited one yet."
msgstr ""
+"お気に入りのつぶやきがページに表示されます、しかしまだお気に入りがありませ"
+"ん。"
#: actions/favorited.php:153
msgid ""
"Be the first to add a notice to your favorites by clicking the fave button "
"next to any notice you like."
msgstr ""
+"あなたの好きなつぶやきを、お気に入りボタンをクリックしてあなたのお気に入りに"
+"加える最初になってください。"
#: actions/favorited.php:156
#, php-format
"Why not [register an account](%%action.register%%) and be the first to add a "
"notice to your favorites!"
msgstr ""
+"なぜ [アカウント登録](%%action.register%%) しないのですか、そして、あなたのお"
+"気に入りにつぶやきを加える最初になりましょう!"
#: actions/favoritesrss.php:111 actions/showfavorites.php:77
#: lib/personalgroupnav.php:115
#, php-format
msgid "%s's favorite notices"
-msgstr ""
+msgstr "%s のお気に入りのつぶやき"
#: actions/favoritesrss.php:115
-#, fuzzy, php-format
+#, php-format
msgid "Updates favored by %1$s on %2$s!"
-msgstr "マイクロブログ by %s"
+msgstr "%1$s による %2$s 上のお気に入りを更新!"
#: actions/featured.php:69 lib/featureduserssection.php:87
#: lib/publicgroupnav.php:89
msgid "Featured users"
-msgstr ""
+msgstr "フィーチャーされた利用者"
#: actions/featured.php:71
#, php-format
msgid "Featured users, page %d"
-msgstr ""
+msgstr "フィーチャーされた利用者、ページ %d"
#: actions/featured.php:99
#, php-format
msgid "A selection of some great users on %s"
-msgstr ""
+msgstr "%s 上の優れた利用者の集まり"
#: actions/file.php:34
-#, fuzzy
msgid "No notice ID."
-msgstr "新しい通知"
+msgstr "つぶやきIDがありません。"
#: actions/file.php:38
-#, fuzzy
msgid "No notice."
-msgstr "新しい通知"
+msgstr "つぶやきがありません。"
#: actions/file.php:42
-#, fuzzy
msgid "No attachments."
-msgstr "そのようなドキュメントはありません。"
+msgstr "そのような添付はありません。"
#: actions/file.php:51
-#, fuzzy
msgid "No uploaded attachments."
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83\89ã\82ã\83¥ã\83¡ã\83³ã\83\88はありません。"
+msgstr "ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89ã\81\95ã\82\8cã\81\9fæ·»ä»\98はありません。"
#: actions/finishremotesubscribe.php:69
msgid "Not expecting this response!"
msgstr "想定外のレスポンスです!"
#: actions/finishremotesubscribe.php:80
-#, fuzzy
msgid "User being listened to does not exist."
-msgstr "リストされているユーザは存在しません。"
+msgstr "存在しないように聴かれているユーザ。"
#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
msgid "You can use the local subscription!"
#: actions/finishremotesubscribe.php:99
msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "この利用者はフォローをブロックされています。"
#: actions/finishremotesubscribe.php:110
-#, fuzzy
msgid "You are not authorized."
msgstr "認証されていません。"
#: actions/finishremotesubscribe.php:113
-#, fuzzy
msgid "Could not convert request token to access token."
msgstr "リクエストトークンをアクセストークンに変換できません"
#: actions/finishremotesubscribe.php:118
-#, fuzzy
msgid "Remote service uses unknown version of OMB protocol."
-msgstr "予期せぬ OMB プロトコルのバージョンです。"
+msgstr ""
+"リモートサービスは、不明なバージョンの OMB プロトコルを使用しています。"
#: actions/finishremotesubscribe.php:138 lib/oauthstore.php:306
msgid "Error updating remote profile"
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
msgid "No profile specified."
-msgstr ""
+msgstr "プロファイル記述がありません。"
#: actions/groupblock.php:76 actions/groupunblock.php:76
#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
#: lib/profileformaction.php:77
msgid "No profile with that ID."
-msgstr ""
+msgstr "そのIDのプロファイルがありません。"
#: actions/groupblock.php:81 actions/groupunblock.php:81
#: actions/makeadmin.php:81
msgid "No group specified."
-msgstr ""
+msgstr "グループ記述がありません。"
#: actions/groupblock.php:91
msgid "Only an admin can block group members."
-msgstr ""
+msgstr "管理者だけがグループメンバーをブロックできます。"
#: actions/groupblock.php:95
-#, fuzzy
msgid "User is already blocked from group."
-msgstr "プロファイルがありません。"
+msgstr "利用者はすでにグループからブロックされています。"
#: actions/groupblock.php:100
-#, fuzzy
msgid "User is not a member of group."
-msgstr "そのプロファイルは送信されていません。"
+msgstr "利用者はグループのメンバーではありません。"
#: actions/groupblock.php:136 actions/groupmembers.php:314
-#, fuzzy
msgid "Block user from group"
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¦ã\83¼ã\82¶ã\81¯ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\83\96ã\83ã\83\83ã\82¯ã\81\95ã\82\8cã\81\9få\88©ç\94¨è\80\85"
#: actions/groupblock.php:162
#, php-format
"be removed from the group, unable to post, and unable to subscribe to the "
"group in the future."
msgstr ""
+"本当に利用者 %s をグループ %s からブロックしますか? 彼らはグループから削除さ"
+"れる、投稿できない、グループをフォローできなくなります。"
#: actions/groupblock.php:178
-#, fuzzy
msgid "Do not block this user from this group"
-msgstr "ã\82µã\83¼ã\83\90ã\81¸ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81§ã\81\8dã\81¾ã\81\9bã\82\93 : %s"
+msgstr "ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\81\93ã\81®å\88©ç\94¨è\80\85ã\82\92ã\83\96ã\83ã\83\83ã\82¯ã\81\97ã\81ªã\81\84"
#: actions/groupblock.php:179
-#, fuzzy
msgid "Block this user from this group"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\83\96ã\83ã\83\83ã\82¯ã\81\99ã\82\8b"
+msgstr "ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81\8bã\82\89ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\83\96ã\83ã\83\83ã\82¯"
#: actions/groupblock.php:196
msgid "Database error blocking user from group."
-msgstr ""
+msgstr "グループから利用者ブロックのデータベースエラー"
#: actions/groupbyid.php:74
msgid "No ID"
-msgstr ""
+msgstr "IDがありません"
#: actions/groupdesignsettings.php:68
msgid "You must be logged in to edit a group."
-msgstr ""
+msgstr "グループを編集するにはログインしていなければなりません。"
#: actions/groupdesignsettings.php:141
msgid "Group design"
-msgstr ""
+msgstr "グループデザイン"
#: actions/groupdesignsettings.php:152
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
+"あなたが選んだパレットの色とバックグラウンドイメージであなたのグループをカス"
+"タマイズしてください。"
#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
-#, fuzzy
msgid "Couldn't update your design."
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\83\87ã\82¶ã\82¤ã\83³ã\82\92æ\9b´æ\96°ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings!"
-msgstr ""
+msgstr "あなたのデザイン設定を保存できません!"
#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
-#, fuzzy
msgid "Design preferences saved."
-msgstr "設定が保存されました。"
+msgstr "デザイン設定が保存されました。"
#: actions/grouplogo.php:139 actions/grouplogo.php:192
msgid "Group logo"
-msgstr ""
+msgstr "グループロゴ"
#: actions/grouplogo.php:150
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
+"あなたのグループ用にロゴイメージをアップロードできます。最大ファイルサイズは "
+"%s。"
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
-msgstr ""
+msgstr "ロゴとなるイメージの正方形を選択。"
#: actions/grouplogo.php:396
msgid "Logo updated."
#: actions/groupmembers.php:93 lib/groupnav.php:92
#, php-format
msgid "%s group members"
-msgstr ""
+msgstr "%s グループメンバー"
#: actions/groupmembers.php:96
#, php-format
msgid "%s group members, page %d"
-msgstr ""
+msgstr "%s グループメンバー、ページ %d"
#: actions/groupmembers.php:111
msgid "A list of the users in this group."
-msgstr ""
+msgstr "このグループの利用者のリスト。"
-#: actions/groupmembers.php:175 lib/action.php:440 lib/groupnav.php:107
+#: actions/groupmembers.php:175 lib/action.php:441 lib/groupnav.php:107
msgid "Admin"
msgstr "管理者"
#: actions/groupmembers.php:441
msgid "Make user an admin of the group"
-msgstr ""
+msgstr "利用者をグループの管理者にする"
#: actions/groupmembers.php:473
-#, fuzzy
msgid "Make Admin"
-msgstr "管理者"
+msgstr "管理者にする"
#: actions/groupmembers.php:473
msgid "Make this user an admin"
-msgstr ""
+msgstr "この利用者を管理者にする"
#: actions/grouprss.php:133
-#, fuzzy, php-format
+#, php-format
msgid "Updates from members of %1$s on %2$s!"
-msgstr "マイクロブログ by %s"
+msgstr "%2$s 上の %1$s のメンバーから更新する"
#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
-msgstr ""
+msgstr "グループ"
#: actions/groups.php:64
#, php-format
msgid "Groups, page %d"
-msgstr ""
+msgstr "グループ、ページ %d"
#: actions/groups.php:90
#, php-format
"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
"%%%%)"
msgstr ""
+"%%%%site.name%%%% グループは、あなたと同様の関心事をもつ人々を見つけて話をす"
+"ることができます。グループに入った後、あなたは他のメンバーに \"!groupname\" "
+"文法を使ってメッセージを送ることができます。あなたが好きなグループがあるかど"
+"うか[探してみる](%%%%action.groupsearch%%%%)か、あなた自身で[始めてください!]"
+"(%%%%action.newgroup%%%%)"
#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
-#, fuzzy
msgid "Create a new group"
-msgstr "アカウントを作成"
+msgstr "新しいグループを作成"
#: actions/groupsearch.php:52
-#, fuzzy, php-format
+#, php-format
msgid ""
"Search for groups on %%site.name%% by their name, location, or description. "
"Separate the terms by spaces; they must be 3 characters or more."
msgstr ""
-"%%site.name%% の人を名前、場所、興味から検索。検索語はスペース区切る。3字以上"
+"%%site.name%% のグループを、名前、場所、記述から検索。検索語はスペース区切"
+"り。3字以上。"
#: actions/groupsearch.php:58
msgid "Group search"
#: actions/groupsearch.php:79 actions/noticesearch.php:117
#: actions/peoplesearch.php:83
-#, fuzzy
msgid "No results."
-msgstr "結果なし"
+msgstr "結果なし。"
#: actions/groupsearch.php:82
#, php-format
"If you can't find the group you're looking for, you can [create it](%%action."
"newgroup%%) yourself."
msgstr ""
+"もし、あなたが探しているグループが見つからないとき、あなたは[それを作成](%%"
+"action.newgroup%%)できます。"
#: actions/groupsearch.php:85
#, php-format
"Why not [register an account](%%action.register%%) and [create the group](%%"
"action.newgroup%%) yourself!"
msgstr ""
+"なぜ[アカウント登録](%%action.register%%) や [グループ作成](%%action.newgroup"
+"%%) しないのか!"
#: actions/groupunblock.php:91
msgid "Only an admin can unblock group members."
-msgstr ""
+msgstr "管理者だけがグループメンバーをアンブロックできます。"
#: actions/groupunblock.php:95
-#, fuzzy
msgid "User is not blocked from group."
-msgstr "プロファイルがありません。"
+msgstr "利用者はグループからブロックされていません。"
-#: actions/groupunblock.php:128 actions/unblock.php:77
+#: actions/groupunblock.php:128 actions/unblock.php:86
msgid "Error removing the block."
msgstr "ブロックの削除エラー"
"す。下のアドレスを設定して下さい。"
#: actions/imsettings.php:89
-#, fuzzy
msgid "IM is not available."
-msgstr "このページはあなたが承認したメディアタイプでは利用できません。"
+msgstr "IM が利用不可。"
#: actions/imsettings.php:106
msgid "Current confirmed Jabber/GTalk address."
#: 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."
#: actions/inbox.php:59
#, php-format
msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "%s の受信箱 - ページ %d"
#: actions/inbox.php:62
#, php-format
msgid "Inbox for %s"
-msgstr ""
+msgstr "%s の受信箱"
#: actions/inbox.php:115
msgid "This is your inbox, which lists your incoming private messages."
msgstr ""
+"これはあなたの受信箱です、やってきたプライベートメッセージをリストします。"
#: actions/invite.php:39
msgid "Invites have been disabled."
-msgstr ""
+msgstr "招待は無効にされました。"
#: actions/invite.php:41
#, php-format
msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "他のユーザが%sを使用するよう誘うためにはログインしなければなりません。"
#: actions/invite.php:72
#, php-format
#: actions/invite.php:110
msgid "Invitation(s) sent"
-msgstr ""
+msgstr "招待を送りました。"
#: actions/invite.php:112
msgid "Invite new users"
-msgstr ""
+msgstr "新しい利用者を招待"
#: actions/invite.php:128
msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "すでにこれらの利用者をフォローしています:"
#: actions/invite.php:131 actions/invite.php:139
#, php-format
msgid ""
"These people are already users and you were automatically subscribed to them:"
msgstr ""
+"これらの人々は既にユーザです、そして、あなたは自動的に彼らにフォローされまし"
+"た:"
#: actions/invite.php:144
msgid "Invitation(s) sent to the following people:"
-msgstr ""
+msgstr "招待を以下の人々に送信しました:"
#: actions/invite.php:150
msgid ""
"You will be notified when your invitees accept the invitation and register "
"on the site. Thanks for growing the community!"
msgstr ""
+"あなたの招待参加者が招待に応じて、サイトに登録すると、あなたに通知されるで"
+"しょう。 コミュニティを広げてくださってありがとうございます!"
#: actions/invite.php:162
msgid ""
"Use this form to invite your friends and colleagues to use this service."
msgstr ""
+"友人や同僚がこのサービスを利用するようこのフォームを使用して誘ってください。"
#: actions/invite.php:187
msgid "Email addresses"
#: actions/invite.php:192
msgid "Personal message"
-msgstr ""
+msgstr "パーソナルメッセージ"
#: actions/invite.php:194
msgid "Optionally add a personal message to the invitation."
-msgstr ""
+msgstr "任意に招待にパーソナルメッセージを加えてください。"
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:222
+#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:232
msgid "Send"
msgstr "送る"
#: actions/joingroup.php:60
msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "グループに入るためにはログインしなければなりません。"
#: actions/joingroup.php:90 lib/command.php:217
msgid "You are already a member of that group"
msgstr "あなたは既にそのグループに参加しています。"
#: actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#, php-format
msgid "Could not join user %s to group %s"
-msgstr "サーバへリダイレクトできません : %s"
+msgstr "利用者 %s はグループ %s に参加できません"
#: actions/joingroup.php:135 lib/command.php:239
#, php-format
msgid "%s joined group %s"
-msgstr ""
+msgstr "%s はグループ %s に参加しました"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "グループから離れるにはログインしていなければなりません。"
#: actions/leavegroup.php:90 lib/command.php:268
-#, fuzzy
msgid "You are not a member of that group."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81\9dã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81¯ã\81\82ã\82\8aません。"
#: actions/leavegroup.php:119 lib/command.php:278
msgid "Could not find membership record."
-msgstr ""
+msgstr "会員資格記録を見つけることができませんでした。"
#: actions/leavegroup.php:127 lib/command.php:284
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %s to group %s"
-msgstr "OpenIDを作成できません : %s"
+msgstr "利用者 %s をグループ %s から削除することができません"
#: actions/leavegroup.php:134 lib/command.php:289
#, php-format
msgid "%s left group %s"
-msgstr ""
+msgstr "%s はグループ %s に残りました。"
#: actions/login.php:83 actions/register.php:137
msgid "Already logged in."
msgstr "既にログインしています。"
#: actions/login.php:114 actions/login.php:124
-#, fuzzy
msgid "Invalid or expired token."
-msgstr "ä¸\8dæ£ã\81ªé\80\9aç\9f¥å\86\85容"
+msgstr "ä¸\8dæ£ã\81¾ã\81\9fã\81¯æ\9c\9fé\99\90å\88\87ã\82\8cã\81®ã\83\88ã\83¼ã\82¯ã\83³"
#: actions/login.php:147
msgid "Incorrect username or password."
msgstr "ユーザ名またはパスワードが間違っています。"
#: actions/login.php:153
-#, fuzzy
msgid "Error setting user. You are probably not authorized."
-msgstr "認証されていません。"
+msgstr "ユーザ設定エラー。 あなたはたぶん承認されていません。"
-#: actions/login.php:208 actions/login.php:261 lib/action.php:458
+#: actions/login.php:208 actions/login.php:261 lib/action.php:459
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "ログイン"
#: actions/login.php:247
msgid "Login to site"
-msgstr ""
+msgstr "サイトへログイン"
#: actions/login.php:250 actions/profilesettings.php:106
#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
"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
#: 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 "新しい通知"
+msgstr "新しいつぶやき"
-#: actions/newnotice.php:216
-#, fuzzy
+#: actions/newnotice.php:211
msgid "Notice posted"
-msgstr "通知"
+msgstr "つぶやきを投稿しました"
#: actions/noticesearch.php:68
#, php-format
msgid ""
"Search for notices on %%site.name%% by their contents. Separate search terms "
"by spaces; they must be 3 characters or more."
-msgstr "%%site.name%% の通知を内容から検索。検索語はスペース区切る。3字以上"
+msgstr ""
+"%%site.name%% のつぶやきを内容から検索。検索語はスペース区切り。3字以上"
#: actions/noticesearch.php:78
msgid "Text search"
-msgstr "文字検索"
+msgstr "テキスト検索"
#: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
msgid "Search results for \"%s\" on %s"
-msgstr "\"%s\" のストリームを検索"
+msgstr "%s の %s 上の検索結果"
#: actions/noticesearch.php:121
#, php-format
"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
"Why not [register an account](%%%%action.register%%%%) and be the first to "
"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
msgstr ""
+"なぜ [アカウント登録](%%%%action.register%%%%) しないのですか、そして最初の"
+"[このトピック投稿](%%%%action.newnotice%%%%?status_textarea=%s)してください!"
#: actions/noticesearchrss.php:96
-#, fuzzy, php-format
+#, php-format
msgid "Updates with \"%s\""
-msgstr "マイクロブログ by %s"
+msgstr "%s で更新"
#: actions/noticesearchrss.php:98
#, php-format
msgid "Updates matching search term \"%1$s\" on %2$s!"
-msgstr "検索語「%s」に一致するすべての更新"
+msgstr "\"%2$s\" 上の検索語 \"$1$s\" に一致するすべての更新"
#: actions/nudge.php:85
msgid ""
"This user doesn't allow nudges or hasn't confirmed or set his email yet."
msgstr ""
+"この利用者は、合図を許可していないか、確認されていた状態でないか、メール設定"
+"をしていません。"
#: actions/nudge.php:94
msgid "Nudge sent"
-msgstr ""
+msgstr "合図を送った"
#: actions/nudge.php:97
msgid "Nudge sent!"
-msgstr ""
+msgstr "合図を送った!"
#: actions/oembed.php:79 actions/shownotice.php:100
msgid "Notice has no profile"
-msgstr "通知にはプロファイルはありません。"
+msgstr "つぶやきにはプロファイルはありません。"
#: actions/oembed.php:86 actions/shownotice.php:180
#, php-format
msgid "%1$s's status on %2$s"
-msgstr "%2$s における %1$ の状態"
+msgstr "%2$s における %1$ のステータス"
#: actions/oembed.php:157
msgid "content type "
#: actions/oembed.php:160
msgid "Only "
-msgstr ""
+msgstr "だけ "
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
#: lib/api.php:1059 lib/api.php:1169
msgid "Not a supported data format."
-msgstr ""
+msgstr "サポートされていないデータ形式。"
#: actions/opensearch.php:64
msgid "People Search"
-msgstr ""
+msgstr "ピープル検索"
#: actions/opensearch.php:67
msgid "Notice Search"
-msgstr ""
+msgstr "つぶやき検索"
#: actions/othersettings.php:60
-#, fuzzy
msgid "Other Settings"
-msgstr "設定"
+msgstr "その他の設定"
#: actions/othersettings.php:71
msgid "Manage various other options."
-msgstr ""
+msgstr "他のオプションを管理。"
#: actions/othersettings.php:108
msgid " (free service)"
-msgstr ""
+msgstr "(フリーサービス)"
#: actions/othersettings.php:116
msgid "Shorten URLs with"
-msgstr ""
+msgstr "URLを短くします"
#: actions/othersettings.php:117
msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "使用する自動短縮サービス。"
#: actions/othersettings.php:122
-#, fuzzy
msgid "View profile designs"
-msgstr "プロファイル設定"
+msgstr "プロファイルデザインを表示"
#: actions/othersettings.php:123
msgid "Show or hide profile designs."
-msgstr ""
+msgstr "プロファイルデザインの表示または非表示"
#: actions/othersettings.php:153
-#, fuzzy
msgid "URL shortening service is too long (max 50 chars)."
-msgstr "場所が長すぎます。(255字まで)"
+msgstr "URL 短縮サービスが長すぎます。(最大50字)"
#: actions/outbox.php:58
#, php-format
msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "%s の送信箱 - ページ %d"
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
-msgstr ""
+msgstr "%s の送信箱"
#: actions/outbox.php:116
msgid "This is your outbox, which lists private messages you have sent."
msgstr ""
+"これはあなたの送信箱です、あなたが送ったプライベート・メッセージをリストしま"
+"す。"
#: actions/passwordsettings.php:58
msgid "Change password"
#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
msgid "Password change"
-msgstr "パスワードの変更"
+msgstr "パスワード変更"
#: actions/passwordsettings.php:104
msgid "Old password"
#: 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"
#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:308
msgid "Paths"
-msgstr ""
+msgstr "パス"
#: actions/pathsadminpanel.php:70
msgid "Path and server settings for this StatusNet site."
-msgstr ""
+msgstr "パスと StatusNet サイトのサーバー設定"
#: actions/pathsadminpanel.php:140
-#, fuzzy, php-format
+#, php-format
msgid "Theme directory not readable: %s"
-msgstr "ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81¯ã\81\82ã\81ªã\81\9fã\81\8cæ\89¿èª\8dã\81\97ã\81\9fã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82¤ã\83\97ã\81§ã\81¯å\88©ç\94¨ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\83\86ã\83¼ã\83\9eã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\8cèªã\81¿è¾¼ã\82\81ã\81¾ã\81\9bã\82\93: %s"
#: actions/pathsadminpanel.php:146
#, php-format
msgid "Avatar directory not writable: %s"
-msgstr ""
+msgstr "アバターディレクトリに書き込みできません: %s"
#: actions/pathsadminpanel.php:152
#, php-format
msgid "Background directory not writable: %s"
-msgstr ""
+msgstr "バックグラウンドディレクトリに書き込みできません : %s"
#: actions/pathsadminpanel.php:160
#, php-format
msgid "Locales directory not readable: %s"
-msgstr ""
+msgstr "場所ディレクトリが読み込めません: %s"
#: actions/pathsadminpanel.php:166
msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
+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 "ã\82¢ã\83\90ã\82¿ã\83¼ã\81\8cæ\9b´æ\96°ã\81\95ã\82\8cã\81¾ã\81\97ã\81\9fã\80\82"
+msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\83\91ã\82¹"
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\81\8cæ\9b´æ\96°ã\81\95ã\82\8cã\81¾ã\81\97ã\81\9fã\80\82"
+msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª"
#: actions/pathsadminpanel.php: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
"Search for people on %%site.name%% by their name, location, or interests. "
"Separate the terms by spaces; they must be 3 characters or more."
msgstr ""
-"%%site.name%% の人を名前、場所、興味から検索。検索語はスペース区切る。3字以上"
+"%%site.name%% の人を名前、場所、興味から検索。検索語はスペース区切り。3字以"
+"上。"
#: actions/peoplesearch.php:58
msgid "People search"
msgstr "ピープルサーチ"
#: actions/peopletag.php:70
-#, fuzzy, php-format
+#, php-format
msgid "Not a valid people tag: %s"
-msgstr "æ\9c\89å\8a¹ã\81ªã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ã\81§ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "æ£ã\81\97ã\81\84ã\82¿ã\82°ã\81§ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ï¼\9a %s"
#: actions/peopletag.php:144
#, php-format
msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "ユーザがつけたタグ %s - ページ %d"
#: actions/postnotice.php:84
msgid "Invalid notice content"
-msgstr "不正な通知内容"
+msgstr "不正なつぶやき内容"
#: actions/postnotice.php:90
#, php-format
msgid "Notice license ‘%s’ is not compatible with site license ‘%s’."
-msgstr ""
+msgstr "つぶやきライセンス ‘%s’ はサイトライセンス ‘%s’ と互換性がありません。"
#: actions/profilesettings.php:60
msgid "Profile settings"
"す。"
#: 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"
#: actions/profilesettings.php:134 actions/register.php:472
msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr "自分のいる場所。例:「都市, 州 (または地域), 国」"
+msgstr "自分のいる場所。例:「都市, 都道府県 (または地域), 国」"
+
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr "つぶやきを投稿するときには私の現在の場所を共有してください"
-#: actions/profilesettings.php:138 actions/tagother.php:149
+#: 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 "自分を購読している者を自動的に購読する (非人間に最適)"
+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 "ä¸\8dæ£ã\81ªã\83\9bã\83¼ã\83 ã\83\9aã\83¼ã\82¸ '%s'"
+msgstr "ä¸\8dæ£ã\81ªã\82¿ã\82°: \"%s\""
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
msgid "Couldn't update user for autosubscribe."
-msgstr ""
+msgstr "自動フォローのための利用者を更新できませんでした。"
+
+#: actions/profilesettings.php: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 "ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ä¿\9då\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82¿ã\82°ã\82\92ä¿\9då\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
msgid "Settings saved."
msgstr "設定が保存されました。"
#: actions/public.php:83
#, php-format
msgid "Beyond the page limit (%s)"
-msgstr ""
+msgstr "ページ制限を超えました (%s)"
#: actions/public.php:92
msgid "Could not retrieve public stream."
-msgstr ""
+msgstr "パブリックストリームを検索できません。"
#: actions/public.php:129
-#, fuzzy, php-format
+#, php-format
msgid "Public timeline, page %d"
-msgstr "パブリックタイムライン"
+msgstr "パブリックタイムライン、ページ %d"
#: actions/public.php:131 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "パブリックタイムライン"
#: actions/public.php:151
-#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89 (RSS 1.0)"
#: actions/public.php:155
-#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89 (RSS 2.0)"
#: actions/public.php:159
-#, fuzzy
msgid "Public Stream Feed (Atom)"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83\95ã\82£ã\83¼ã\83\89 (Atom)"
#: actions/public.php:179
#, php-format
"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
"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
"blogging) service based on the Free Software [StatusNet](http://status.net/) "
"tool."
msgstr ""
+"これは %%site.name%% です。フリーソフトウェアツール[StatusNet](http://status."
+"net/)を基にした[マイクロブロギング](http://en.wikipedia.org/wiki/Micro-"
+"blogging) サービス。"
#: actions/publictagcloud.php:57
-#, fuzzy
msgid "Public tag cloud"
-msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\83\95ã\82£ã\83¼ド"
+msgstr "ã\83\91ã\83\96ã\83ªã\83\83ã\82¯ã\82¿ã\82°ã\82¯ã\83©ã\82¦ド"
#: actions/publictagcloud.php:63
#, php-format
msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "これらは %s の人気がある最近のタグです "
#: actions/publictagcloud.php:69
#, php-format
msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
msgstr ""
+"まだだれも [ハッシュタグ](%%doc.tags%%) 付きのつぶやきを投稿していません。"
#: actions/publictagcloud.php:72
msgid "Be the first to post one!"
-msgstr ""
+msgstr "投稿する1番目になってください!"
#: actions/publictagcloud.php:75
#, php-format
"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!"
#: 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."
#: actions/recoverpassword.php:210 actions/recoverpassword.php:322
msgid "Password recovery requested"
-msgstr "ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89å\9b\9e復ã\81®リクエストされました"
+msgstr "ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89å\9b\9e復ã\81\8cリクエストされました"
#: actions/recoverpassword.php:213
msgid "Unknown action"
-msgstr ""
+msgstr "不明なアクション"
#: actions/recoverpassword.php:236
msgid "6 or more characters, and don't forget it!"
#: 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."
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."
#: 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."
"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."
#: 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
#: 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
"register%%) a new account. If you already have an account on a [compatible "
"microblogging site](%%doc.openmublog%%), enter your profile URL below."
msgstr ""
-"ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96するには、[ログイン](%%action.login%%) するか, [登録](%%action."
+"ã\83\95ã\82©ã\83ã\83¼するには、[ログイン](%%action.login%%) するか, [登録](%%action."
"register%%) を行って下さい。既に [compatible microblogging site](%%doc."
-"openmublog%%) にアカウントを持っおもちの場合は、下にプロファイルURLを入力して"
-"下さい."
+"openmublog%%) にアカウントをお持ちの場合は、下にプロファイルURLを入力して下さ"
+"い."
#: actions/remotesubscribe.php:112
msgid "Remote subscribe"
-msgstr "ã\83ªã\83¢ã\83¼ã\83\88ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96"
+msgstr "ã\83ªã\83¢ã\83¼ã\83\88ã\83\95ã\82©ã\83ã\83¼"
#: actions/remotesubscribe.php:124
-#, fuzzy
msgid "Subscribe to a remote user"
-msgstr "購読が許可"
+msgstr "リモートユーザーをフォロー"
#: actions/remotesubscribe.php:129
msgid "User nickname"
-msgstr "ユーザのニックネーム"
+msgstr "利用者のニックネーム"
#: actions/remotesubscribe.php:130
msgid "Nickname of the user you want to follow"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
#: lib/userprofile.php:365
msgid "Subscribe"
-msgstr "購読"
+msgstr "フォロー"
#: actions/remotesubscribe.php:159
msgid "Invalid profile URL (bad format)"
msgstr "不正なプロファイルURL。(形式不備)"
#: actions/remotesubscribe.php:168
-#, fuzzy
msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
-msgstr "有効なプロファイルURLではありません。(XRDSドキュメントが無い)"
+msgstr ""
+"有効なプロファイルURLではありません。(YADIS ドキュメントがないかまたは 不正"
+"な XRDS 定義)"
#: actions/remotesubscribe.php:176
msgid "That’s a local profile! Login to subscribe."
msgstr ""
+"それはローカルのプロファイルです! フォローするには、ログインしてください。"
#: actions/remotesubscribe.php:183
-#, fuzzy
msgid "Couldn’t get a request token."
msgstr "リクエストトークンを取得できません"
#: actions/repeat.php:57
msgid "Only logged-in users can repeat notices."
-msgstr ""
+msgstr "ログインユーザだけがつぶやきを繰り返せます。"
#: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
msgid "No notice specified."
-msgstr "新しい通知"
+msgstr "つぶやきがありません。"
#: actions/repeat.php:76
-#, fuzzy
msgid "You can't repeat your own notice."
-msgstr "ライセンスに同意頂けない場合は登録できません。"
+msgstr "自分のつぶやきは繰り返せません。"
#: actions/repeat.php:90
-#, fuzzy
msgid "You already repeated that notice."
-msgstr "既にログイン済みです。"
+msgstr "すでにそのつぶやきを繰り返しています。"
-#: actions/repeat.php:114 lib/noticelist.php:621
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:629
msgid "Repeated"
-msgstr "作成"
+msgstr "繰り返された"
#: actions/repeat.php:119
-#, fuzzy
msgid "Repeated!"
-msgstr "作成"
+msgstr "繰り返されました!"
#: actions/replies.php:125 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
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
"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
"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
"You can try to [nudge %s](../%s) or [post something to his or her attention]"
"(%%%%action.newnotice%%%%?status_textarea=%s)."
msgstr ""
+"あなたは [合図 %s](../%s) するか、[その人宛てに何かを投稿](%%%%action."
+"newnotice%%%%?status_textarea=%s)してください。"
#: actions/repliesrss.php:72
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s on %2$s!"
-msgstr "%s への返信"
+msgstr "%2$s 上の %1$s への返信!"
#: actions/sandbox.php:65 actions/unsandbox.php:65
-#, fuzzy
msgid "You cannot sandbox users on this site."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81\93ã\81®ã\82µã\82¤ã\83\88ã\81®ã\82µã\83³ã\83\89ã\83\9cã\83\83ã\82¯ã\82¹ã\83¦ã\83¼ã\82¶ã\81\8cã\81§ã\81\8dません。"
#: actions/sandbox.php:72
-#, fuzzy
msgid "User is already sandboxed."
-msgstr "プロファイルがありません。"
+msgstr "利用者はすでにサンドボックスです。"
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%s's favorite notices, page %d"
-msgstr "そのような通知はありません。"
+msgstr "%s のお気に入りのつぶやき、ページ %d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "お気に入りのつぶやきを検索できません。"
#: actions/showfavorites.php:170
-#, fuzzy, php-format
+#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
-msgstr "%s ã\81®ã\81¨ã\82\82ã\81 ã\81¡ã\81®ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "%s ã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\83\95ã\82£ã\83¼ã\83\89 (RSS 1.0)"
#: actions/showfavorites.php:177
-#, fuzzy, php-format
+#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
-msgstr "%s ã\81®ã\81¨ã\82\82ã\81 ã\81¡ã\81®ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "%s ã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\83\95ã\82£ã\83¼ã\83\89 (RSS 2.0)"
#: actions/showfavorites.php:184
-#, fuzzy, php-format
+#, php-format
msgid "Feed for favorites of %s (Atom)"
-msgstr "%s ã\81®ã\81¨ã\82\82ã\81 ã\81¡ã\81®ã\83\95ã\82£ã\83¼ã\83\89"
+msgstr "%s ã\81®ã\81\8aæ°\97ã\81«å\85¥ã\82\8aã\81®ã\83\95ã\82£ã\83¼ã\83\89 (Atom)"
#: actions/showfavorites.php:205
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
+"あなたはまだ少しのお気に入りのつぶやきも選んでいません。 後でブックマークを追"
+"加するあなたがそれらがお気に入りのつぶやきのときにお気に入りボタンをクリック"
+"するか、またはそれらの上でスポットライトをはじいてください。"
#: actions/showfavorites.php:207
#, php-format
"%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
"account](%%%%action.register%%%%) and then post something interesting they "
"would add to their favorites :)"
msgstr ""
+"%s はまだお気に入りに少しのつぶやきも加えていません。 なぜ [アカウント登録](%"
+"%%%action.register%%%%) しないのですか。そして、彼らがお気に入りに加えるおも"
+"しろい何かを投稿しませんか:)"
#: actions/showfavorites.php:242
msgid "This is a way to share what you like."
-msgstr ""
+msgstr "これは、あなたが好きなことを共有する方法です。"
#: actions/showgroup.php:82 lib/groupnav.php:86
#, php-format
msgid "%s group"
-msgstr ""
+msgstr "%s グループ"
#: actions/showgroup.php:84
#, php-format
msgid "%s group, page %d"
-msgstr ""
+msgstr "%s グループ、ページ %d"
#: actions/showgroup.php:218
-#, fuzzy
msgid "Group profile"
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªé\80\9aç\9f¥ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«"
#: actions/showgroup.php:263 actions/tagother.php:118
#: actions/userauthorization.php:167 lib/userprofile.php:177
msgid "URL"
-msgstr ""
+msgstr "URL"
#: actions/showgroup.php:274 actions/tagother.php:128
#: actions/userauthorization.php:179 lib/userprofile.php:194
-#, fuzzy
msgid "Note"
-msgstr "通知"
+msgstr "ノート"
#: actions/showgroup.php:284 lib/groupeditform.php:184
msgid "Aliases"
-msgstr ""
+msgstr "別名"
#: actions/showgroup.php:293
msgid "Group actions"
-msgstr ""
+msgstr "グループアクション"
#: actions/showgroup.php:328
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%s グループのつぶやきフィード (RSS 1.0)"
#: actions/showgroup.php:334
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%s グループのつぶやきフィード (RSS 2.0)"
#: actions/showgroup.php:340
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s group (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%s グループのつぶやきフィード (Atom)"
#: actions/showgroup.php:345
-#, fuzzy, php-format
+#, php-format
msgid "FOAF for %s group"
-msgstr "%sの通知フィード"
+msgstr "%s グループの FOAF"
#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
-#, fuzzy
msgid "Members"
-msgstr "ã\81\8bã\82\89ã\81®ã\83¡ã\83³ã\83\90ã\83¼"
+msgstr "メンバー"
#: actions/showgroup.php:386 lib/profileaction.php:117
#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
#: lib/tagcloudsection.php:71
msgid "(None)"
-msgstr ""
+msgstr "(なし)"
#: actions/showgroup.php:392
msgid "All members"
-msgstr ""
+msgstr "全てのメンバー"
#: actions/showgroup.php:429 lib/profileaction.php:174
msgid "Statistics"
msgstr "統計データ"
#: actions/showgroup.php:432
-#, fuzzy
msgid "Created"
-msgstr "作成"
+msgstr "作成されました"
#: actions/showgroup.php:448
#, php-format
"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
"[StatusNet](http://status.net/) tool. Its members share short messages about "
"their life and interests. "
msgstr ""
+"**%s** は %%site.name%% 上のユーザグループです。フリーソフトウェアツール"
+"[StatusNet](http://status.net/)を基にした[マイクロブロギング](http://en."
+"wikipedia.org/wiki/Micro-blogging) サービス。メンバーは彼らの暮らしと興味に関"
+"する短いメッセージを共有します。"
#: actions/showgroup.php:482
-#, fuzzy
msgid "Admins"
msgstr "管理者"
#: actions/showmessage.php:81
msgid "No such message."
-msgstr ""
+msgstr "そのようなメッセージはありません。"
#: actions/showmessage.php:98
msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "送信者と受取人だけがこのメッセージを読めます。"
#: actions/showmessage.php:108
#, php-format
msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "%2$s 上の %1$s へのメッセージ"
#: actions/showmessage.php:113
#, php-format
msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "%2$s 上の %1$s からのメッセージ"
#: actions/shownotice.php:90
-#, fuzzy
msgid "Notice deleted."
-msgstr "通知"
+msgstr "つぶやきを削除しました。"
#: actions/showstream.php:73
#, php-format
msgid " tagged %s"
-msgstr ""
+msgstr "タグ付けされた %s"
#: actions/showstream.php:79
#, php-format
msgid "%s, page %d"
-msgstr ""
+msgstr "%s、ページ %d"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s tagged %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%sの%sとタグ付けされたつぶやきフィード (RSS 1.0)"
#: actions/showstream.php:129
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%sのつぶやきフィード (RSS 1.0)"
#: actions/showstream.php:136
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%sのつぶやきフィード (RSS 2.0)"
#: actions/showstream.php:143
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%sのつぶやきフィード (Atom)"
#: actions/showstream.php:148
#, php-format
msgid "FOAF for %s"
-msgstr ""
+msgstr "%s の FOAF"
#: actions/showstream.php:191
#, php-format
msgid "This is the timeline for %s but %s hasn't posted anything yet."
-msgstr ""
+msgstr "これは %s のタイムラインですが、%s はまだなにも投稿していません。"
#: actions/showstream.php:196
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
msgstr ""
+"最近おもしろいものは何でしょう? あなたは少しのつぶやきも投稿していませんが、"
+"いまは始める良い時でしょう:)"
#: actions/showstream.php:198
#, php-format
"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
"[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
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
"[StatusNet](http://status.net/) tool. "
msgstr ""
+"**%s** は %%site.name%% 上のアカウントです。フリーソフトウェアツール"
+"[StatusNet](http://status.net/)を基にした[マイクロブロギング] (http://en."
+"wikipedia.org/wiki/Micro-blogging) サービス。"
#: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
msgid "Repeat of %s"
-msgstr "%s ã\81¸ã\81®è¿\94ä¿¡"
+msgstr "%s ã\81®ç¹°ã\82\8aè¿\94ã\81\97"
#: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site."
-msgstr ""
+msgstr "あなたはこのサイトでユーザを黙らせることができません。"
#: actions/silence.php:72
-#, fuzzy
msgid "User is already silenced."
-msgstr "プロファイルがありません。"
+msgstr "利用者は既に黙っています。"
#: actions/siteadminpanel.php:69
msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "この StatusNet サイトの基本設定。"
#: actions/siteadminpanel.php: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
-#, fuzzy
msgid "Site name"
-msgstr "新しい通知"
+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 "ã\81\9dã\81®ã\83¦ã\83¼ã\82¶ã\81«ã\81¯ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ã\81®ç\99»é\8c²ã\81\8cã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\82µã\82¤ã\83\88ã\81«ã\82³ã\83³ã\82¿ã\82¯ã\83\88ã\81\99ã\82\8bã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹"
#: actions/siteadminpanel.php: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"
#: 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 "ã\83\97ã\83©ã\82¤ã\83\90ã\82·ã\83¼"
+msgstr "ã\83\97ã\83©ã\82¤ã\83\99ã\83¼ã\83\88"
#: 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"
#: 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."
#: 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
"Mobile carrier for your phone. If you know a carrier that accepts SMS over "
"email but isn't listed here, send email to let us know at %s."
msgstr ""
+"あなたの電話のための携帯電話会社。 メールの上にSMSを受け入れますが、ここに記"
+"載されていないキャリアを知っているなら、メールを送って、%sで私たちに知らせて"
+"ください。"
#: actions/smssettings.php:498
msgid "No code entered"
-msgstr ""
+msgstr "コードが入力されていません"
#: actions/subedit.php:70
-#, fuzzy
msgid "You are not subscribed to that profile."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡されていません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\83\95ã\82©ã\83ã\83¼されていません。"
#: actions/subedit.php:83
-#, fuzzy
msgid "Could not save subscription."
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\83\95ã\82©ã\83ã\83¼ã\82\92ä¿\9då\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: actions/subscribe.php:55
-#, fuzzy
msgid "Not a local user."
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83¦ã\83¼ã\82¶ã\81¯ã\81\84ません。"
+msgstr "ã\83ã\83¼ã\82«ã\83«ã\83¦ã\83¼ã\82¶ã\81§ã\81¯ã\81\82ã\82\8aません。"
#: actions/subscribe.php:69
-#, fuzzy
msgid "Subscribed"
-msgstr "購読"
+msgstr "フォローしている"
#: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
msgid "%s subscribers"
-msgstr "購読者"
+msgstr "フォローされている"
#: actions/subscribers.php:52
#, php-format
msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "%s フォローされている、ページ %d"
#: actions/subscribers.php:63
msgid "These are the people who listen to your notices."
-msgstr "あなたの通知を聞いている人"
+msgstr "あなたのつぶやきを聞いている人"
#: actions/subscribers.php:67
#, php-format
msgid "These are the people who listen to %s's notices."
-msgstr "%s の通知を聞いている人"
+msgstr "%s のつぶやきを聞いている人"
#: actions/subscribers.php:108
msgid ""
"You have no subscribers. Try subscribing to people you know and they might "
"return the favor"
msgstr ""
+"あなたには、フォローしている人が全くいません。 あなたが知っている人々をフォ"
+"ローしてみてください。そうすれば、彼らはお気に入りを返すかもしれません。"
#: actions/subscribers.php:110
#, php-format
msgid "%s has no subscribers. Want to be the first?"
-msgstr ""
+msgstr "%s にはフォローしている人がいません。最初の人になりますか?"
#: actions/subscribers.php:114
#, php-format
"%s has no subscribers. Why not [register an account](%%%%action.register%%%"
"%) and be the first?"
msgstr ""
+"%s にはフォローしている人がいません。なぜ[アカウント登録](%%%%action.register"
+"%%%%)して最初にならないのですか?"
#: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
msgid "%s subscriptions"
-msgstr "全てのサブスクリプション"
+msgstr "%s フォローしている"
#: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
msgid "%s subscriptions, page %d"
-msgstr "全てのサブスクリプション"
+msgstr "%s フォローしている、ページ %d"
#: actions/subscriptions.php:65
msgid "These are the people whose notices you listen to."
-msgstr "あなたが通知を聞いている人"
+msgstr "あなたがつぶやきを聞いている人"
#: actions/subscriptions.php:69
#, php-format
msgid "These are the people whose notices %s listens to."
-msgstr "%s が通知を聞いている人"
+msgstr "%s がつぶやきを聞いている人"
#: actions/subscriptions.php:121
#, php-format
"featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can "
"automatically subscribe to people you already follow there."
msgstr ""
+"今、だれのつぶやきも聞いていないなら、あなたが知っている人々をフォローしてみ"
+"てください。[ピープル検索](%%action.peoplesearch%%)を試してください。そして、"
+"あなたが興味を持っているグループと私たちの[フィーチャーされた利用者](%%"
+"action.featured%%)のメンバーを探してください。もし[Twitterユーザ](%%action."
+"twittersettings%%)であれば、あなたは自動的に既にフォローしている人々をフォ"
+"ローできます。"
#: actions/subscriptions.php:123 actions/subscriptions.php:127
-#, fuzzy, php-format
+#, php-format
msgid "%s is not listening to anyone."
-msgstr "%1$s は %2$s であなたの通知を聞いています。"
+msgstr "%s はだれも言うことを聞いていません。"
#: actions/subscriptions.php:194
-#, fuzzy
msgid "Jabber"
-msgstr "Jabbar ID はありません。"
+msgstr "Jabber"
#: actions/subscriptions.php:199 lib/connectsettingsaction.php:115
msgid "SMS"
-msgstr ""
+msgstr "SMS"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %s, page %d"
-msgstr "マイクロブログ by %s"
+msgstr "%s とタグ付けされたつぶやき、ページ %d"
#: actions/tag.php:86
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "%sの通知フィード"
+msgstr "%s とタグ付けされたつぶやきフィード (RSS 1.0)"
#: actions/tag.php:92
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "%sの通知フィード"
+msgstr "%s とタグ付けされたつぶやきフィード (RSS 2.0)"
#: actions/tag.php:98
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for tag %s (Atom)"
-msgstr "%sの通知フィード"
+msgstr "%s とタグ付けされたつぶやきフィード (Atom)"
#: actions/tagother.php:39
-#, fuzzy
msgid "No ID argument."
-msgstr "そのようなドキュメントはありません。"
+msgstr "ID引数がありません。"
#: actions/tagother.php:65
#, php-format
msgid "Tag %s"
-msgstr ""
+msgstr "タグ %s"
#: actions/tagother.php:77 lib/userprofile.php:75
-#, fuzzy
msgid "User profile"
-msgstr "プロファイルがありません。"
+msgstr "利用者プロファイル"
#: actions/tagother.php:81 lib/userprofile.php:102
msgid "Photo"
-msgstr ""
+msgstr "写真"
#: actions/tagother.php:141
msgid "Tag user"
-msgstr ""
+msgstr "タグ利用者"
#: actions/tagother.php:151
msgid ""
"Tags for this user (letters, numbers, -, ., and _), comma- or space- "
"separated"
msgstr ""
+"この利用者のタグ (アルファベット、数字、-、.、_)、カンマかスペース区切り"
#: actions/tagother.php:193
msgid ""
"You can only tag people you are subscribed to or who are subscribed to you."
msgstr ""
+"あなたはフォローされる人々にタグ付けをすることができるだけか、あなたをフォ"
+"ローされているか。"
#: actions/tagother.php:200
-#, fuzzy
msgid "Could not save tags."
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\82\92ä¿\9då\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82¿ã\82°ã\82\92ã\82\92ä¿\9då\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: actions/tagother.php:236
msgid "Use this form to add tags to your subscribers or subscriptions."
-msgstr ""
+msgstr "このフォームを使用して、フォロー者かフォローにタグを加えてください。"
#: actions/tagrss.php:35
-#, fuzzy
msgid "No such tag."
-msgstr "そのような通知はありません。"
+msgstr "そのようなタグはありません。"
#: actions/twitapitrends.php:87
msgid "API method under construction."
msgstr "API メソッドが工事中です。"
#: actions/unblock.php:59
-#, fuzzy
msgid "You haven't blocked that user."
-msgstr "既にログイン済みです。"
+msgstr "あなたはそのユーザをブロックしていません。"
#: actions/unsandbox.php:72
-#, fuzzy
msgid "User is not sandboxed."
-msgstr "プロファイルがありません。"
+msgstr "利用者はサンドボックスではありません。"
#: actions/unsilence.php:72
-#, fuzzy
msgid "User is not silenced."
-msgstr "プロファイルがありません。"
+msgstr "利用者はサイレンスではありません。"
#: actions/unsubscribe.php:77
msgid "No profile id in request."
#: actions/unsubscribe.php:98
msgid "Unsubscribed"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96解除済み"
+msgstr "ã\83\95ã\82©ã\83ã\83¼解除済み"
#: actions/updateprofile.php:62 actions/userauthorization.php:330
#, php-format
msgid "Listenee stream license ‘%s’ is not compatible with site license ‘%s’."
msgstr ""
+"リスニーストリームライセンス ‘%s’ は、サイトライセンス ‘%s’ と互換性がありま"
+"せん。"
#: actions/useradminpanel.php:58 lib/adminpanelaction.php:305
#: lib/personalgroupnav.php:115
msgid "User"
-msgstr ""
+msgstr "利用者"
#: actions/useradminpanel.php:69
msgid "User settings for this StatusNet site."
-msgstr ""
+msgstr "この StatusNet サイトの利用者設定。"
#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
-msgstr ""
+msgstr "不正な自己紹介制限。数字である必要があります。"
#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
-msgstr ""
+msgstr "不正なウェルカムテキスト。最大長は255字です。"
#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
-msgstr ""
+msgstr "不正なデフォルトフォローです: '%1$s' は利用者ではありません。"
#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
#: actions/useradminpanel.php:222
msgid "Bio Limit"
-msgstr ""
+msgstr "自己紹介制限"
#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
-msgstr ""
+msgstr "プロファイル自己紹介の最大文字長。"
#: actions/useradminpanel.php:231
-#, fuzzy
msgid "New users"
-msgstr "削除"
+msgstr "新しい利用者"
#: actions/useradminpanel.php:235
msgid "New user welcome"
-msgstr ""
+msgstr "新しい利用者を歓迎"
#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+msgstr "新しい利用者へのウェルカムテキスト (最大255字)。"
#: actions/useradminpanel.php:241
-#, fuzzy
msgid "Default subscription"
-msgstr "ã\81\99ã\81¹ã\81¦ã\81®è³¼èª"
+msgstr "ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\95ã\82©ã\83ã\83¼"
#: actions/useradminpanel.php:242
-#, fuzzy
msgid "Automatically subscribe new users to this user."
-msgstr "è\87ªå\88\86ã\82\92è³¼èªã\81\97ã\81¦ã\81\84ã\82\8bè\80\85ã\82\92è\87ªå\8b\95ç\9a\84ã\81«è³¼èªã\81\99ã\82\8b (é\9d\9e人é\96\93ã\81«æ\9c\80é\81©)"
+msgstr "è\87ªå\8b\95ç\9a\84ã\81«ã\81\93ã\81®å\88©ç\94¨è\80\85ã\81«æ\96°ã\81\97ã\81\84å\88©ç\94¨è\80\85ã\82\92ã\83\95ã\82©ã\83ã\83¼ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82"
#: actions/useradminpanel.php:251
-#, fuzzy
msgid "Invitations"
-msgstr "確認コード"
+msgstr "招待"
#: actions/useradminpanel.php:256
msgid "Invitations enabled"
-msgstr ""
+msgstr "招待が可能"
#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
-msgstr ""
+msgstr "利用者が新しい利用者を招待するのを許容するかどうか。"
#: actions/useradminpanel.php:265
msgid "Sessions"
-msgstr ""
+msgstr "セッション"
#: actions/useradminpanel.php:270
msgid "Handle sessions"
-msgstr ""
+msgstr "セッションの扱い"
#: actions/useradminpanel.php:272
msgid "Whether to handle sessions ourselves."
-msgstr ""
+msgstr "自分達でセッションを扱うのであるかどうか。"
#: actions/useradminpanel.php:276
msgid "Session debugging"
-msgstr ""
+msgstr "セッションデバッグ"
#: actions/useradminpanel.php:278
msgid "Turn on debugging output for sessions."
-msgstr ""
+msgstr "セッションのためのデバッグ出力をオン。"
#: actions/userauthorization.php:105
msgid "Authorize subscription"
-msgstr "購読を許可"
+msgstr "フォローを承認"
#: actions/userauthorization.php:110
-#, fuzzy
msgid ""
"Please check these details to make sure that you want to subscribe to this "
"user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
"click “Reject”."
msgstr ""
-"ユーザの通知を購読するには詳細を確認して下さい。購読しない場合は、\"Cancel\" "
-"ã\82ã\83£ã\83³ã\82»ã\83«をクリックして下さい。"
+"ユーザのつぶやきをフォローするには詳細を確認して下さい。だれかのつぶやきを"
+"ã\83\95ã\82©ã\83ã\83¼ã\81\99ã\82\8bã\81\9fã\82\81ã\81«å°\8bã\81ã\81ªã\81\84å ´å\90\88ã\81¯ã\80\81\"Reject\" をクリックして下さい。"
#: actions/userauthorization.php:188
-#, fuzzy
msgid "License"
-msgstr "ライセンス。"
+msgstr "ライセンス"
#: actions/userauthorization.php:209
msgid "Accept"
#: actions/userauthorization.php:210 lib/subscribeform.php:115
#: lib/subscribeform.php:139
msgid "Subscribe to this user"
-msgstr "このユーザーを購読"
+msgstr "このユーザーをフォロー"
#: actions/userauthorization.php:211
msgid "Reject"
msgstr "拒否"
#: actions/userauthorization.php:212
-#, fuzzy
msgid "Reject this subscription"
-msgstr "全てのサブスクリプション"
+msgstr "このフォローを拒否"
#: actions/userauthorization.php:225
msgid "No authorization request!"
#: actions/userauthorization.php:247
msgid "Subscription authorized"
-msgstr "購読が許可"
+msgstr "フォローが承認されました"
#: actions/userauthorization.php:249
msgid ""
"with the site’s instructions for details on how to authorize the "
"subscription. Your subscription token is:"
msgstr ""
+"フォローは承認されましたが、コールバックURLが通過できませんでした。どう"
+"フォローを承認するかに関する詳細のためのサイトの指示をチェックしてください。"
+"あなたのフォロートークンは:"
#: actions/userauthorization.php:259
msgid "Subscription rejected"
-msgstr "購読が拒否"
+msgstr "フォローが拒否"
#: actions/userauthorization.php:261
msgid ""
"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
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
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
+"どんなファイルも %d バイトより大きくてはいけません、そして、あなたが送った"
+"ファイルは %d バイトでした。より小さいバージョンをアップロードするようにして"
+"ください。"
#: classes/File.php:147
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
+"これほど大きいファイルはあなたの%dバイトのユーザ割当てを超えているでしょう。"
#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+"これほど大きいファイルはあなたの%dバイトの毎月の割当てを超えているでしょう。"
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
-msgstr ""
+msgstr "あなたはダイレクトメッセージを送るのが禁止されています。"
#: classes/Message.php:61
msgid "Could not insert message."
-msgstr ""
+msgstr "メッセージを追加できません。"
#: classes/Message.php:71
msgid "Could not update message with new URI."
-msgstr ""
+msgstr "新しいURIでメッセージをアップデートできませんでした。"
#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
-msgstr ""
+msgstr "ハッシュタグ追加 DB エラー: %s"
#: classes/Notice.php:226
-#, fuzzy
msgid "Problem saving notice. Too long."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやきを保存する際に問題が発生しました。長すぎです。"
#: classes/Notice.php:230
-#, fuzzy
msgid "Problem saving notice. Unknown user."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやきを保存する際に問題が発生しました。不明な利用者です。"
#: classes/Notice.php:235
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
+"多すぎるつぶやきが速すぎます; 数分間の休みを取ってから再投稿してください。"
#: classes/Notice.php:241
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
+"多すぎる重複メッセージが速すぎます; 数分間休みを取ってから再度投稿してくださ"
+"い。"
#: classes/Notice.php:247
msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "あなたはこのサイトでつぶやきを投稿するのが禁止されています。"
-#: classes/Notice.php:319 classes/Notice.php:344
+#: classes/Notice.php:309 classes/Notice.php:334
msgid "Problem saving notice."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやきを保存する際に問題が発生しました。"
-#: classes/Notice.php:1044
+#: classes/Notice.php:1034
#, php-format
msgid "DB error inserting reply: %s"
msgstr "返信を追加する際にデータベースエラー : %s"
-#: classes/Notice.php:1371
+#: classes/Notice.php:1361
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
#: classes/User.php:368
#, php-format
msgid "Welcome to %1$s, @%2$s!"
-msgstr ""
+msgstr "ようこそ %1$s、@%2$s!"
#: classes/User_group.php:380
-#, fuzzy
msgid "Could not create group."
-msgstr "ã\82¢ã\83\90ã\82¿ã\83¼ã\82\92ä¿\9då\98ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: classes/User_group.php:409
-#, fuzzy
msgid "Could not set group membership."
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\83¡ã\83³ã\83\90ã\83¼ã\82·ã\83\83ã\83\97ã\82\92ã\82»ã\83\83ã\83\88ã\81§ã\81\8dã\81¾ã\81\9bã\82\93ã\80\82"
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "メールの扱いを変更"
#: lib/accountsettingsaction.php:124
-#, fuzzy
msgid "Design your profile"
-msgstr "ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81\8cã\81\82ã\82\8aã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr "ã\81\82ã\81ªã\81\9fã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\87ã\82¶ã\82¤ã\83³"
#: lib/accountsettingsaction.php:128
msgid "Other"
msgid "Untitled page"
msgstr "名称未設定ページ"
-#: lib/action.php:425
+#: lib/action.php:426
msgid "Primary site navigation"
-msgstr ""
+msgstr "プライマリサイトナビゲーション"
-#: lib/action.php:431
+#: lib/action.php:432
msgid "Home"
msgstr "ホーム"
-#: lib/action.php:431
+#: lib/action.php:432
msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "パーソナルプロファイルと友人のタイムライン"
-#: lib/action.php:433
+#: lib/action.php:434
msgid "Account"
msgstr "アカウント"
-#: lib/action.php:433
+#: lib/action.php:434
msgid "Change your email, avatar, password, profile"
msgstr "メールアドレス、アバター、パスワード、プロパティの変更"
-#: lib/action.php:436
+#: lib/action.php:437
msgid "Connect"
msgstr "接続"
-#: lib/action.php:436
-#, fuzzy
+#: lib/action.php:437
msgid "Connect to services"
-msgstr "ã\82µã\83¼ã\83\90ã\81¸ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\81§ã\81\8dã\81¾ã\81\9bã\82\93 : %s"
+msgstr "ã\82µã\83¼ã\83\93ã\82¹ã\81¸æ\8e¥ç¶\9a"
-#: lib/action.php:440
-#, fuzzy
+#: lib/action.php:441
msgid "Change site configuration"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³"
+msgstr "ã\82µã\82¤ã\83\88è¨å®\9aã\81®å¤\89æ\9b´"
-#: lib/action.php:444 lib/subgroupnav.php:105
+#: lib/action.php:445 lib/subgroupnav.php:105
msgid "Invite"
-msgstr ""
+msgstr "招待"
-#: lib/action.php:445 lib/subgroupnav.php:106
+#: lib/action.php:446 lib/subgroupnav.php:106
#, php-format
msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "友人や同僚が %s で加わるよう誘ってください。"
-#: lib/action.php:450
+#: lib/action.php:451
msgid "Logout"
msgstr "ログアウト"
-#: lib/action.php:450
+#: lib/action.php:451
msgid "Logout from the site"
msgstr "サイトからログアウト"
-#: lib/action.php:455
+#: lib/action.php:456
msgid "Create an account"
msgstr "アカウントを作成"
-#: lib/action.php:458
+#: lib/action.php:459
msgid "Login to the site"
msgstr "サイトへログイン"
-#: lib/action.php:461 lib/action.php:724
+#: lib/action.php:462 lib/action.php:725
msgid "Help"
msgstr "ヘルプ"
-#: lib/action.php:461
+#: lib/action.php:462
msgid "Help me!"
msgstr "助けて!"
-#: lib/action.php:464 lib/searchaction.php:127
+#: lib/action.php:465 lib/searchaction.php:127
msgid "Search"
msgstr "検索"
-#: lib/action.php:464
+#: lib/action.php:465
msgid "Search for people or text"
msgstr "人々かテキストを検索"
-#: lib/action.php:485
-#, fuzzy
+#: lib/action.php:486
msgid "Site notice"
-msgstr "新しい通知"
+msgstr "サイトつぶやき"
-#: lib/action.php:551
+#: lib/action.php:552
msgid "Local views"
-msgstr ""
+msgstr "ローカルビュー"
-#: lib/action.php:617
-#, fuzzy
+#: lib/action.php:618
msgid "Page notice"
-msgstr "新しい通知"
+msgstr "ページつぶやき"
-#: lib/action.php:719
-#, fuzzy
+#: lib/action.php:720
msgid "Secondary site navigation"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ション"
+msgstr "ã\82»ã\82«ã\83³ã\83\80ã\83ªã\82µã\82¤ã\83\88ã\83\8aã\83\93ã\82²ã\83¼ション"
-#: lib/action.php:726
+#: lib/action.php:727
msgid "About"
-msgstr "解説"
+msgstr "About"
-#: lib/action.php:728
+#: lib/action.php:729
msgid "FAQ"
msgstr "よくある質問"
-#: lib/action.php:732
+#: lib/action.php:733
msgid "TOS"
msgstr ""
-#: lib/action.php:735
+#: lib/action.php:736
msgid "Privacy"
msgstr "プライバシー"
-#: lib/action.php:737
+#: lib/action.php:738
msgid "Source"
msgstr "ソース"
-#: lib/action.php:739
+#: lib/action.php:740
msgid "Contact"
msgstr "連絡先"
-#: lib/action.php:741
-#, fuzzy
+#: lib/action.php:742
msgid "Badge"
-msgstr "突く"
+msgstr "バッジ"
-#: lib/action.php:769
+#: lib/action.php:770
msgid "StatusNet software license"
-msgstr ""
+msgstr "StatusNet ソフトウェアライセンス"
-#: lib/action.php:772
+#: lib/action.php:773
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"**%%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 %"
"いています。 ライセンス [GNU Affero General Public License](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)。"
-#: lib/action.php:790
-#, fuzzy
+#: lib/action.php:791
msgid "Site content license"
-msgstr "新しい通知"
+msgstr "サイト内容ライセンス"
-#: lib/action.php:799
+#: lib/action.php:800
msgid "All "
-msgstr ""
+msgstr "全て "
-#: lib/action.php:804
+#: lib/action.php:805
msgid "license."
msgstr "ライセンス。"
-#: lib/action.php:1098
+#: lib/action.php:1099
msgid "Pagination"
-msgstr ""
+msgstr "ページ化"
-#: lib/action.php:1107
-#, fuzzy
+#: lib/action.php:1108
msgid "After"
-msgstr "<< 前"
+msgstr "<<後"
-#: lib/action.php:1115
-#, fuzzy
+#: lib/action.php:1116
msgid "Before"
-msgstr "前 >>"
+msgstr "前>>"
-#: lib/action.php:1163
+#: lib/action.php:1164
msgid "There was a problem with your session token."
-msgstr ""
+msgstr "あなたのセッショントークンに関する問題がありました。"
#: lib/adminpanelaction.php:96
msgid "You cannot make changes to this site."
-msgstr ""
+msgstr "あなたはこのサイトへの変更を行うことができません。"
#: lib/adminpanelaction.php:195
msgid "showForm() not implemented."
-msgstr ""
+msgstr "showForm() は実装されていません。"
#: lib/adminpanelaction.php:224
msgid "saveSettings() not implemented."
-msgstr ""
+msgstr "saveSettings() は実装されていません。"
#: lib/adminpanelaction.php:247
msgid "Unable to delete design setting."
-msgstr ""
+msgstr "デザイン設定を削除できません。"
#: lib/adminpanelaction.php:300
-#, fuzzy
msgid "Basic site configuration"
-msgstr "メールアドレス確認"
+msgstr "基本サイト設定"
#: lib/adminpanelaction.php:303
-#, fuzzy
msgid "Design configuration"
-msgstr "ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ç¢ºèª\8d"
+msgstr "ã\83\87ã\82¶ã\82¤ã\83³è¨å®\9a"
#: lib/adminpanelaction.php:306 lib/adminpanelaction.php:309
-#, fuzzy
msgid "Paths configuration"
-msgstr "ã\83¡ã\83¼ã\83«ã\82¢ã\83\89ã\83¬ã\82¹ç¢ºèª\8d"
+msgstr "ã\83\91ã\82¹è¨å®\9a"
#: lib/attachmentlist.php:87
msgid "Attachments"
-msgstr ""
+msgstr "添付"
#: lib/attachmentlist.php:265
msgid "Author"
-msgstr ""
+msgstr "作者"
#: lib/attachmentlist.php:278
-#, fuzzy
msgid "Provider"
-msgstr "ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«"
+msgstr "ã\83\97ã\83ã\83\90ã\82¤ã\83\80"
#: lib/attachmentnoticesection.php:67
msgid "Notices where this attachment appears"
-msgstr ""
+msgstr "この添付が現れるつぶやき"
#: lib/attachmenttagcloudsection.php:48
msgid "Tags for this attachment"
-msgstr ""
+msgstr "この添付のタグ"
+
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "パスワード変更"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "パスワード変更"
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
-msgstr ""
+msgstr "コマンド結果"
#: lib/channel.php:210
msgid "Command complete"
-msgstr ""
+msgstr "コマンド完了"
#: lib/channel.php:221
msgid "Command failed"
-msgstr ""
+msgstr "コマンド失敗"
#: lib/command.php:44
msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "すみません、このコマンドはまだ実装されていません。"
#: lib/command.php:88
#, php-format
#: lib/command.php:92
msgid "It does not make a lot of sense to nudge yourself!"
-msgstr ""
+msgstr "それは自分自身への合図で多くは意味がありません!"
#: lib/command.php:99
#, php-format
msgid "Nudge sent to %s"
-msgstr ""
+msgstr "%s へ合図を送りました"
#: lib/command.php:126
#, php-format
"Subscribers: %2$s\n"
"Notices: %3$s"
msgstr ""
+"フォローしている: %1$s\n"
+"フォローされている: %2$s\n"
+"つぶやき: %3$s"
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
msgid "Notice with that id does not exist"
-msgstr ""
+msgstr "その ID によるつぶやきは存在していません"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
msgid "User has no last notice"
-msgstr ""
+msgstr "利用者はまだつぶやいていません"
#: lib/command.php:190
msgid "Notice marked as fave."
-msgstr ""
+msgstr "お気に入りにされているつぶやき。"
#: lib/command.php:315
#, php-format
#: lib/command.php:318
#, php-format
msgid "Fullname: %s"
-msgstr ""
+msgstr "フルネーム: %s"
#: lib/command.php:321
#, php-format
msgid "Location: %s"
-msgstr ""
+msgstr "場所: %s"
#: lib/command.php:324
#, php-format
msgid "Homepage: %s"
-msgstr ""
+msgstr "ホームページ: %s"
#: lib/command.php:327
#, php-format
msgid "About: %s"
-msgstr ""
+msgstr "About: %s"
#: lib/command.php:358 scripts/xmppdaemon.php:301
#, php-format
msgid "Message too long - maximum is %d characters, you sent %d"
-msgstr ""
+msgstr "メッセージが長すぎます - 最大 %d 字、あなたが送ったのは %d"
#: lib/command.php:378
msgid "Error sending direct message."
-msgstr ""
+msgstr "ダイレクトメッセージ送信エラー。"
#: lib/command.php:422
msgid "Cannot repeat your own notice"
-msgstr ""
+msgstr "自分のつぶやきを繰り返すことはできません"
#: lib/command.php:427
-#, fuzzy
msgid "Already repeated that notice"
-msgstr "ã\81\93ã\81®é\80\9aç\9f¥ã\82\92å\89\8aé\99¤"
+msgstr "ã\81\99ã\81§ã\81«ã\81\93ã\81®ã\81¤ã\81¶ã\82\84ã\81\8dã\81¯ç¹°ã\82\8aè¿\94ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99"
#: lib/command.php:435
-#, fuzzy, php-format
+#, php-format
msgid "Notice from %s repeated"
-msgstr "通知"
+msgstr "%s からつぶやきが繰り返されています"
#: lib/command.php:437
-#, fuzzy
msgid "Error repeating notice."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやき繰り返しエラー"
#: lib/command.php:491
#, php-format
msgid "Notice too long - maximum is %d characters, you sent %d"
-msgstr ""
+msgstr "つぶやきが長すぎます - 最大 %d 字、あなたが送ったのは %d"
#: lib/command.php:500
-#, fuzzy, php-format
+#, php-format
msgid "Reply to %s sent"
-msgstr "この通知へ返信"
+msgstr "%s へ返信を送りました"
#: lib/command.php:502
-#, fuzzy
msgid "Error saving notice."
-msgstr "通知を保存する際に問題が発生しました。"
+msgstr "つぶやき保存エラー。"
#: lib/command.php:556
msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "フォローする利用者の名前を指定してください"
#: lib/command.php:563
#, php-format
msgid "Subscribed to %s"
-msgstr ""
+msgstr "%s をフォローしました"
#: lib/command.php:584
msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "フォローをやめるユーザの名前を指定してください"
#: lib/command.php:591
#, php-format
msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "%s のフォローをやめる"
#: lib/command.php:609 lib/command.php:632
msgid "Command not yet implemented."
-msgstr ""
+msgstr "コマンドはまだ実装されていません。"
#: lib/command.php:612
msgid "Notification off."
-msgstr ""
+msgstr "通知オフ。"
#: lib/command.php:614
msgid "Can't turn off notification."
-msgstr ""
+msgstr "通知をオフできません。"
#: lib/command.php:635
msgid "Notification on."
-msgstr ""
+msgstr "通知オン。"
#: lib/command.php:637
msgid "Can't turn on notification."
-msgstr ""
+msgstr "通知をオンできません。"
#: lib/command.php:650
msgid "Login command is disabled"
-msgstr ""
+msgstr "ログインコマンドが無効になっています。"
#: lib/command.php:664
#, php-format
#: lib/command.php:669
#, php-format
msgid "This link is useable only once, and is good for only 2 minutes: %s"
-msgstr ""
+msgstr "このリンクは、かつてだけ使用可能であり、2分間だけ良いです: %s"
#: lib/command.php:685
-#, fuzzy
msgid "You are not subscribed to anyone."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡されていません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81 ã\82\8cã\81«ã\82\82ã\83\95ã\82©ã\83ã\83¼されていません。"
#: lib/command.php:687
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
-msgstr[0] "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr[0] "ã\81\82ã\81ªã\81\9fã\81¯ã\81\93ã\81®äººã\81«ã\83\95ã\82©ã\83ã\83¼ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99:"
#: lib/command.php:707
-#, fuzzy
msgid "No one is subscribed to you."
-msgstr "リモートサブスクライブ"
+msgstr "誰もフォローしていません。"
#: lib/command.php:709
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
-msgstr[0] "ã\83ªã\83¢ã\83¼ã\83\88ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96"
+msgstr[0] "ã\81\93ã\81®äººã\81¯ã\81\82ã\81ªã\81\9fã\81«ã\83\95ã\82©ã\83ã\83¼ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b:"
#: lib/command.php:729
-#, fuzzy
msgid "You are not a member of any groups."
-msgstr "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ません。"
+msgstr "ã\81\82ã\81ªã\81\9fã\81¯ã\81©ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\82\82ã\81\82ã\82\8aません。"
#: lib/command.php:731
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
-msgstr[0] "ã\81\9dã\81®ã\83\97ã\83ã\83\95ã\82¡ã\82¤ã\83«ã\81¯é\80\81ä¿¡ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\9bã\82\93ã\80\82"
+msgstr[0] "ã\81\82ã\81ªã\81\9fã\81¯ã\81\93ã\81®ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83¡ã\83³ã\83\90ã\83¼ã\81§ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93:"
#: lib/command.php:745
msgid ""
msgstr ""
#: lib/common.php:199
-#, fuzzy
msgid "No configuration file found. "
-msgstr "確認コードがありません。"
+msgstr "コンフィギュレーションファイルがありません。 "
#: lib/common.php:200
msgid "I looked for configuration files in the following places: "
-msgstr ""
+msgstr "私は以下の場所でコンフィギュレーションファイルを探しました: "
#: lib/common.php:201
msgid "You may wish to run the installer to fix this."
msgstr ""
+"あなたは、これを修理するためにインストーラを動かしたがっているかもしれませ"
+"ん。"
#: lib/common.php:202
-#, fuzzy
msgid "Go to the installer."
-msgstr "ã\82µã\82¤ã\83\88ã\81¸ã\83ã\82°ã\82¤ã\83³"
+msgstr "ã\82¤ã\83³ã\82¹ã\83\88ã\83¼ã\83©ã\81¸ã\80\82"
#: lib/connectsettingsaction.php:110
msgid "IM"
-msgstr ""
+msgstr "IM"
#: lib/connectsettingsaction.php:111
msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "インスタントメッセンジャー(IM)での更新"
#: lib/connectsettingsaction.php:116
msgid "Updates by SMS"
-msgstr ""
+msgstr "SMSでの更新"
#: lib/dberroraction.php:60
msgid "Database error"
-msgstr ""
+msgstr "データベースエラー"
#: lib/designsettings.php:105
-#, fuzzy
msgid "Upload file"
-msgstr "アップロード"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89"
#: lib/designsettings.php:109
-#, fuzzy
msgid ""
"You can upload your personal background image. The maximum file size is 2MB."
-msgstr "長すぎます。通知は最大 140 字までです。"
+msgstr ""
+"自分のバックグラウンド画像をアップロードできます。最大ファイルサイズは 2MB で"
+"す。"
#: lib/designsettings.php:418
msgid "Design defaults restored."
-msgstr ""
+msgstr "デフォルトのデザインを回復。"
#: lib/disfavorform.php:114 lib/disfavorform.php:140
msgid "Disfavor this notice"
-msgstr ""
+msgstr "このつぶやきのお気に入りをやめる"
#: lib/favorform.php:114 lib/favorform.php:140
msgid "Favor this notice"
-msgstr "この通知をお気に入りにする"
+msgstr "このつぶやきをお気に入りにする"
#: lib/favorform.php:140
msgid "Favor"
-msgstr ""
+msgstr "お気に入り"
#: lib/feed.php:85
msgid "RSS 1.0"
-msgstr ""
+msgstr "RSS 1.0"
#: lib/feed.php:87
msgid "RSS 2.0"
-msgstr ""
+msgstr "RSS 2.0"
#: lib/feed.php:89
msgid "Atom"
-msgstr ""
+msgstr "Atom"
#: lib/feed.php:91
msgid "FOAF"
-msgstr ""
+msgstr "FOAF"
#: lib/feedlist.php:64
msgid "Export data"
#: 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"
#: lib/galleryaction.php:141
msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "タグを選んで、リストを狭くしてください"
#: lib/galleryaction.php:143
msgid "Go"
msgstr "グループやトピックのホームページやブログの URL"
#: lib/groupeditform.php:168
-#, fuzzy
msgid "Describe the group or topic"
-msgstr "グループやトピックを140字以内記述"
+msgstr "グループやトピックを記述"
#: lib/groupeditform.php:170
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d characters"
-msgstr "グループやトピックを140字以内記述"
+msgstr "グループやトピックを %d 字以内記述"
#: lib/groupeditform.php:172
msgid "Description"
msgstr "概要"
#: lib/groupeditform.php:179
-#, fuzzy
msgid ""
"Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "ã\81\84ã\82\8bå ´æ\89\80, ä¾\8bã\81\88ã\81° \"City, State (or Region), Country\""
+msgstr "ã\82°ã\83«ã\83¼ã\83\97ã\81®å ´æ\89\80, ä¾\8bã\81\88ã\81° \"é\83½å¸\82, é\83½é\81\93åº\9cç\9c\8c (ã\81¾ã\81\9fã\81¯ å\9c°å\9f\9f), å\9b½\""
#: lib/groupeditform.php:187
#, php-format
msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgstr "グループのエクストラニックネーム、カンマまたはスペース区切り、最大 %d"
#: lib/groupnav.php:85
msgid "Group"
msgstr "グループ"
#: lib/groupnav.php:101
-#, fuzzy
msgid "Blocked"
msgstr "ブロック"
#: lib/groupnav.php:102
-#, fuzzy, php-format
+#, php-format
msgid "%s blocked users"
-msgstr "そのようなユーザはいません。"
+msgstr "%s ブロック利用者"
#: lib/groupnav.php:108
#, php-format
msgstr "%s ロゴの追加や編集"
#: lib/groupnav.php:120
-#, fuzzy, php-format
+#, php-format
msgid "Add or edit %s design"
-msgstr "%s ã\83ã\82´の追加や編集"
+msgstr "%s ã\83\87ã\82¶ã\82¤ã\83³の追加や編集"
#: lib/groupsbymemberssection.php:71
msgid "Groups with most members"
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."
msgstr "サポート外の画像形式です。"
#: lib/imagefile.php:118
-#, fuzzy
msgid "Lost our file."
-msgstr "ã\81\9dã\81®ã\82\88ã\81\86ã\81ªé\80\9aç\9f¥ã\81¯ã\81\82ã\82\8aã\81¾ã\81\9bã\82\93。"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ç´\9b失。"
#: lib/imagefile.php:150 lib/imagefile.php:197
msgid "Unknown file type"
-msgstr ""
+msgstr "不明なファイルタイプ"
#: lib/imagefile.php:217
msgid "MB"
-msgstr ""
+msgstr "MB"
#: lib/imagefile.php:219
msgid "kB"
-msgstr ""
+msgstr "kB"
#: lib/jabber.php:191
#, php-format
"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
"----\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
"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"
"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
#: 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"
"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"
"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"
"Faithfully yours,\n"
"%6$s\n"
msgstr ""
+"%1$s (@%7$s) は彼らのお気に入りのひとりとして %2$s からあなたのつぶやきを加え"
+"ました。\n"
+"\n"
+"あなたのつぶやきのURL:\n"
+"\n"
+"%3$s\n"
+"\n"
+"あなたのつぶやきのテキスト:\n"
+"\n"
+"%4$s\n"
+"\n"
+"あなたはここで %1$s のお気に入りのリストを見ることができます:\n"
+"\n"
+"%5$s\n"
+"\n"
+"忠実である、あなたのもの、\n"
+"%6%s\n"
#: lib/mail.php:624
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) はあなた宛てにつぶやきを送りました"
#: lib/mail.php:626
#, php-format
"\t%4$s\n"
"\n"
msgstr ""
+"%1$s (@%9$s) はあなた宛てに(@-返信) %2$s でつぶやきを送りました。\n"
+"\n"
+"つぶやきはここ:\n"
+"\n"
+"%3$s\n"
+"\n"
+"これを読む:\n"
+"\n"
+"%4$s\n"
+"\n"
#: lib/mailbox.php:89
msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "利用者だけがそれら自身のメールボックスを読むことができます。"
#: lib/mailbox.php:139
msgid ""
"You have no private messages. You can send private message to engage other "
"users in conversation. People can send you messages for your eyes only."
msgstr ""
+"あなたには、プライベートメッセージが全くありません。あなたは他の利用者を会話"
+"に引き込むプライベートメッセージを送ることができます。人々はあなただけへの"
+"メッセージを送ることができます。"
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
msgid "from"
-msgstr "から "
+msgstr "from"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
msgstr ""
+"データベースエラーがあなたのファイルを保存しているときにありました。 再試行し"
+"てください。"
#: lib/mediafile.php:142
msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
msgstr ""
+"アップロードされたファイルは php.ini の upload_max_filesize ディレクティブを"
+"超えています。"
#: lib/mediafile.php:147
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form."
msgstr ""
+"アップロードされたファイルはHTMLフォームで指定された MAX_FILE_SIZE ディレク"
+"ティブを超えています。"
#: lib/mediafile.php:152
msgid "The uploaded file was only partially uploaded."
-msgstr ""
+msgstr "アップロードされたファイルは部分的にアップロードされていただけです。"
#: lib/mediafile.php:159
msgid "Missing a temporary folder."
-msgstr ""
+msgstr "一時フォルダを失いました。"
#: lib/mediafile.php:162
msgid "Failed to write file to disk."
-msgstr ""
+msgstr "ディスクへのファイル書き込みに失敗しました。"
#: lib/mediafile.php:165
msgid "File upload stopped by extension."
-msgstr ""
+msgstr "エクステンションによってファイルアップロードを中止しました。"
#: lib/mediafile.php:179 lib/mediafile.php:216
msgid "File exceeds user's quota!"
-msgstr ""
+msgstr "ファイルはユーザの割当てを超えています!"
#: lib/mediafile.php:196 lib/mediafile.php:233
msgid "File could not be moved to destination directory."
-msgstr ""
+msgstr "ファイルを目的ディレクトリに動かすことができませんでした。"
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's mime-type!"
-msgstr "ã\83¦ã\83¼ã\82¶ã\82\92æ\9b´æ\96°できません"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\81®MIMEã\82¿ã\82¤ã\83\97ã\82\92決å®\9aできません"
#: lib/mediafile.php:270
#, php-format
msgid " Try using another %s format."
-msgstr ""
+msgstr "別の %s フォーマットを試してください。"
#: lib/mediafile.php:275
#, php-format
msgid "%s is not a supported filetype on this server."
-msgstr ""
+msgstr "%s はこのサーバのサポートしているファイルタイプではありません。"
#: lib/messageform.php:120
msgid "Send a direct notice"
-msgstr "直接通知を送る"
+msgstr "直接つぶやきを送る"
#: lib/messageform.php:146
msgid "To"
-msgstr ""
+msgstr "To"
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
msgid "Available characters"
msgstr "利用可能な文字"
-#: lib/noticeform.php:158
+#: lib/noticeform.php:160
msgid "Send a notice"
-msgstr "通知を送る"
+msgstr "つぶやきを送る"
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
#, php-format
msgid "What's up, %s?"
msgstr "最近どう %s?"
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
msgid "Attach"
-msgstr ""
+msgstr "添付"
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
msgid "Attach a file"
-msgstr ""
+msgstr "ファイル添付"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
+msgstr "あなたの場所を共有"
-#: lib/noticelist.php:420
+#: lib/noticelist.php:428
#, php-format
msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgstr ""
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
+#, fuzzy
msgid "N"
-msgstr ""
+msgstr "北"
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
+#, fuzzy
msgid "S"
-msgstr ""
+msgstr "南"
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
+#, fuzzy
msgid "E"
-msgstr ""
+msgstr "東"
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
+#, fuzzy
msgid "W"
-msgstr ""
+msgstr "西"
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
msgid "at"
-msgstr ""
+msgstr "at"
-#: lib/noticelist.php:523
-#, fuzzy
+#: lib/noticelist.php:531
msgid "in context"
-msgstr "コンテンツがありません!"
+msgstr ""
-#: lib/noticelist.php:548
-#, fuzzy
+#: lib/noticelist.php:556
msgid "Repeated by"
-msgstr "作成"
+msgstr ""
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
msgid "Reply to this notice"
-msgstr "この通知へ返信"
+msgstr "このつぶやきへ返信"
-#: lib/noticelist.php:578
+#: lib/noticelist.php:586
msgid "Reply"
msgstr "返信"
-#: lib/noticelist.php:620
-#, fuzzy
+#: lib/noticelist.php:628
msgid "Notice repeated"
-msgstr "通知"
+msgstr "つぶやきを繰り返しました"
#: lib/nudgeform.php:116
msgid "Nudge this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92çª\81ã\81\8f"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\81¸å\90\88å\9b³"
#: lib/nudgeform.php:128
msgid "Nudge"
-msgstr "突く"
+msgstr "合図"
#: lib/nudgeform.php:128
msgid "Send a nudge to this user"
-msgstr "このユーザへ突きを送る"
+msgstr "このユーザへ合図を送る"
#: lib/oauthstore.php:283
msgid "Error inserting new profile"
msgstr "リモートプロファイル追加エラー"
#: lib/oauthstore.php:345
-#, fuzzy
msgid "Duplicate notice"
-msgstr "新しい通知"
+msgstr "重複したつぶやき"
#: lib/oauthstore.php:466 lib/subs.php:48
msgid "You have been banned from subscribing."
-msgstr ""
+msgstr "あなたはフォローが禁止されました。"
#: lib/oauthstore.php:491
msgid "Couldn't insert new subscription."
#: lib/personalgroupnav.php:114
msgid "Favorites"
-msgstr ""
+msgstr "お気に入り"
#: lib/personalgroupnav.php:124
msgid "Inbox"
-msgstr ""
+msgstr "受信箱"
#: lib/personalgroupnav.php:125
msgid "Your incoming messages"
-msgstr ""
+msgstr "あなたの入ってくるメッセージ"
#: lib/personalgroupnav.php:129
msgid "Outbox"
-msgstr ""
+msgstr "送信箱"
#: lib/personalgroupnav.php:130
msgid "Your sent messages"
-msgstr ""
+msgstr "あなたが送ったメッセージ"
#: lib/personaltagcloudsection.php:56
#, php-format
msgid "Tags in %s's notices"
-msgstr ""
+msgstr "%s のつぶやきのタグ"
#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
msgid "Subscriptions"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³"
+msgstr "ã\83\95ã\82©ã\83ã\83¼"
#: lib/profileaction.php:126
msgid "All subscriptions"
-msgstr "すべての購読"
+msgstr "すべてのフォロー"
#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
msgid "Subscribers"
-msgstr "購読者"
+msgstr "フォローされている"
#: lib/profileaction.php:157
-#, fuzzy
msgid "All subscribers"
-msgstr "購読者"
+msgstr "すべてのフォローされている"
#: lib/profileaction.php:178
msgid "User ID"
-msgstr ""
+msgstr "利用者ID"
#: lib/profileaction.php:183
msgid "Member since"
#: 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"
#: 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 "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\82¢ã\83³ã\83\96ã\83ã\83\83ã\82¯ã\81\99ã\82\8b"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\82µã\83³ã\83\89ã\83\9cã\83\83ã\82¯ã\82¹"
#: lib/searchaction.php:120
-#, fuzzy
msgid "Search site"
-msgstr "検索"
+msgstr "サイト検索"
#: lib/searchaction.php:126
msgid "Keyword(s)"
-msgstr ""
+msgstr "キーワード"
#: lib/searchaction.php:162
-#, fuzzy
msgid "Search help"
-msgstr "検索"
+msgstr "ヘルプ検索"
#: lib/searchgroupnav.php:80
msgid "People"
-msgstr ""
+msgstr "人々"
#: lib/searchgroupnav.php:81
msgid "Find people on this site"
-msgstr ""
+msgstr "このサイトの人々を探す"
#: lib/searchgroupnav.php:83
msgid "Find content of notices"
-msgstr ""
+msgstr "つぶやきの内容を探す"
#: lib/searchgroupnav.php:85
msgid "Find groups on this site"
#: lib/section.php:106
msgid "More..."
-msgstr ""
+msgstr "さらに..."
#: lib/silenceform.php:67
-#, fuzzy
msgid "Silence"
-msgstr "新しい通知"
+msgstr "サイレンス"
#: lib/silenceform.php:78
-#, fuzzy
msgid "Silence this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\83\96ã\83ã\83\83ã\82¯ã\81\99ã\82\8b"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\82\92ã\82µã\82¤ã\83¬ã\83³ã\82¹ã\81«"
#: lib/subgroupnav.php:83
-#, fuzzy, php-format
+#, php-format
msgid "People %s subscribes to"
-msgstr "リモートサブスクライブ"
+msgstr "人々 %s はフォロー"
#: lib/subgroupnav.php:91
-#, fuzzy, php-format
+#, php-format
msgid "People subscribed to %s"
-msgstr "リモートサブスクライブ"
+msgstr "人々は %s をフォローしました。"
#: lib/subgroupnav.php:99
#, php-format
msgid "Groups %s is a member of"
-msgstr ""
+msgstr "グループ %s はメンバー"
#: lib/subs.php:52
msgid "Already subscribed!"
-msgstr ""
+msgstr "すでにフォローしています!"
#: lib/subs.php:56
-#, fuzzy
msgid "User has blocked you."
-msgstr "プロファイルがありません。"
+msgstr "利用者はあなたをブロックしました。"
#: lib/subs.php:60
msgid "Could not subscribe."
-msgstr ""
+msgstr "フォローできません。"
#: lib/subs.php:79
msgid "Could not subscribe other to you."
-msgstr ""
+msgstr "他の人があなたをフォローできません。"
#: lib/subs.php:128
-#, fuzzy
msgid "Not subscribed!"
-msgstr "購読していません!"
+msgstr "フォローしていません!"
#: lib/subs.php:133
-#, fuzzy
msgid "Couldn't delete self-subscription."
-msgstr "サブスクリプションを削除できません"
+msgstr "自己フォローを削除できません。"
#: lib/subs.php:146
msgid "Couldn't delete subscription."
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83ªã\83\97ã\82·ã\83§ã\83³を削除できません"
+msgstr "ã\83\95ã\82©ã\83ã\83¼を削除できません"
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
-msgstr ""
+msgstr "自己タグづけとしての人々タグクラウド"
#: lib/subscriberspeopletagcloudsection.php:48
#: lib/subscriptionspeopletagcloudsection.php:48
msgid "People Tagcloud as tagged"
-msgstr ""
+msgstr "タグ付けとしての人々タグクラウド"
#: lib/subscriptionlist.php:126
msgid "(none)"
#: lib/tagcloudsection.php:56
msgid "None"
-msgstr ""
+msgstr "なし"
#: lib/topposterssection.php:74
msgid "Top posters"
#: lib/unsandboxform.php:69
msgid "Unsandbox"
-msgstr ""
+msgstr "アンサンドボックス"
#: lib/unsandboxform.php:80
-#, fuzzy
msgid "Unsandbox this user"
-msgstr "このユーザをアンブロックする"
+msgstr "この利用者をアンサンドボックス"
#: lib/unsilenceform.php:67
msgid "Unsilence"
-msgstr ""
+msgstr "アンサイレンス"
#: lib/unsilenceform.php:78
-#, fuzzy
msgid "Unsilence this user"
-msgstr "このユーザをアンブロックする"
+msgstr "この利用者をアンサイレンス"
#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
msgid "Unsubscribe from this user"
-msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\81\8bã\82\89ã\81®ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96を解除する"
+msgstr "ã\81\93ã\81®ã\83¦ã\83¼ã\82¶ã\81\8bã\82\89ã\81®ã\83\95ã\82©ã\83ã\83¼を解除する"
#: lib/unsubscribeform.php:137
msgid "Unsubscribe"
-msgstr "ã\82µã\83\96ã\82¹ã\82¯ã\83©ã\82¤ã\83\96ä¸æ¢"
+msgstr "ã\83\95ã\82©ã\83ã\83¼è§£é\99¤"
#: lib/userprofile.php:116
-#, fuzzy
msgid "Edit Avatar"
-msgstr "アバター"
+msgstr "アバターを編集する"
#: lib/userprofile.php:236
msgid "User actions"
-msgstr ""
+msgstr "利用者アクション"
#: lib/userprofile.php:248
-#, fuzzy
msgid "Edit profile settings"
-msgstr "プロファイル設定"
+msgstr "プロファイル設定編集"
#: lib/userprofile.php:249
msgid "Edit"
-msgstr ""
+msgstr "編集"
#: lib/userprofile.php:272
msgid "Send a direct message to this user"
-msgstr ""
+msgstr "この利用者にダイレクトメッセージを送る"
#: lib/userprofile.php:273
msgid "Message"
-msgstr ""
+msgstr "メッセージ"
#: lib/userprofile.php:311
+#, fuzzy
msgid "Moderate"
-msgstr ""
+msgstr "司会"
#: lib/util.php:837
msgid "a few seconds 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 "すみません、入ってくるメールは許可されていません。"
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-25 09:43:16+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 (r60380); 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"
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 "사용자 차단 해제에 실패했습니다."
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글자)"
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글자)"
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 ""
msgstr "미리보기"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "이 사용자 차단하기"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "사용자를 업데이트 할 수 없습니다."
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 "이 게시글 삭제하기"
#: 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
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 "관리자"
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 "차단 제거 에러!"
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 "보내기"
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 "로그인"
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 에러입니다."
msgid "New notice"
msgstr "새로운 통지"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "설정 저장"
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "회원가입"
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 "생성"
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)"
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."
"**%%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 %"
"을 사용합니다. 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 "당신의 세션토큰관련 문제가 있습니다."
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 "실행결과"
"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 "다음에서:"
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 "게시글이 등록되었습니다."
# 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.
#
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-25 09:43:19+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 (r60380); 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"
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
-msgstr "%s и пријателите"
+msgstr "%s и пријатели"
#: actions/all.php:99
-#, fuzzy, php-format
+#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
-msgstr "Канал со пријатели на %S"
+msgstr "Канал со пријатели на %s (RSS 1.0)"
#: actions/all.php:107
-#, fuzzy, php-format
+#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
-msgstr "Канал со пријатели на %S"
+msgstr "Канал со пријатели на %s (RSS 2.0)"
#: actions/all.php:115
#, php-format
msgid "Feed for friends of %s (Atom)"
-msgstr "Ð\95миÑ\82Ñ\83ваÑ\9aе за пријатели на %S (Atom)"
+msgstr "Ð\9aанал за пријатели на %S (Atom)"
#: actions/all.php:127
#, php-format
#: actions/all.php:165
msgid "You and friends"
-msgstr "Вие и пријателите"
+msgstr "Вие и пријатели"
#: actions/allrss.php:119 actions/apitimelinefriends.php:122
#: actions/apitimelinehome.php:122
#: 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
msgstr ""
#: actions/apiaccountupdatedeliverydevice.php:132
-#, fuzzy
msgid "Could not update user."
-msgstr "Ð\9aоÑ\80иÑ\81никоÑ\82 не може да Ñ\81е оÑ\81вежи/"
+msgstr "Ð\9dе може да Ñ\81е ажÑ\83Ñ\80иÑ\80а коÑ\80иÑ\81ник."
#: actions/apiaccountupdateprofile.php:112
#: actions/apiaccountupdateprofilebackgroundimage.php:194
msgstr "Корисникот нема профил."
#: actions/apiaccountupdateprofile.php:147
-#, fuzzy
msgid "Could not save profile."
-msgstr "Ð\9fÑ\80оÑ\84илоÑ\82 не може да Ñ\81е Ñ\81ними."
+msgstr "Ð\9dе може да Ñ\81е заÑ\87Ñ\83ва пÑ\80оÑ\84ил."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97
#: actions/apiaccountupdateprofilebackgroundimage.php:187
#: actions/apiaccountupdateprofilecolors.php:142
-#, fuzzy
msgid "Could not update your design."
-msgstr "Ð\9aоÑ\80иÑ\81никоÑ\82 не може да Ñ\81е оÑ\81вежи/"
+msgstr "Ð\9dе може да Ñ\81е ажÑ\83Ñ\80иÑ\80а ваÑ\88иоÑ\82 дизаÑ\98н."
#: actions/apiblockcreate.php:105
msgid "You cannot block yourself!"
msgstr "Не можете да се блокирате самите себеси!"
-#: actions/apiblockcreate.php:119
+#: actions/apiblockcreate.php:126
msgid "Block user failed."
msgstr ""
-#: actions/apiblockdestroy.php:107
+#: actions/apiblockdestroy.php:114
msgid "Unblock user failed."
msgstr ""
msgstr "Не можев да го пронајдам целниот корисник."
#: actions/apigroupcreate.php:164 actions/editgroup.php:182
-#: actions/newgroup.php:126 actions/profilesettings.php:208
+#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Прекарот мора да има само мали букви и бројки и да нема празни места."
#: actions/apigroupcreate.php:173 actions/editgroup.php:186
-#: actions/newgroup.php:130 actions/profilesettings.php:231
+#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Тој прекар е во употреба. Одберете друг."
#: actions/apigroupcreate.php:180 actions/editgroup.php:189
-#: actions/newgroup.php:133 actions/profilesettings.php:211
+#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Неправилен прекар."
#: actions/apigroupcreate.php:196 actions/editgroup.php:195
-#: actions/newgroup.php:139 actions/profilesettings.php:215
+#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
-msgstr "Ð\94омаÑ\88наÑ\82а Ñ\81Ñ\82Ñ\80аниÑ\86а не е пÑ\80авилно URL."
+msgstr "Ð\93лавнаÑ\82а Ñ\81Ñ\82Ñ\80аниÑ\86а не е валиден URL."
#: actions/apigroupcreate.php:205 actions/editgroup.php:198
-#: actions/newgroup.php:142 actions/profilesettings.php:218
+#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Целото име е предолго (максимум 255 знаци)"
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 знаци)."
msgstr ""
#: actions/apigroupjoin.php:138
-#, fuzzy, php-format
+#, php-format
msgid "Could not join user %s to group %s."
-msgstr "Ð\9dе може да Ñ\81е пÑ\80енаÑ\81оÑ\87и кон Ñ\81еÑ\80веÑ\80оÑ\82: %s"
+msgstr "Ð\9dе може да Ñ\81е пÑ\80идÑ\80Ñ\83жи коÑ\80иÑ\81ник %s на гÑ\80Ñ\83па %s."
#: actions/apigroupleave.php:114
-#, fuzzy
msgid "You are not a member of this group."
-msgstr "Не ни го испративте тој профил."
+msgstr "Не сте член на оваа група"
#: actions/apigroupleave.php:124
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %s to group %s."
-msgstr "OpenID формуларот не може да се креира:%s"
+msgstr "Не може да се избрише корисник %s од група %s."
#: actions/apigrouplist.php:95
-#, fuzzy, php-format
+#, php-format
msgid "%s's groups"
-msgstr "Профил"
+msgstr "%s групи"
#: actions/apigrouplist.php:103
-#, fuzzy, php-format
+#, php-format
msgid "Groups %s is a member of on %s."
-msgstr "Ð\9dе ни го иÑ\81пÑ\80аÑ\82ивÑ\82е Ñ\82оÑ\98 пÑ\80оÑ\84ил."
+msgstr "Ð\93Ñ\80Ñ\83пиÑ\82е %s Ñ\81е Ñ\87ленови на %s."
#: actions/apigrouplistall.php:90 actions/usergroups.php:62
#, php-format
msgid "%s groups"
-msgstr ""
+msgstr "%s групи"
#: actions/apigrouplistall.php:94
#, php-format
msgid "groups on %s"
-msgstr ""
+msgstr "групи на %s"
#: actions/apistatusesdestroy.php:107
msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "Методот бара POST или DELETE."
#: actions/apistatusesdestroy.php:130
msgid "You may not delete another user's status."
msgstr "Нема такво известување."
#: actions/apistatusesretweet.php:83
-#, fuzzy
msgid "Cannot repeat your own notice."
-msgstr "Не може да се регистрирате ако не ја прифаќате лиценцата."
+msgstr "Не можете да ја повторувате сопствената белешка."
#: actions/apistatusesretweet.php:91
#, fuzzy
msgstr "Веќе сте пријавени!"
#: actions/apistatusesshow.php:138
-#, fuzzy
msgid "Status deleted."
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 е ажÑ\83Ñ\80иÑ\80ан."
+msgstr "СÑ\82аÑ\82Ñ\83Ñ\81оÑ\82 е избÑ\80иÑ\88ан."
#: actions/apistatusesshow.php:144
msgid "No status with that ID found."
#: actions/apistatusesupdate.php:157 actions/newnotice.php:155
#: scripts/maildaemon.php:71
-#, fuzzy, php-format
+#, php-format
msgid "That's too long. Max notice size is %d chars."
-msgstr "Ð\9eва е пÑ\80едолго. Ð\9cакÑ\81ималнаÑ\82а должина е 140 знаци."
+msgstr "Ð\9eва е пÑ\80едолго. Ð\9cакÑ\81ималнаÑ\82а дозволена должина изнеÑ\81Ñ\83ва %d знаци."
#: actions/apistatusesupdate.php:198
msgid "Not found"
msgstr ""
-#: actions/apistatusesupdate.php:227 actions/newnotice.php: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
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
msgstr ""
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
-#, fuzzy, php-format
+#, php-format
msgid "Updates tagged with %1$s on %2$s!"
-msgstr "Ð\9cикÑ\80облог на %s"
+msgstr "Ð\9fодновÑ\83ваÑ\9aаÑ\82а Ñ\81е ознаÑ\87ени Ñ\81о %1$s на %2$s!"
#: actions/apiusershow.php:96
-#, fuzzy
msgid "Not found."
-msgstr "Ð\9dе е пÑ\80онаÑ\98едено баÑ\80аÑ\9aе."
+msgstr "Ð\9dе е пÑ\80онаÑ\98дено."
#: actions/attachment.php:73
-#, fuzzy
msgid "No such attachment."
-msgstr "Ð\9dема Ñ\82аков докÑ\83менÑ\82."
+msgstr "Ð\9dема Ñ\82аков пÑ\80илог."
#: actions/avatarbynickname.php:59 actions/grouprss.php:91
#: actions/leavegroup.php:76
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
#: actions/grouplogo.php:251
-#, fuzzy
msgid "Avatar settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "Ð\9dагодÑ\83ваÑ\9aа на аваÑ\82аÑ\80оÑ\82"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
#: actions/grouplogo.php:199 actions/grouplogo.php:259
#: 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"
#: actions/avatarsettings.php:231 actions/grouplogo.php:286
msgid "Crop"
-msgstr ""
+msgstr "Отсечи"
#: actions/avatarsettings.php:268 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:187 actions/recoverpassword.php:337
+#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
#: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
#: actions/subscribe.php:46 actions/tagother.php:166
#: actions/imsettings.php:220 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
-msgstr "Ð\9dеоÑ\87екÑ\83вано иÑ\81пÑ\80аÑ\9cаÑ\9aе на Ñ\84оÑ\80мÑ\83лаÑ\80."
+msgstr "Ð\9dеоÑ\87екÑ\83вано поднеÑ\81Ñ\83ваÑ\9aе на обÑ\80азеÑ\86."
#: actions/avatarsettings.php:328
msgid "Pick a square area of the image to be your avatar"
msgstr "Товарањето на аватарот не успеа."
#: actions/avatarsettings.php:393
-#, fuzzy
msgid "Avatar deleted."
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 е ажÑ\83Ñ\80иÑ\80ан."
+msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 е избÑ\80иÑ\88ан."
#: actions/block.php:69
-#, fuzzy
msgid "You already blocked that user."
-msgstr "Веќе сте пријавени!"
+msgstr "Веќе го имате блокирано тој корисник."
#: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
#, fuzzy
msgid "Block this user"
msgstr "Нема таков корисник."
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
msgstr ""
#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
#: actions/grouplogo.php:99 actions/groupmembers.php:83
#: actions/joingroup.php:83 actions/showgroup.php:137
-#, fuzzy
msgid "No such group"
-msgstr "Ð\9dема Ñ\82акво извеÑ\81Ñ\82Ñ\83ваÑ\9aе."
+msgstr "Ð\9dема Ñ\82акваа гÑ\80Ñ\83па"
#: actions/blockedfromgroup.php:90
-#, fuzzy, php-format
+#, php-format
msgid "%s blocked profiles"
-msgstr "Корисникот нема профил."
+msgstr "%s блокирани профили"
#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
msgid "%s blocked profiles, page %d"
-msgstr "%s и пÑ\80иÑ\98аÑ\82елиÑ\82е"
+msgstr "%s блокиÑ\80ани пÑ\80оÑ\84или, Ñ\81Ñ\82Ñ\80аниÑ\86а %d"
#: actions/blockedfromgroup.php:108
msgid "A list of the users blocked from joining this group."
msgstr ""
#: actions/blockedfromgroup.php:281
-#, fuzzy
msgid "Unblock user from group"
-msgstr "Ð\9dема Ñ\82аков коÑ\80иÑ\81ник."
+msgstr "Ð\9eдблокиÑ\80аÑ\98 коÑ\80иÑ\81ник од гÑ\80Ñ\83па"
#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
msgid "Unblock"
-msgstr ""
+msgstr "Одблокирај"
#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
-#, fuzzy
msgid "Unblock this user"
-msgstr "Ð\9dема Ñ\82аков коÑ\80иÑ\81ник."
+msgstr "Ð\9eдблокиÑ\80аÑ\98 го овоÑ\98 коÑ\80Ñ\81ник"
#: actions/bookmarklet.php:50
msgid "Post to "
#: 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 "Корисникот не може да се освежи/"
#: 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"
msgstr "Адресата \"%s\" е потврдена за Вашата сметка."
#: actions/conversation.php:99
-#, fuzzy
msgid "Conversation"
-msgstr "Ð\9bокација"
+msgstr "Ð\9aонвеÑ\80зација"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
#: lib/profileaction.php:216 lib/searchgroupnav.php:82
#: actions/deletenotice.php:71
msgid "Can't delete this notice."
-msgstr ""
+msgstr "Не може да се избрише оваа забелешка."
#: actions/deletenotice.php:103
msgid ""
#: actions/deletenotice.php:109 actions/deletenotice.php:141
msgid "Delete notice"
-msgstr ""
+msgstr "Бриши забелешка"
#: actions/deletenotice.php:144
msgid "Are you sure you want to delete this notice?"
msgstr ""
#: actions/deletenotice.php:145
-#, fuzzy
msgid "Do not delete this notice"
-msgstr "Нема такво известување."
+msgstr "Не ја бриши оваа забелешка"
-#: actions/deletenotice.php:146 lib/noticelist.php:603
+#: actions/deletenotice.php:146 lib/noticelist.php:611
msgid "Delete this notice"
-msgstr ""
+msgstr "Бриши ја оваа забелешка"
#: actions/deletenotice.php:157
msgid "There was a problem with your session token. Try again, please."
msgstr ""
#: actions/deleteuser.php:67
-#, fuzzy
msgid "You cannot delete users."
-msgstr "Ð\9aоÑ\80иÑ\81никоÑ\82 не може да Ñ\81е оÑ\81вежи/"
+msgstr "Ð\9dе можеÑ\82е да бÑ\80иÑ\88еÑ\82е коÑ\80иÑ\81ниÑ\86и."
#: actions/deleteuser.php:74
-#, fuzzy
msgid "You can only delete local users."
-msgstr "Може да ја користите локалната претплата."
+msgstr "Може да бришете само локални корисници."
#: actions/deleteuser.php:110 actions/deleteuser.php:133
msgid "Delete user"
-msgstr ""
+msgstr "Бриши корисник"
#: actions/deleteuser.php:135
msgid ""
msgstr ""
#: actions/deleteuser.php:148 lib/deleteuserform.php:77
-#, fuzzy
msgid "Delete this user"
-msgstr "Ð\9dема Ñ\82аков коÑ\80иÑ\81ник."
+msgstr "Ð\98збÑ\80иÑ\88и овоÑ\98 коÑ\80иÑ\81ник"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
#: lib/adminpanelaction.php:302 lib/groupnav.php:119
msgid "Design"
-msgstr ""
+msgstr "Дизајн"
#: actions/designadminpanel.php:73
msgid "Design settings for this StatusNet site."
-msgstr ""
+msgstr "Нагодувања на дизајн на ова StatusNet место."
#: actions/designadminpanel.php:275
-#, fuzzy
msgid "Invalid logo URL."
-msgstr "Ð\9fогÑ\80еÑ\88на големина."
+msgstr "Ð\9fогÑ\80еÑ\88ен URL на лого."
#: actions/designadminpanel.php:279
-#, fuzzy, php-format
+#, php-format
msgid "Theme not available: %s"
-msgstr "Ð\9eваа Ñ\81Ñ\82Ñ\80аниÑ\86а не е доÑ\81Ñ\82апна во Ñ\84оÑ\80маÑ\82оÑ\82 коÑ\98 Ð\92ие го пÑ\80иÑ\84аÑ\9cаÑ\82е."
+msgstr "Ð\9dепоÑ\81Ñ\82оÑ\87ка Ñ\82ема: %s"
#: actions/designadminpanel.php:375
-#, fuzzy
msgid "Change logo"
-msgstr "Промени ја лозинката"
+msgstr "Промени лого"
#: actions/designadminpanel.php:380
-#, fuzzy
msgid "Site logo"
-msgstr "Ð\9dово извеÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\9bого знак на Ñ\81аÑ\98Ñ\82"
#: actions/designadminpanel.php:387
-#, fuzzy
msgid "Change theme"
-msgstr "Промени"
+msgstr "Промени тема"
#: actions/designadminpanel.php:404
-#, fuzzy
msgid "Site theme"
-msgstr "Ð\9dово извеÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Тема на Ñ\81аÑ\98Ñ\82"
#: actions/designadminpanel.php:405
msgid "Theme for the site."
-msgstr ""
+msgstr "Тема на сајтот."
#: actions/designadminpanel.php:417 lib/designsettings.php:101
msgid "Change background image"
-msgstr ""
+msgstr "Промена на слика на позадина"
#: actions/designadminpanel.php:422 actions/designadminpanel.php:497
#: lib/designsettings.php:178
msgid "Background"
-msgstr ""
+msgstr "Позадина"
#: actions/designadminpanel.php:427
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can upload a background image for the site. The maximum file size is %1"
"$s."
-msgstr "Ова е предолго. Максималната должина е 140 знаци."
+msgstr ""
+"Може да подигнете слика за позадина за ова место. Максималната големина на "
+"податотеката е %1$s."
#: actions/designadminpanel.php:457 lib/designsettings.php:139
msgid "On"
msgstr ""
#: actions/designadminpanel.php:488 lib/designsettings.php:170
-#, fuzzy
msgid "Change colours"
-msgstr "Ð\9fÑ\80омени Ñ\98а лозинкаÑ\82а"
+msgstr "Ð\9fÑ\80омена на бои"
#: actions/designadminpanel.php:510 lib/designsettings.php:191
-#, fuzzy
msgid "Content"
-msgstr "Ð\9fовÑ\80зи Ñ\81е"
+msgstr "СодÑ\80жина"
#: actions/designadminpanel.php:523 lib/designsettings.php:204
-#, fuzzy
msgid "Sidebar"
-msgstr "Ð\91аÑ\80аÑ\98"
+msgstr "СÑ\82Ñ\80аниÑ\87на ленÑ\82а"
#: actions/designadminpanel.php:536 lib/designsettings.php:217
msgid "Text"
-msgstr ""
+msgstr "Текст"
#: actions/designadminpanel.php:549 lib/designsettings.php:230
-#, fuzzy
msgid "Links"
-msgstr "Ð\9fÑ\80иÑ\98ави Ñ\81е"
+msgstr "Ð\92Ñ\80Ñ\81ки"
#: actions/designadminpanel.php:577 lib/designsettings.php:247
msgid "Use defaults"
#: 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
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
-msgstr ""
+msgstr "Зачувај дизајн"
#: actions/disfavor.php:81
msgid "This notice is not a favorite!"
msgstr "Корисникот не може да се освежи/"
#: actions/editgroup.php:259 classes/User_group.php:390
-#, fuzzy
msgid "Could not create aliases."
-msgstr "Ð\98нÑ\84оÑ\80маÑ\86ииÑ\82е за аваÑ\82аÑ\80оÑ\82 не може да Ñ\81е Ñ\81нимаÑ\82"
+msgstr "Ð\9dе можеÑ\88е да Ñ\81е Ñ\81оздадаÑ\82 алиÑ\98аÑ\81и."
#: actions/editgroup.php:269
-#, fuzzy
msgid "Options saved."
-msgstr "Ð\9fоÑ\81Ñ\82авкиÑ\82е Ñ\81е Ñ\81нимени."
+msgstr "Ð\9dагодÑ\83ваÑ\9aаÑ\82а Ñ\81е заÑ\87Ñ\83вани."
#: actions/emailsettings.php:60
msgid "Email Settings"
#: actions/favorited.php:65 lib/popularnoticesection.php:88
#: lib/publicgroupnav.php:93
-#, fuzzy
msgid "Popular notices"
-msgstr "Ð\9dема Ñ\82акво извеÑ\81Ñ\82Ñ\83ваÑ\9aе."
+msgstr "Ð\9fопÑ\83лаÑ\80ни забелеÑ\88ки"
#: actions/favorited.php:67
#, fuzzy, php-format
msgstr "Ново известување"
#: actions/file.php:38
-#, fuzzy
msgid "No notice."
-msgstr "Ð\9dово извеÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\9dема забелеÑ\88ка."
#: actions/file.php:42
-#, fuzzy
msgid "No attachments."
-msgstr "Нема таков документ."
+msgstr "Нема прикачувања."
#: actions/file.php:51
-#, fuzzy
msgid "No uploaded attachments."
-msgstr "Нема таков документ."
+msgstr "Нема подигнато прикачувања."
#: actions/finishremotesubscribe.php:69
msgid "Not expecting this response!"
msgstr ""
#: actions/finishremotesubscribe.php:110
-#, fuzzy
msgid "You are not authorized."
-msgstr "Не е одобрено."
+msgstr "Не сте авторизирани."
#: actions/finishremotesubscribe.php:113
#, fuzzy
msgstr ""
#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
-#, fuzzy
msgid "Design preferences saved."
-msgstr "Ð\9fÑ\80еÑ\84еÑ\80енÑ\86ииÑ\82е Ñ\81е Ñ\81нимени."
+msgstr "Ð\9dагодÑ\83ваÑ\9aаÑ\82а Ñ\81е заÑ\87Ñ\83вани."
#: actions/grouplogo.php:139 actions/grouplogo.php:192
msgid "Group logo"
msgstr ""
#: actions/grouplogo.php:396
-#, fuzzy
msgid "Logo updated."
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 е ажÑ\83Ñ\80иÑ\80ан."
+msgstr "Ð\9bогоÑ\82о е подновено."
#: actions/grouplogo.php:398
#, fuzzy
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 ""
msgstr ""
#: actions/grouprss.php:133
-#, fuzzy, php-format
+#, php-format
msgid "Updates from members of %1$s on %2$s!"
-msgstr "Ð\9cикÑ\80облог на %s"
+msgstr "Ð\9fодновÑ\83ваÑ\9aа од Ñ\87ленови на %1$s на %2$s!"
#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "User is not blocked from group."
msgstr "Корисникот нема профил."
-#: actions/groupunblock.php:128 actions/unblock.php:77
-#, fuzzy
+#: actions/groupunblock.php:128 actions/unblock.php:86
msgid "Error removing the block."
-msgstr "Ð\93Ñ\80еÑ\88ка во Ñ\81нимаÑ\9aеÑ\82о на коÑ\80иÑ\81никот."
+msgstr "Ð\93Ñ\80еÑ\88ка пÑ\80и оÑ\82Ñ\81Ñ\82Ñ\80анÑ\83ваÑ\9aе на блокот."
#: actions/imsettings.php:59
msgid "IM Settings"
"doc.im%%). Подолу "
#: actions/imsettings.php:89
-#, fuzzy
msgid "IM is not available."
-msgstr "Ð\9eваа Ñ\81Ñ\82Ñ\80аниÑ\86а не е доÑ\81Ñ\82апна во Ñ\84оÑ\80маÑ\82оÑ\82 коÑ\98 Ð\92ие го пÑ\80иÑ\84аÑ\9cаÑ\82е."
+msgstr "Ð\98Ð\9f не Ñ\81е возможни."
#: actions/imsettings.php:106
msgid "Current confirmed Jabber/GTalk address."
#: 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."
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 "Испрати"
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 "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 "Пријави се"
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 ""
msgid "New notice"
msgstr "Ново известување"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Известувања"
msgstr ""
#: actions/othersettings.php:60
-#, fuzzy
msgid "Other Settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "Ð\94Ñ\80Ñ\83ги нагодÑ\83ваÑ\9aа"
#: actions/othersettings.php:71
msgid "Manage various other options."
msgstr ""
#: actions/othersettings.php:122
-#, fuzzy
msgid "View profile designs"
-msgstr "Ð\9fоÑ\81Ñ\82авки на профилот"
+msgstr "Ð\92иди изгледи на профилот"
#: actions/othersettings.php:123
msgid "Show or hide profile designs."
msgstr "Промени ја лозинката"
#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
-#, fuzzy
msgid "Password change"
-msgstr "Ð\9bозинкаÑ\82а е Ñ\81нимена."
+msgstr "Ð\9fÑ\80омена на лозинка"
#: actions/passwordsettings.php:104
msgid "Old password"
msgstr "Аватар"
#: actions/pathsadminpanel.php:257
-#, fuzzy
msgid "Avatar server"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "СеÑ\80веÑ\80 на аваÑ\82аÑ\80оÑ\82"
#: actions/pathsadminpanel.php:261
-#, fuzzy
msgid "Avatar path"
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 е ажÑ\83Ñ\80иÑ\80ан."
+msgstr "Ð\9fаÑ\82ека на аваÑ\82аÑ\80оÑ\82"
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "Ð\90ваÑ\82аÑ\80оÑ\82 е ажÑ\83Ñ\80иÑ\80ан."
+msgstr "Ð\94иÑ\80екÑ\82оÑ\80иÑ\83м на аваÑ\82аÑ\80оÑ\82"
#: actions/pathsadminpanel.php:274
msgid "Backgrounds"
"повеќе за Вас."
#: actions/profilesettings.php:99
-#, fuzzy
msgid "Profile information"
-msgstr "Ð\9dепознаÑ\82 профил"
+msgstr "Ð\98нÑ\84оÑ\80маÑ\86ии за профил"
#: actions/profilesettings.php:108 lib/groupeditform.php:154
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
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 "Ð\9dевалидна домаÑ\88на Ñ\81Ñ\82Ñ\80аниÑ\86а: '%s'"
+msgstr "Ð\9dевалидна ознака: \"%s\""
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
msgid "Couldn't update user for autosubscribe."
msgstr ""
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+msgid "Couldn't save location prefs."
+msgstr "Не можев да ги зачувам нагодувањата за локација"
+
+#: actions/profilesettings.php:366
msgid "Couldn't save profile."
msgstr "Профилот не може да се сними."
-#: actions/profilesettings.php:336
-#, fuzzy
+#: actions/profilesettings.php:374
msgid "Couldn't save tags."
-msgstr "Ð\9fÑ\80оÑ\84илоÑ\82 не може да Ñ\81е Ñ\81ними."
+msgstr "Ð\9dе можев да ги заÑ\87Ñ\83вам ознакиÑ\82е."
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
msgid "Settings saved."
msgstr "Поставките се снимени."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "Регистрирај се"
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 "Повторено"
msgstr ""
#: actions/showgroup.php:218
-#, fuzzy
msgid "Group profile"
-msgstr "Ð\9dема Ñ\82акво извеÑ\81Ñ\82Ñ\83ваÑ\9aе."
+msgstr "Ð\9fÑ\80оÑ\84ил на гÑ\80Ñ\83па"
#: actions/showgroup.php:263 actions/tagother.php:118
#: actions/userauthorization.php:167 lib/userprofile.php:177
#: actions/showgroup.php:274 actions/tagother.php:128
#: actions/userauthorization.php:179 lib/userprofile.php:194
-#, fuzzy
msgid "Note"
-msgstr "Ð\98звеÑ\81Ñ\82Ñ\83ваÑ\9aа"
+msgstr "Ð\97абелеÑ\88ка"
#: actions/showgroup.php:284 lib/groupeditform.php:184
msgid "Aliases"
#: actions/showmessage.php:113
#, php-format
msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Порака од %1$s на %2$s"
#: actions/shownotice.php:90
-#, fuzzy
msgid "Notice deleted."
-msgstr "Ð\98звеÑ\81Ñ\82Ñ\83ваÑ\9aа"
+msgstr "Ð\98збÑ\80иÑ\88ана забелеÑ\88ка"
#: actions/showstream.php:73
#, php-format
msgstr ""
#: actions/showstream.php:313
-#, fuzzy, php-format
+#, php-format
msgid "Repeat of %s"
-msgstr "Ð\9eдговоÑ\80и иÑ\81пÑ\80аÑ\82ени до %s"
+msgstr "Ð\9fовÑ\82оÑ\80Ñ\83ваÑ\9aа на %s"
#: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site."
msgstr ""
#: actions/siteadminpanel.php:256
-#, fuzzy
msgid "Site name"
-msgstr "Ð\9dово извеÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\98ме на Ñ\81аÑ\98Ñ\82"
#: actions/siteadminpanel.php:257
msgid "The name of your site, like \"Yourcompany Microblog\""
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."
#: 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 "Ð\9fÑ\80онаÑ\98ди"
+msgstr "Ð\9eпÑ\81лÑ\83жÑ\83ваÑ\87"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
msgstr ""
#: actions/siteadminpanel.php:388 actions/useradminpanel.php:313
-#, fuzzy
msgid "Save site settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки"
+msgstr "Ð\97аÑ\87Ñ\83ваÑ\98 нагодÑ\83ваÑ\9aа на веб-Ñ\81Ñ\82Ñ\80аниÑ\86аÑ\82а"
#: actions/smssettings.php:58
msgid "SMS Settings"
msgstr "Не ни го испративте тој профил."
#: actions/subedit.php:83
-#, fuzzy
msgid "Could not save subscription."
-msgstr "Не може да се креира претплатата"
+msgstr "Не можев да ја зачувам претплатата."
#: actions/subscribe.php:55
#, fuzzy
msgstr "Нема id."
#: actions/userdesignsettings.php:76 lib/designsettings.php:65
-#, fuzzy
msgid "Profile design"
-msgstr "Ð\9fоÑ\81Ñ\82авки на профилот"
+msgstr "Ð\98зглед на профилот"
#: actions/userdesignsettings.php:87 lib/designsettings.php:76
msgid ""
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 ""
msgstr "Информациите за аватарот не може да се снимат"
#: classes/User_group.php:409
-#, fuzzy
msgid "Could not set group membership."
-msgstr "Не може да се креира претплатата"
+msgstr "Не можев да назначам членство во групата."
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
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."
"**%%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 %"
"верзија %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 ""
msgstr ""
#: lib/adminpanelaction.php:300
-#, fuzzy
msgid "Basic site configuration"
-msgstr "Ð\9fоÑ\82вÑ\80дÑ\83ваÑ\9aе на адÑ\80еÑ\81аÑ\82а"
+msgstr "Ð\9eÑ\81новни нагодÑ\83ваÑ\9aа на Ñ\81аÑ\98Ñ\82оÑ\82"
#: lib/adminpanelaction.php:303
#, fuzzy
#: lib/attachmentlist.php:265
msgid "Author"
-msgstr ""
+msgstr "Автор"
#: lib/attachmentlist.php:278
-#, fuzzy
msgid "Provider"
-msgstr "Ð\9fÑ\80оÑ\84ил"
+msgstr "Ð\9eбезбедÑ\83ваÑ\87"
#: lib/attachmentnoticesection.php:67
msgid "Notices where this attachment appears"
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 ""
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
"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 ""
msgid "To"
msgstr ""
-#: lib/messageform.php:159 lib/noticeform.php:183
+#: lib/messageform.php:159 lib/noticeform.php:185
#, fuzzy
msgid "Available characters"
msgstr "6 или повеќе знаци"
-#: lib/noticeform.php:158
-#, fuzzy
+#: lib/noticeform.php:160
msgid "Send a notice"
-msgstr "Ð\9dово извеÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\98Ñ\81пÑ\80аÑ\82и забелеÑ\88ка"
-#: lib/noticeform.php:171
+#: lib/noticeform.php:173
#, php-format
msgid "What's up, %s?"
msgstr "Што има %s?"
-#: lib/noticeform.php:190
+#: lib/noticeform.php:192
msgid "Attach"
-msgstr ""
+msgstr "Прикачи"
-#: lib/noticeform.php:194
+#: lib/noticeform.php:196
msgid "Attach a file"
+msgstr "Прикаќи податотека"
+
+#: lib/noticeform.php:212
+msgid "Share your location"
msgstr ""
-#: lib/noticelist.php:420
+#: lib/noticelist.php:428
#, php-format
msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgstr ""
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
msgid "N"
msgstr ""
-#: lib/noticelist.php:421
+#: lib/noticelist.php:429
msgid "S"
msgstr ""
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
msgid "E"
msgstr ""
-#: lib/noticelist.php:422
+#: lib/noticelist.php:430
msgid "W"
msgstr ""
-#: lib/noticelist.php:428
+#: lib/noticelist.php:436
msgid "at"
msgstr ""
-#: lib/noticelist.php:523
+#: lib/noticelist.php:531
#, fuzzy
msgid "in context"
msgstr "Нема содржина!"
-#: lib/noticelist.php:548
+#: lib/noticelist.php:556
msgid "Repeated by"
msgstr "Повторено од"
-#: lib/noticelist.php:577
+#: lib/noticelist.php:585
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:578
-#, fuzzy
+#: lib/noticelist.php:586
msgid "Reply"
-msgstr "одговор"
+msgstr "Ð\9eдговор"
-#: lib/noticelist.php:620
+#: lib/noticelist.php:628
#, fuzzy
msgid "Notice repeated"
msgstr "Известувања"
msgstr "Претплатници"
#: lib/profileaction.php:157
-#, fuzzy
msgid "All subscribers"
-msgstr "Ð\9fретплатници"
+msgstr "СиÑ\82е претплатници"
#: lib/profileaction.php:178
msgid "User ID"
#: lib/profileaction.php:245
msgid "All groups"
-msgstr ""
+msgstr "Сите групи"
#: lib/profileformaction.php:123
#, fuzzy
#: lib/searchaction.php:126
msgid "Keyword(s)"
-msgstr ""
+msgstr "Клучен збор"
#: lib/searchaction.php:162
#, fuzzy
#: lib/section.php:106
msgid "More..."
-msgstr ""
+msgstr "Повеќе..."
#: lib/silenceform.php:67
-#, fuzzy
msgid "Silence"
-msgstr "Ð\9dово извеÑ\81Ñ\82Ñ\83ваÑ\9aе"
+msgstr "Ð\9cолк"
#: lib/silenceform.php:78
-#, fuzzy
msgid "Silence this user"
-msgstr "Ð\9dема Ñ\82аков коÑ\80иÑ\81ник."
+msgstr "Ð\97амолÑ\87и го овоÑ\98 коÑ\80иÑ\81ник"
#: lib/subgroupnav.php:83
#, fuzzy, php-format
msgstr ""
#: lib/userprofile.php:248
-#, fuzzy
msgid "Edit profile settings"
-msgstr "Ð\9fоÑ\81Ñ\82авки на профилот"
+msgstr "УÑ\80еди нагодÑ\83ваÑ\9aа на профилот"
#: lib/userprofile.php:249
msgid "Edit"
-msgstr ""
+msgstr "Уреди"
#: lib/userprofile.php:272
msgid "Send a direct message to this user"
#: lib/userprofile.php:273
msgid "Message"
-msgstr ""
+msgstr "Порака"
#: lib/userprofile.php:311
msgid "Moderate"
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-25 09:43:22+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 (r60380); 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"
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."
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)."
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 ""
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
#, fuzzy
msgid "Delete"
msgstr "slett"
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
msgid "Block this user"
msgstr ""
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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."
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 ""
#: 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
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"
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 ""
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"
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"
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 ""
msgid "New notice"
msgstr ""
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 ""
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"
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 ""
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."
"**%%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 %"
"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 ""
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 ""
"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"
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"
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-25 09:43:30+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 (r60380); 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"
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."
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 ""
"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)."
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)."
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 ""
msgstr "Voorvertoning"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Verwijderen"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
"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"
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"
msgid "New notice"
msgstr "Nieuw bericht"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "De mededeling is verzonden"
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."
"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"
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"
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"
#: 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."
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"
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."
"**%%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 %"
"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."
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"
"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"
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"
msgstr "Populair"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Deze mededeling herhalen"
+msgstr "Deze mededeling herhalen?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
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-25 09:43:26+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 (r60380); 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"
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."
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)."
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)."
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 ""
msgstr "Forhandsvis"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Slett"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "Ny notis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Melding lagra"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr "Emne sky"
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"
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"
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)"
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."
"**%%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 %"
"%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."
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"
"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å "
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"
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-25 09:43:34+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"
"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 (r60380); 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"
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ę."
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)."
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)."
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."
msgstr "Podgląd"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Usuń"
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
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ę."
#: 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."
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"
#: 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
msgstr "Znani użytkownicy, strona %d"
#: actions/featured.php:99
-#, fuzzy, php-format
+#, php-format
msgid "A selection of some great users on %s"
-msgstr "Wybór znanych użytkowników na %s"
+msgstr "Wybór znanych użytkowników w serwisie %s"
#: actions/file.php:34
msgid "No notice ID."
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"
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."
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"
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ę"
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"
msgid "New notice"
msgstr "Nowy wpis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Wysłano wpis"
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."
"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"
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ę"
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"
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"
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."
"**%%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 %"
"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."
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"
msgstr[2] "Jesteś członkiem tych grup:"
#: lib/command.php:745
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
"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. "
"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"
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"
msgstr "Popularne"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Powtórz ten wpis"
+msgstr "Powtórzyć ten wpis?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
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-25 09:43:38+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 (r60380); 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"
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."
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)."
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)."
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."
msgstr "Antevisão"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Apagar"
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
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."
#: 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."
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"
#: 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
#: 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
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"
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."
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"
#: 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"
#: 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 ""
"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
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"
msgid "New notice"
msgstr "Nota nova"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Nota publicada"
#: 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."
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."
"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"
#: 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."
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"
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"
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"
#: 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"
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."
"**%%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 %"
"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."
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"
#: 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"
"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"
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"
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"
# 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.
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-25 09:43:41+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 (r60380); 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"
#: 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
#: 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
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
"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
"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
"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"
#: 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!"
"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."
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."
"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."
#: 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
#: 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."
#: 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
#: 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."
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."
#: 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."
#: 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
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
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
#: 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
#: 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
#: 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."
#: 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
msgstr "Visualização"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Excluir"
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
#: 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."
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."
"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
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
#: 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."
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"
#: actions/bookmarklet.php:50
msgid "Post to "
-msgstr ""
+msgstr "Enviar para "
#: actions/confirmaddress.php:75
msgid "No confirmation code."
#: 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."
#: 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."
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
#: 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."
"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"
#: 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"
"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
"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
#: 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."
#: 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
#: 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."
#: 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
#: 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
#: 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."
#: 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."
#: 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
#: 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
"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
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."
#: 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
#: 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
"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"
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"
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
"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
"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
"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
"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."
#: actions/imsettings.php:124
msgid "IM Address"
-msgstr "Endereço do IM"
+msgstr "Endereço do MI"
#: actions/imsettings.php:126
#, php-format
"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."
#: 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
#: 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"
#: 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:"
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
"\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"
"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
#: 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?"
"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"
#: 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
#: 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"
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
"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
"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
"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 ""
#: 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"
#: 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"
#: 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)."
#: 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."
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"
#: 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."
#: 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."
#: 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
"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"
#, 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"
"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"
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"
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
"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
"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
"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."
"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"
#: 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."
#: 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 ""
#: 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."
#: 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."
"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."
#: 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 "
#: 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
"\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 "
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
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
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
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
"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
"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
"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
"%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
"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
"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."
#: 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
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
"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
"[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"
#: 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."
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."
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"
"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"
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."
"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
"%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."
"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"
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 ""
#: 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."
#, 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
#: 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
#: 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"
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!"
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 "
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
"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."
#: 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."
"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"
#: 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"
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"
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
"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
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"
#: 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
#: 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."
#: 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 ""
"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"
#: 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"
#: lib/feed.php:85
msgid "RSS 1.0"
-msgstr ""
+msgstr "RSS 1.0"
#: lib/feed.php:87
msgid "RSS 2.0"
-msgstr ""
+msgstr "RSS 2.0"
#: lib/feed.php:89
msgid "Atom"
-msgstr ""
+msgstr "Atom"
#: lib/feed.php:91
msgid "FOAF"
-msgstr ""
+msgstr "FOAF"
#: lib/feedlist.php:64
msgid "Export data"
msgstr "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"
#: 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"
#: 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
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"
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."
#: 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"
#: 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"
"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"
"----\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
#: 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
#: lib/mail.php:413
#, php-format
msgid "%s status"
-msgstr "Status de %s"
+msgstr "Mensagem de %s"
#: lib/mail.php:439
msgid "SMS confirmation"
"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
"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
"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
"\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."
"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"
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"
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."
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"
#: 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"
#: 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"
#: 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"
#: 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
#: 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."
#: 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."
#: 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"
#: 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"
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."
#: 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."
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-25 09:43:44+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 (r60380); 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"
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 "Неудача при разблокировке пользователя."
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 знаков)."
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 знаков)."
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 вложения."
msgstr "Просмотр"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "Заблокировать пользователя."
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "Не удаётся обновить пользователя."
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 "Удалить эту запись"
#: 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
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 "Настройки"
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 "Ошибка при удалении данного блока."
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 "ОК"
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 "Вход"
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"
msgid "New notice"
msgstr "Новая запись"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "Настройки сохранены."
"Почему бы не [зарегистрироваться](%%action.register%%), чтобы отправить "
"первым?"
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "Регистрация"
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 "Повторено"
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"
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."
"**%%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 %"
"лицензией [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 "Проблема с Вашей сессией. Попробуйте ещё раз, пожалуйста."
msgid "Tags for this attachment"
msgstr "Теги для этого вложения"
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Пароль сохранён."
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Пароль сохранён."
+
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
msgstr "Команда исполнена"
#: lib/mail.php:236
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s Ñ\81ейÑ\87аÑ\81 Ñ\81лÑ\83Ñ\88аеÑ\82 ваÑ\88и замеÑ\82ки на %2$s."
+msgstr "%1$s Ñ\82епеÑ\80Ñ\8c Ñ\81ледиÑ\82 за ваÑ\88ими запиÑ\81Ñ\8fми на %2$s."
#: lib/mail.php:241
#, php-format
"вовлечения других пользователей в разговор. Сообщения, получаемые от других "
"людей, видите только вы."
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
msgid "from"
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 "Запись повторена"
msgstr "Популярное"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Повторить эту запись"
+msgstr "Повторить эту запись?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-25 09:42+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"
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 ""
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 ""
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 ""
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr ""
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 ""
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 ""
#: 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
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 ""
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 ""
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 ""
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 ""
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 ""
msgid "New notice"
msgstr ""
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 ""
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 ""
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 ""
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 %"
"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 ""
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 ""
"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 ""
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 ""
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-25 09:43:47+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 (r60380); 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"
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."
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)."
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)."
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."
msgstr "Förhandsgranska"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
msgstr "Ta bort"
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
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."
#: 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."
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"
#: 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
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"
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."
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"
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"
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"
msgid "New notice"
msgstr "Ny notis"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
msgstr "Notis postad"
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."
"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"
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"
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"
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"
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."
"**%%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 %"
"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."
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"
"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"
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"
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-25 09:43:51+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 (r60380); 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"
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 ""
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 అక్షరాలు)."
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 అక్షరాలు గరిష్ఠం)."
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ని కలుపుకుని."
msgstr "మునుజూపు"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "ఈ వాడుకరిని నిరోధించు"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "వాడుకరిని తాజాకరించలేకున్నాం."
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 "ఈ నోటీసుని తొలగించు"
#: 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
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
-msgstr ""
+msgstr "చిహ్నంగా ఉండాల్సిన చతురస్త్ర ప్రదేశాన్ని బొమ్మ నుండి ఎంచుకోండి."
#: actions/grouplogo.php:396
msgid "Logo updated."
msgstr "చిహ్నాన్ని తాజాకరించాం."
#: actions/grouplogo.php:398
-#, fuzzy
msgid "Failed updating logo."
-msgstr "à°\85వతారపు తాజాకరణ విఫలమైంది."
+msgstr "à°\9aà°¿à°¹à±\8dà°¨పు తాజాకరణ విఫలమైంది."
#: actions/groupmembers.php:93 lib/groupnav.php:92
#, php-format
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 ""
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 "నిరోధాన్ని తొలగించడంలో పొరపాటు."
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 "పంపించు"
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 "ప్రవేశించండి"
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 "అజాక్స్ పొరపాటు"
msgid "New notice"
msgstr "కొత్త సందేశం"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "సందేశాలు"
msgstr "అవతారాన్ని తాజాకరించాం."
#: actions/pathsadminpanel.php:265
-#, fuzzy
msgid "Avatar directory"
-msgstr "à°\85వతారానà±\8dని à°¤à±\8aà°²à°\97à°¿à°\82à°\9aà°¾à°\82."
+msgstr "à°\85వతారాల à°¸à°\82à°\9aà°¯à°\82"
#: actions/pathsadminpanel.php:274
msgid "Backgrounds"
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 "అమరికలు భద్రమయ్యాయి."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "నమోదు"
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 "సృష్టితం"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
-msgstr ""
+msgstr "ఆహ్వానితులు మాత్రమే నమోదు అవ్వగలిగేలా చెయ్యి."
#: actions/siteadminpanel.php:333
#, fuzzy
#: actions/siteadminpanel.php:353
msgid "Frequency"
-msgstr ""
+msgstr "తరచుదనం"
#: actions/siteadminpanel.php:354
msgid "Snapshots will be sent once every N web hits"
#: actions/smssettings.php:123
msgid "Awaiting confirmation on this phone number."
-msgstr ""
+msgstr "ఈ ఫోను నంబరు యొక్క నిర్ధారణకై వేచివుంది."
#: actions/smssettings.php:130
msgid "Confirmation code"
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)"
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."
"**%%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 %"
"html) కింద లభ్యమయ్యే [స్టేటస్‌నెట్](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."
msgid "Tags for this attachment"
msgstr ""
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "సంకేతపదం మార్పు"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "సంకేతపదం మార్పు"
+
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
msgstr "ఆదేశ ఫలితాలు"
#: lib/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"
"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 "నుండి"
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 "నోటీసుని తొలగించాం."
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-25 09:43:54+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 (r60380); 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"
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 ""
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 ""
"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)."
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)."
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
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 ""
#: 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."
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 ""
#: 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
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 ""
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."
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"
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ş"
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 ""
msgid "New notice"
msgstr "Yeni durum mesajı"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
#, fuzzy
msgid "Notice posted"
msgstr "Durum mesajları"
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."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "Kayıt"
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"
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 ""
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."
"**%%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 %"
"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 ""
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 ""
"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 ""
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ı"
#
# Author@translatewiki.net: AS
# Author@translatewiki.net: Boogie
+# Author@translatewiki.net: Prima klasy4na
# --
# This file is distributed under the same license as the StatusNet package.
#
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-25 09:43:57+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 (r60380); 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"
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 "Спроба розблокувати користувача невдала."
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 знаків максимум)"
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 знаків максимум)."
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 ""
msgstr "Перегляд"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "Блокувати користувача"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "Не вдалося оновити користувача."
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 "Видалити допис"
#: 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
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 "Адмін"
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 "Помилка при розблокуванні."
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 "Так!"
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 "Увійти"
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"
msgid "New notice"
msgstr "Новий допис"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "Налаштування збережено."
"Чому б не [зареєструватись](%%%%action.register%%%%) і не написати щось "
"цікаве!"
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "Реєстрація"
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 "Вторування"
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"
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."
"**%%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 %"
"для мікроблоґів, версія %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 "Виникли певні проблеми з токеном поточної сесії."
msgid "Tags for this attachment"
msgstr "Теґи для цього вкладення"
+#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
+#, fuzzy
+msgid "Password changing failed"
+msgstr "Пароль замінено"
+
+#: lib/authenticationplugin.php:197
+#, fuzzy
+msgid "Password changing is not allowed"
+msgstr "Пароль замінено"
+
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
msgstr "Результати команди"
"повідомлення аби долучити користувачів до розмови. Такі повідомлення бачите "
"лише Ви."
-#: lib/mailbox.php:227 lib/noticelist.php:469
+#: lib/mailbox.php:227 lib/noticelist.php:477
msgid "from"
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 "Допис вторували"
msgstr "Популярне"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Ð\92Ñ\82оÑ\80Ñ\83ваÑ\82и Ñ\86Ñ\8cомÑ\83 допиÑ\81Ñ\83"
+msgstr "Ð\9fовÑ\82оÑ\80иÑ\82и Ñ\86ей допиÑ\81?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
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-25 09:43:59+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 (r60380); 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"
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 ""
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ự)."
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ự)."
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 ""
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"
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
msgid "Block this user"
msgstr "Ban user"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "Không thể cập nhật thành viên."
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"
#: 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
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 ""
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."
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"
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"
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"
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"
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ữ quá dài (tối đa là 50 ký tự)."
-#: actions/profilesettings.php:246 actions/tagother.php:178
+#: actions/profilesettings.php:253 actions/tagother.php:178
#, fuzzy, php-format
msgid "Invalid tag: \"%s\""
msgstr "Trang chủ '%s' không hợp lệ"
-#: actions/profilesettings.php:295
+#: actions/profilesettings.php:302
#, fuzzy
msgid "Couldn't update user for autosubscribe."
msgstr "Không thể cập nhật thành viên."
-#: actions/profilesettings.php:328
+#: actions/profilesettings.php:354
+#, fuzzy
+msgid "Couldn't save location prefs."
+msgstr "Không thể lưu hồ sơ cá nhân."
+
+#: actions/profilesettings.php:366
msgid "Couldn't save profile."
msgstr "Không thể lưu hồ sơ cá nhân."
-#: actions/profilesettings.php:336
+#: actions/profilesettings.php:374
#, fuzzy
msgid "Couldn't save tags."
msgstr "Không thể lưu hồ sơ cá nhân."
-#: actions/profilesettings.php:344 lib/adminpanelaction.php:126
+#: actions/profilesettings.php:382 lib/adminpanelaction.php:126
msgid "Settings saved."
msgstr "Đã lưu các điều chỉnh."
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
msgstr ""
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ý"
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"
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)"
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."
"**%%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 %"
"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."
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"
"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ừ "
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"
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-25 09:44:02+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 (r60380); 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"
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 "取消阻止用户失败。"
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 个字符)。"
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个字符)。"
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 ""
msgstr "预览"
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
#, fuzzy
msgid "Delete"
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
msgid "Block this user"
msgstr "阻止该用户"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "无法更新用户。"
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 "删除通告"
#: 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
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管理员"
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 "保存用户时出错。"
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 "发送"
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 "登录"
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错误"
msgid "New notice"
msgstr "新通告"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 "设置已保存。"
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 "注册"
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 "创建"
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)"
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."
"**%%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 %"
"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 "会话标识有问题,请重试。"
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 "执行结果"
"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 " 从 "
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 "消息已发布。"
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-25 09:44:05+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 (r60380); 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"
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 ""
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字元)"
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個字)"
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 ""
msgstr ""
#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:603
+#: lib/noticelist.php:611
msgid "Delete"
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
msgid "Block this user"
msgstr "無此使用者"
-#: actions/block.php:162
+#: actions/block.php:167
msgid "Failed to save block information."
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 "無法更新使用者"
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 ""
#: 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
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 ""
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 "儲存使用者發生錯誤"
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 ""
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 "登入"
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 ""
msgid "New notice"
msgstr "新訊息"
-#: actions/newnotice.php:216
+#: actions/newnotice.php:211
msgid "Notice posted"
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 ""
"one!"
msgstr ""
-#: actions/publictagcloud.php:135
+#: actions/publictagcloud.php:131
msgid "Tag cloud"
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 ""
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 "新增"
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 ""
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."
"**%%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 %"
"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 ""
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 ""
"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 ""
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 "更新個人圖像"
--- /dev/null
+<?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;
+ }
+}
+
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Superclass for plugins that do authentication and/or authorization
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * @category Plugin
- * @package StatusNet
- * @author Craig Andrews <candrews@integralblue.com>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-/**
- * Superclass for plugins that do authentication
- *
- * @category Plugin
- * @package StatusNet
- * @author Craig Andrews <candrews@integralblue.com>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-abstract class AuthenticationPlugin extends Plugin
-{
- //is this plugin authoritative for authentication?
- public $authoritative = false;
-
- //should accounts be automatically created after a successful login attempt?
- public $autoregistration = false;
-
- //can the user change their email address
- public $password_changeable=true;
-
- //unique name for this authentication provider
- public $provider_name;
-
- //------------Auth plugin should implement some (or all) of these methods------------\\
- /**
- * Check if a nickname/password combination is valid
- * @param username
- * @param password
- * @return boolean true if the credentials are valid, false if they are invalid.
- */
- function checkPassword($username, $password)
- {
- return false;
- }
-
- /**
- * Automatically register a user when they attempt to login with valid credentials.
- * User::register($data) is a very useful method for this implementation
- * @param username
- * @return mixed instance of User, or false (if user couldn't be created)
- */
- function autoRegister($username)
- {
- $registration_data = array();
- $registration_data['nickname'] = $username ;
- return User::register($registration_data);
- }
-
- /**
- * Change a user's password
- * The old password has been verified to be valid by this plugin before this call is made
- * @param username
- * @param oldpassword
- * @param newpassword
- * @return boolean true if the password was changed, false if password changing failed for some reason
- */
- function changePassword($username,$oldpassword,$newpassword)
- {
- return false;
- }
-
- //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
- function onInitializePlugin(){
- if(!isset($this->provider_name)){
- throw new Exception("must specify a provider_name for this authentication provider");
- }
- }
-
- function onStartCheckPassword($nickname, $password, &$authenticatedUser){
- //map the nickname to a username
- $user_username = new User_username();
- $user_username->username=$nickname;
- $user_username->provider_name=$this->provider_name;
- if($user_username->find() && $user_username->fetch()){
- $username = $user_username->username;
- $authenticated = $this->checkPassword($username, $password);
- if($authenticated){
- $authenticatedUser = User::staticGet('id', $user_username->user_id);
- return false;
- }
- }else{
- $user = User::staticGet('nickname', $nickname);
- if($user){
- //make sure a different provider isn't handling this nickname
- $user_username = new User_username();
- $user_username->username=$nickname;
- if(!$user_username->find()){
- //no other provider claims this username, so it's safe for us to handle it
- $authenticated = $this->checkPassword($nickname, $password);
- if($authenticated){
- $authenticatedUser = User::staticGet('nickname', $nickname);
- User_username::register($authenticatedUser,$nickname,$this->provider_name);
- return false;
- }
- }
- }else{
- if($this->autoregistration){
- $authenticated = $this->checkPassword($nickname, $password);
- if($authenticated){
- $user = $this->autoregister($nickname);
- if($user){
- $authenticatedUser = $user;
- User_username::register($authenticatedUser,$nickname,$this->provider_name);
- return false;
- }
- }
- }
- }
- }
- if($this->authoritative){
- return false;
- }else{
- //we're not authoritative, so let other handlers try
- return;
- }
- }
-
- function onStartChangePassword($user,$oldpassword,$newpassword)
- {
- if($this->password_changeable){
- $user_username = new User_username();
- $user_username->user_id=$user->id;
- $user_username->provider_name=$this->provider_name;
- if($user_username->find() && $user_username->fetch()){
- $authenticated = $this->checkPassword($user_username->username, $oldpassword);
- if($authenticated){
- $result = $this->changePassword($user_username->username,$oldpassword,$newpassword);
- if($result){
- //stop handling of other handlers, because what was requested was done
- return false;
- }else{
- throw new Exception(_('Password changing failed'));
- }
- }else{
- if($this->authoritative){
- //since we're authoritative, no other plugin could do this
- throw new Exception(_('Password changing failed'));
- }else{
- //let another handler try
- return null;
- }
- }
- }
- }else{
- if($this->authoritative){
- //since we're authoritative, no other plugin could do this
- throw new Exception(_('Password changing is not allowed'));
- }
- }
- }
-
- function onStartAccountSettingsPasswordMenuItem($widget)
- {
- if($this->authoritative && !$this->password_changeable){
- //since we're authoritative, no other plugin could change passwords, so do not render the menu item
- return false;
- }
- }
-
- function onAutoload($cls)
- {
- switch ($cls)
- {
- case 'User_username':
- require_once(INSTALLDIR.'/plugins/Authentication/User_username.php');
- return false;
- default:
- return true;
- }
- }
-
- function onCheckSchema() {
- $schema = Schema::get();
- $schema->ensureTable('user_username',
- array(new ColumnDef('provider_name', 'varchar',
- '255', false, 'PRI'),
- new ColumnDef('username', 'varchar',
- '255', false, 'PRI'),
- new ColumnDef('user_id', 'integer',
- null, false),
- new ColumnDef('created', 'datetime',
- null, false),
- new ColumnDef('modified', 'timestamp')));
- return true;
- }
-
- function onUserDeleteRelated($user, &$tables)
- {
- $tables[] = 'User_username';
- return true;
- }
-}
-
+++ /dev/null
-<?php
-/**
- * Table Definition for user_username
- */
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
-
-class User_username extends Memcached_DataObject
-{
- ###START_AUTOCODE
- /* the code below is auto generated do not remove the above tag */
-
- public $__table = 'user_username'; // table name
- public $user_id; // int(4) not_null
- public $provider_name; // varchar(255) primary_key not_null
- public $username; // varchar(255) primary_key not_null
- public $created; // datetime() not_null
- public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
-
- /* Static get */
- function staticGet($k,$v=null)
- { return Memcached_DataObject::staticGet('User_username',$k,$v); }
-
- /* the code above is auto generated do not remove the tag below */
- ###END_AUTOCODE
-
- /**
- * Register a user with a username on a given provider
- * @param User User object
- * @param string username on the given provider
- * @param provider_name string name of the provider
- * @return mixed User_username instance if the registration succeeded, false if it did not
- */
- static function register($user, $username, $provider_name)
- {
- $user_username = new User_username();
- $user_username->user_id = $user->id;
- $user_username->provider_name = $provider_name;
- $user_username->username = $username;
- $user_username->created = DB_DataObject_Cast::dateTime();
- if($user_username->insert()){
- return $user_username;
- }else{
- return false;
- }
- }
-
- function table() {
- return array(
- 'user_id' => DB_DATAOBJECT_INT,
- 'username' => DB_DATAOBJECT_STR,
- 'provider_name' => DB_DATAOBJECT_STR ,
- 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
- );
- }
-
- // now define the keys.
- function keys() {
- return array('provider_name', 'username');
- }
-
-}
+++ /dev/null
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Superclass for plugins that do authorization
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * @category Plugin
- * @package StatusNet
- * @author Craig Andrews <candrews@integralblue.com>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
-
-/**
- * Superclass for plugins that do authorization
- *
- * @category Plugin
- * @package StatusNet
- * @author Craig Andrews <candrews@integralblue.com>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-abstract class AuthorizationPlugin extends Plugin
-{
- //is this plugin authoritative for authorization?
- public $authoritative = false;
-
- //------------Auth plugin should implement some (or all) of these methods------------\\
-
- /**
- * Is a user allowed to log in?
- * @param user
- * @return boolean true if the user is allowed to login, false if explicitly not allowed to login, null if we don't explicitly allow or deny login
- */
- function loginAllowed($user) {
- return null;
- }
-
- /**
- * Does a profile grant the user a named role?
- * @param profile
- * @return boolean true if the profile has the role, false if not
- */
- function hasRole($profile, $name) {
- return false;
- }
-
- //------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
- function onInitializePlugin(){
-
- }
-
- function onStartSetUser(&$user) {
- $loginAllowed = $this->loginAllowed($user);
- if($loginAllowed === true){
- return;
- }else if($loginAllowed === false){
- $user = null;
- return false;
- }else{
- if($this->authoritative) {
- $user = null;
- return false;
- }else{
- return;
- }
- }
- }
-
- function onStartSetApiUser(&$user) {
- return $this->onStartSetUser(&$user);
- }
-
- function onStartHasRole($profile, $name, &$has_role) {
- if($this->hasRole($profile, $name)){
- $has_role = true;
- return false;
- }else{
- if($this->authoritative) {
- $has_role = false;
- return false;
- }else{
- return;
- }
- }
- }
-}
-
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;
+ }
+}
--- /dev/null
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to prevent use of nicknames or URLs on a blacklist
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Action
+ * @package StatusNet
+ * @author 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')) {
+ exit(1);
+}
+
+/**
+ * Plugin to prevent use of nicknames or URLs on a blacklist
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+class BlacklistPlugin extends Plugin
+{
+ const VERSION = STATUSNET_VERSION;
+
+ public $nicknames = array();
+ public $urls = array();
+
+ /**
+ * Hook registration to prevent blacklisted homepages or nicknames
+ *
+ * Throws an exception if there's a blacklisted homepage or nickname.
+ *
+ * @param Action $action Action being called (usually register)
+ *
+ * @return boolean hook value
+ */
+
+ function onStartRegistrationTry($action)
+ {
+ $homepage = strtolower($action->trimmed('homepage'));
+
+ if (!empty($homepage)) {
+ if (!$this->_checkUrl($homepage)) {
+ $msg = sprintf(_m("You may not register with homepage '%s'"),
+ $homepage);
+ throw new ClientException($msg);
+ }
+ }
+
+ $nickname = strtolower($action->trimmed('nickname'));
+
+ if (!empty($nickname)) {
+ if (!$this->_checkNickname($nickname)) {
+ $msg = sprintf(_m("You may not register with nickname '%s'"),
+ $nickname);
+ throw new ClientException($msg);
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Hook profile update to prevent blacklisted homepages or nicknames
+ *
+ * Throws an exception if there's a blacklisted homepage or nickname.
+ *
+ * @param Action $action Action being called (usually register)
+ *
+ * @return boolean hook value
+ */
+
+ function onStartProfileSaveForm($action)
+ {
+ $homepage = strtolower($action->trimmed('homepage'));
+
+ if (!empty($homepage)) {
+ if (!$this->_checkUrl($homepage)) {
+ $msg = sprintf(_m("You may not use homepage '%s'"),
+ $homepage);
+ throw new ClientException($msg);
+ }
+ }
+
+ $nickname = strtolower($action->trimmed('nickname'));
+
+ if (!empty($nickname)) {
+ if (!$this->_checkNickname($nickname)) {
+ $msg = sprintf(_m("You may not use nickname '%s'"),
+ $nickname);
+ throw new ClientException($msg);
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Hook notice save to prevent blacklisted urls
+ *
+ * Throws an exception if there's a blacklisted url in the content.
+ *
+ * @param Notice &$notice Notice being saved
+ *
+ * @return boolean hook value
+ */
+
+ function onStartNoticeSave(&$notice)
+ {
+ common_replace_urls_callback($notice->content,
+ array($this, 'checkNoticeUrl'));
+ return true;
+ }
+
+ /**
+ * Helper callback for notice save
+ *
+ * Throws an exception if there's a blacklisted url in the content.
+ *
+ * @param string $url URL in the notice content
+ *
+ * @return boolean hook value
+ */
+
+ function checkNoticeUrl($url)
+ {
+ // It comes in special'd, so we unspecial it
+ // before comparing against patterns
+
+ $url = htmlspecialchars_decode($url);
+
+ if (!$this->_checkUrl($url)) {
+ $msg = sprintf(_m("You may not use url '%s' in notices"),
+ $url);
+ throw new ClientException($msg);
+ }
+
+ return $url;
+ }
+
+ /**
+ * Helper for checking URLs
+ *
+ * Checks an URL against our patterns for a match.
+ *
+ * @param string $url URL to check
+ *
+ * @return boolean true means it's OK, false means it's bad
+ */
+
+ private function _checkUrl($url)
+ {
+ foreach ($this->urls as $pattern) {
+ if (preg_match("/$pattern/", $url)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Helper for checking nicknames
+ *
+ * Checks a nickname against our patterns for a match.
+ *
+ * @param string $nickname nickname to check
+ *
+ * @return boolean true means it's OK, false means it's bad
+ */
+
+ private function _checkNickname($nickname)
+ {
+ foreach ($this->nicknames as $pattern) {
+ if (preg_match("/$pattern/", $nickname)) {
+ return false;
+ }
+ }
+
+ 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;
+ }
+}
--- /dev/null
+<?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;
+ }
+}
+
public $server;
public $port = 443;
public $path = '';
+ public $takeOverLogin = false;
function checkPassword($username, $password)
{
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';
}
}
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)
'autoregistration'=>true,
'server'=>'sso-cas.univ-rennes1.fr',
'port'=>443,
- 'path'=>''
+ 'path'=>'',
+ 'takeOverLogin'=>true
));
}
define("FACEBOOK_CONNECT_SERVICE", 3);
+define('FACEBOOKPLUGIN_VERSION', '0.9');
require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
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;
+ }
+
}
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'];
// 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;
}
}
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]);
}
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() {
--- /dev/null
+<?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));
+ }
+}
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;
$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;
$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
/**
* 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;
}
}
return $this->call_upload_method('facebook.events.create',
array('event_info' => $event_info),
$file,
- Facebook::get_facebook_url('api-photo') . '/restserver.php');
+ $this->photo_server_addr);
} else {
return $this->call_method('facebook.events.create',
array('event_info' => $event_info));
}
}
+ /**
+ * Invites users to an event. If a session user exists, the session user
+ * must have permissions to invite friends to the event and $uids must contain
+ * a list of friend ids. Otherwise, the event must have been
+ * created by the app and $uids must contain users of the app.
+ * This method requires the 'create_event' extended permission to
+ * invite people on behalf of a user.
+ *
+ * @param $eid the event id
+ * @param $uids an array of users to invite
+ * @param $personal_message a string containing the user's message
+ * (text only)
+ *
+ */
+ public function events_invite($eid, $uids, $personal_message) {
+ return $this->call_method('facebook.events.invite',
+ array('eid' => $eid,
+ 'uids' => $uids,
+ 'personal_message', $personal_message));
+ }
+
/**
* Edits an existing event. Only works for events where application is admin.
*
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,
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
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
'test_mode' => $test_mode)), true);
}
+ /**
+ * Gifts API
+ */
+
+ /**
+ * Get Gifts associated with an app
+ *
+ * @return array of gifts
+ */
+ public function gifts_get() {
+ return json_decode(
+ $this->call_method('facebook.gifts.get',
+ array()),
+ true
+ );
+ }
+
+ /*
+ * Update gifts stored by an app
+ *
+ * @param array containing gift_id => gift_data to be updated
+ * @return array containing gift_id => true/false indicating success
+ * in updating that gift
+ */
+ public function gifts_update($update_array) {
+ return json_decode(
+ $this->call_method('facebook.gifts.update',
+ array('update_str' => json_encode($update_array))
+ ),
+ true
+ );
+ }
+
+ /**
+ * Dashboard API
+ */
+
+ /**
+ * Set the news for the specified user.
+ *
+ * @param int $uid The user for whom you are setting news for
+ * @param string $news Text of news to display
+ *
+ * @return bool Success
+ */
+ public function dashboard_setNews($uid, $news) {
+ return $this->call_method('facebook.dashboard.setNews',
+ array('uid' => $uid,
+ 'news' => $news)
+ );
+ }
+
+ /**
+ * Get the current news of the specified user.
+ *
+ * @param int $uid The user to get the news of
+ *
+ * @return string The text of the current news for the user
+ */
+ public function dashboard_getNews($uid) {
+ return json_decode(
+ $this->call_method('facebook.dashboard.getNews',
+ array('uid' => $uid)
+ ), true);
+ }
+
+ /**
+ * Set the news for the specified user.
+ *
+ * @param int $uid The user you are clearing the news of
+ *
+ * @return bool Success
+ */
+ public function dashboard_clearNews($uid) {
+ return $this->call_method('facebook.dashboard.clearNews',
+ array('uid' => $uid)
+ );
+ }
+
+
+
/**
* Creates a note with the specified title and content.
*
$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);
}
'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
array('properties' => json_encode($properties)));
}
+ /**
+ * Sets href and text for a Live Stream Box xid's via link
+ *
+ * @param string $xid xid of the Live Stream
+ * @param string $via_href Href for the via link
+ * @param string $via_text Text for the via link
+ *
+ * @return boolWhether the set was successful
+ */
+ public function admin_setLiveStreamViaLink($xid, $via_href, $via_text) {
+ return $this->call_method('facebook.admin.setLiveStreamViaLink',
+ array('xid' => $xid,
+ 'via_href' => $via_href,
+ 'via_text' => $via_text));
+ }
+
+ /**
+ * Gets href and text for a Live Stream Box xid's via link
+ *
+ * @param string $xid xid of the Live Stream
+ *
+ * @return Array Associative array with keys 'via_href' and 'via_text'
+ * False if there was an error.
+ */
+ public function admin_getLiveStreamViaLink($xid) {
+ return $this->call_method('facebook.admin.getLiveStreamViaLink',
+ array('xid' => $xid));
+ }
+
/**
* Returns the allocation limit value for a specified integration point name
* Integration point names are defined in lib/api/karma/constants.php in the
$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'],
return $this->format;
}
+ /**
+ * Returns the raw JSON or XML output returned by the server in the most
+ * recent API call.
+ *
+ * @return string
+ */
+ public function getRawData() {
+ return $this->rawData;
+ }
+
/**
* Calls the specified file-upload POST method with the specified parameters
*
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;
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);
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
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
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;
/*
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;
* EVENT API ERRORS
*/
const API_EC_EVENT_INVALID_TIME = 1000;
+ const API_EC_EVENT_NAME_LOCKED = 1001;
/*
* INFO BOX ERRORS
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
}
require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
-require_once INSTALLDIR . '/lib/noticeform.php';
+require_once INSTALLDIR . '/plugins/Facebook/facebooknoticeform.php';
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();
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;
}
}
--- /dev/null
+<?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')));
+ }
+}
$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.
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;
}
- */
}
}
}
-class Feedinfo extends Plugin_DataObject
+class Feedinfo extends Memcached_DataObject
{
public $__table = 'feedinfo';
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);
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;
+ }
}
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;
+ }
}
$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;
+ }
}
--- /dev/null
+<?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;
+ }
+}
--- /dev/null
+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
--- /dev/null
+#!/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();
+
+}
exit(1);
}
-require_once INSTALLDIR.'/plugins/Authentication/AuthenticationPlugin.php';
require_once 'Net/LDAP2.php';
class LdapAuthenticationPlugin extends AuthenticationPlugin
case 'MemcacheSchemaCache':
require_once(INSTALLDIR.'/plugins/LdapAuthentication/MemcacheSchemaCache.php');
return false;
- default:
- return parent::onAutoload($cls);
}
}
exit(1);
}
-require_once INSTALLDIR.'/plugins/Authorization/AuthorizationPlugin.php';
require_once 'Net/LDAP2.php';
class LdapAuthorizationPlugin extends AuthorizationPlugin
public $attributes = array();
function onInitializePlugin(){
- parent::onInitializePlugin();
if(!isset($this->host)){
throw new Exception("must specify a host");
}
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;
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;
+ }
}
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;
+ }
}
class MapstractionPlugin extends Plugin
{
+ const VERSION = STATUSNET_VERSION;
+
/** provider name, one of:
'cloudmade', 'google', 'microsoft', 'openlayers', 'yahoo' */
public $provider = 'openlayers';
$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;
+ }
}
--- /dev/null
+<?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;
+ }
+}
+
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);
}
--- /dev/null
+<?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);
+ }
+
+}
--- /dev/null
+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.
$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;
}
'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'),
$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;
+ }
}
/* 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);
}
$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;
+ }
+
}
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)
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;
+ }
}
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;
+ }
}
--- /dev/null
+<?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
--- /dev/null
+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
--- /dev/null
+<?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');
+ }
+ }
+ }
+
+}
+
--- /dev/null
+<?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;
+ }
+
+}
+
--- /dev/null
+#!/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();
--- /dev/null
+<?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();
+ }
+
+}
+
--- /dev/null
+<?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;
+ }
+
+}
function _getScripts()
{
- return array('plugins/Realtime/realtimeupdate.js',
- 'plugins/Realtime/json2.js');
+ return array('plugins/Realtime/realtimeupdate.js');
}
function _updateInitialize($timeline, $user_id)
+++ /dev/null
-/*
- 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 ' '),
- 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');
- };
- }
-}());
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 {
exit(1);
}
-require_once INSTALLDIR.'/plugins/Authentication/AuthenticationPlugin.php';
-
class ReverseUsernameAuthenticationPlugin extends AuthenticationPlugin
{
//---interface implementation---//
<?php
-/*
+/**
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2009, StatusNet, Inc.
*
+ * A sample module to show best practices for StatusNet plugins
+ *
+ * PHP version 5
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Sample
+ * @package StatusNet
+ * @author Brion Vibber <brionv@status.net>
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
*/
-/**
- * @package SamplePlugin
- * @maintainer Your Name <you@example.com>
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
+if (!defined('STATUSNET')) {
// This check helps protect against security problems;
// your code file can't be executed directly from the web.
exit(1);
}
+/**
+ * Sample plugin main class
+ *
+ * Each plugin requires a main class to interact with the StatusNet system.
+ *
+ * The main class usually extends the Plugin class that comes with StatusNet.
+ *
+ * The class has standard-named methods that will be called when certain events
+ * happen in the code base. These methods have names like 'onX' where X is an
+ * event name (see EVENTS.txt for the list of available events). Event handlers
+ * have pre-defined arguments, based on which event they're handling. A typical
+ * event handler:
+ *
+ * function onSomeEvent($paramA, &$paramB)
+ * {
+ * if ($paramA == 'jed') {
+ * throw new Exception(sprintf(_m("Invalid parameter %s"), $paramA));
+ * }
+ * $paramB = 'spock';
+ * return true;
+ * }
+ *
+ * Event handlers must return a boolean value. If they return false, all other
+ * event handlers for this event (in other plugins) will be skipped, and in some
+ * cases the default processing for that event would be skipped. This is great for
+ * replacing the default action of an event.
+ *
+ * If the handler returns true, processing of other event handlers and the default
+ * processing will continue. This is great for extending existing functionality.
+ *
+ * If the handler throws an exception, processing will stop, and the exception's
+ * error will be shown to the user.
+ *
+ * To install a plugin (like this one), site admins add the following code to
+ * their config.php file:
+ *
+ * addPlugin('Sample');
+ *
+ * Plugins must be installed in one of the following directories:
+ *
+ * local/plugins/{$pluginclass}.php
+ * local/plugins/{$name}/{$pluginclass}.php
+ * local/{$pluginclass}.php
+ * local/{$name}/{$pluginclass}.php
+ * plugins/{$pluginclass}.php
+ * plugins/{$name}/{$pluginclass}.php
+ *
+ * Here, {$name} is the name of the plugin, like 'Sample', and {$pluginclass} is
+ * the name of the main class, like 'SamplePlugin'. Plugins that are part of the
+ * main StatusNet distribution go in 'plugins' and third-party or local ones go
+ * in 'local'.
+ *
+ * Simple plugins can be implemented as a single module. Others are more complex
+ * and require additional modules; these should use their own directory, like
+ * 'local/plugins/{$name}/'. All files related to the plugin, including images,
+ * JavaScript, CSS, external libraries or PHP modules should go in the plugin
+ * directory.
+ *
+ * @category Sample
+ * @package StatusNet
+ * @author Brion Vibber <brionv@status.net>
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
+ */
+
class SamplePlugin extends Plugin
{
- function onInitializePlugin()
+ /**
+ * Plugins are configured using public instance attributes. To set
+ * their values, site administrators use this syntax:
+ *
+ * addPlugin('Sample', array('attr1' => 'foo', 'attr2' => 'bar'));
+ *
+ * The same plugin class can be initialized multiple times with different
+ * arguments:
+ *
+ * addPlugin('EmailNotify', array('sendTo' => 'evan@status.net'));
+ * addPlugin('EmailNotify', array('sendTo' => 'brionv@status.net'));
+ *
+ */
+
+ public $attr1 = null;
+ public $attr2 = null;
+
+ /**
+ * Initializer for this plugin
+ *
+ * Plugins overload this method to do any initialization they need,
+ * like connecting to remote servers or creating paths or so on.
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ */
+
+ function initialize()
+ {
+ return true;
+ }
+
+ /**
+ * Cleanup for this plugin
+ *
+ * Plugins overload this method to do any cleanup they need,
+ * like disconnecting from remote servers or deleting temp files or so on.
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ */
+
+ function cleanup()
{
- // Event handlers normally return true to indicate that all is well.
- //
- // Returning false will cancel further processing of any other
- // plugins or core code hooking the same event.
return true;
}
/**
- * Hook for RouterInitialized event.
+ * Database schema setup
+ *
+ * Plugins can add their own tables to the StatusNet database. Plugins
+ * should use StatusNet's schema interface to add or delete tables. The
+ * ensureTable() method provides an easy way to ensure a table's structure
+ * and availability.
+ *
+ * By default, the schema is checked every time StatusNet is run (say, when
+ * a Web page is hit). Admins can configure their systems to only check the
+ * schema when the checkschema.php script is run, greatly improving performance.
+ * However, they need to remember to run that script after installing or
+ * upgrading a plugin!
+ *
+ * @see Schema
+ * @see ColumnDef
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ */
+
+ function onCheckSchema()
+ {
+ $schema = Schema::get();
+
+ // For storing user-submitted flags on profiles
+
+ $schema->ensureTable('user_greeting_count',
+ array(new ColumnDef('user_id', 'integer', null,
+ true, 'PRI'),
+ new ColumnDef('greeting_count', 'integer')));
+
+ return true;
+ }
+
+ /**
+ * Load related modules when needed
+ *
+ * Most non-trivial plugins will require extra modules to do their work. Typically
+ * these include data classes, action classes, widget classes, or external libraries.
+ *
+ * This method receives a class name and loads the PHP file related to that class. By
+ * tradition, action classes typically have files named for the action, all lower-case.
+ * Data classes are in files with the data class name, initial letter capitalized.
+ *
+ * Note that this method will be called for *all* overloaded classes, not just ones
+ * in this plugin! So, make sure to return true by default to let other plugins, and
+ * the core code, get a chance.
+ *
+ * @param string $cls Name of the class to be loaded
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ */
+
+ function onAutoload($cls)
+ {
+ $dir = dirname(__FILE__);
+
+ switch ($cls)
+ {
+ case 'HelloAction':
+ include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
+ return false;
+ case 'User_greeting_count':
+ include_once $dir . '/'.$cls.'.php';
+ return false;
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * Map URLs to actions
+ *
+ * This event handler lets the plugin map URLs on the site to actions (and
+ * thus an action handler class). Note that the action handler class for an
+ * action will be named 'FoobarAction', where action = 'foobar'. The class
+ * must be loaded in the onAutoload() method.
*
* @param Net_URL_Mapper $m path-to-action mapper
- * @return boolean hook return
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
*/
function onRouterInitialized($m)
{
- $m->connect(':nickname/samples',
- array('action' => 'showsamples'),
- array('feed' => '[A-Za-z0-9_-]+'));
- $m->connect('settings/sample',
- array('action' => 'samplesettings'));
+ $m->connect('main/hello',
+ array('action' => 'hello'));
+ return true;
+ }
+
+ /**
+ * Modify the default menu to link to our custom action
+ *
+ * Using event handlers, it's possible to modify the default UI for pages
+ * almost without limit. In this method, we add a menu item to the default
+ * primary menu for the interface to link to our action.
+ *
+ * The Action class provides a rich set of events to hook, as well as output
+ * methods.
+ *
+ * @param Action $action The current action handler. Use this to
+ * do any output.
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ *
+ * @see Action
+ */
+
+ function onEndPrimaryNav($action)
+ {
+ // common_local_url() gets the correct URL for the action name
+ // we provide
+
+ $action->menuItem(common_local_url('hello'),
+ _m('Hello'), _m('A warm greeting'), false, 'nav_hello');
+ return true;
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Sample',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Brion Vibber, Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Sample',
+ 'rawdescription' =>
+ _m('A sample plugin to show basics of development for new hackers.'));
return true;
}
}
--- /dev/null
+<?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;
+ }
+}
--- /dev/null
+<?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;
+ }
+}
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;
+ }
}
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
'action' => 'template',
));
}
-
-
+
// <%styles%>
// <%scripts%>
// <%search%>
$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);
function onEndShowContentBlock( &$act ) {
$this->blocks['bodytext'] = $act->xw->flush();
}
-
+
// <%localnav%>
function onStartShowLocalNavBlock( &$act ) {
$this->clear_xmlWriter($act);
function onEndShowLocalNavBlock( &$act ) {
$this->blocks['localnav'] = $act->xw->flush();
}
-
+
// <%export%>
function onStartShowExportData( &$act ) {
$this->clear_xmlWriter($act);
function onEndShowExportData( &$act ) {
$this->blocks['export'] = $act->xw->flush();
}
-
+
// <%subscriptions%>
// <%subscribers%>
// <%groups%>
}
return false;
}
-
+
// <%logo%>
// <%nav%>
// <%notice%>
$this->blocks['noticeform'] = $act->xw->flush();
return false;
}
-
+
// <%secondarynav%>
// <%licenses%>
function onStartShowFooter( &$act ) {
$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';
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);
}
-
+
}
/**
* @link http://megapump.com/
*
*/
-
+
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;
+ }
+
}
/**
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;
+ }
}
require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
+define('TWITTERBRIDGEPLUGIN_VERSION', '0.9');
+
/**
* Plugin for sending and importing Twitter statuses
*
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;
+ }
+
}
* @link http://status.net/
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) {
+if (!defined('STATUSNET')) {
exit(1);
}
class UserFlagPlugin extends Plugin
{
+ const REVIEWFLAGS = 'UserFlagPlugin::reviewflags';
+ const CLEARFLAGS = 'UserFlagPlugin::clearflags';
+
+ public $flagOnBlock = true;
+
+ /**
+ * Hook for ensuring our tables are created
+ *
+ * Ensures that the user_flag_profile table exists
+ * and has the right columns.
+ *
+ * @return boolean hook return
+ */
+
function onCheckSchema()
{
$schema = Schema::get();
return true;
}
- function onInitializePlugin()
- {
- // XXX: do something here?
- return true;
- }
+ /**
+ * Add our actions to the URL router
+ *
+ * @param Net_URL_Mapper $m URL mapper for this hit
+ *
+ * @return boolean hook return
+ */
- function onRouterInitialized($m) {
+ function onRouterInitialized($m)
+ {
$m->connect('main/flag/profile', array('action' => 'flagprofile'));
+ $m->connect('main/flag/clear', array('action' => 'clearflag'));
$m->connect('admin/profile/flag', array('action' => 'adminprofileflag'));
return true;
}
- function onAutoload($cls)
+ /**
+ * Auto-load our classes if called
+ *
+ * @param string $cls Class to load
+ *
+ * @return boolean hook return
+ */
+
+ function onAutoload($cls)
{
- switch ($cls)
+ switch (strtolower($cls))
{
- case 'FlagprofileAction':
- case 'AdminprofileflagAction':
- require_once(INSTALLDIR.'/plugins/UserFlag/' . strtolower(mb_substr($cls, 0, -6)) . '.php');
+ case 'flagprofileaction':
+ case 'adminprofileflagaction':
+ case 'clearflagaction':
+ include_once INSTALLDIR.'/plugins/UserFlag/' .
+ strtolower(mb_substr($cls, 0, -6)) . '.php';
return false;
- case 'FlagProfileForm':
- require_once(INSTALLDIR.'/plugins/UserFlag/' . strtolower($cls . '.php'));
+ case 'flagprofileform':
+ case 'clearflagform':
+ include_once INSTALLDIR.'/plugins/UserFlag/' . strtolower($cls . '.php');
return false;
- case 'User_flag_profile':
- require_once(INSTALLDIR.'/plugins/UserFlag/'.$cls.'.php');
+ case 'user_flag_profile':
+ include_once INSTALLDIR.'/plugins/UserFlag/'.ucfirst(strtolower($cls)).'.php';
return false;
default:
return true;
}
}
+ /**
+ * Add a 'flag' button to profile page
+ *
+ * @param Action &$action The action being called
+ * @param Profile $profile Profile being shown
+ *
+ * @return boolean hook result
+ */
+
function onEndProfilePageActionsElements(&$action, $profile)
{
$user = common_current_user();
$action->element('p', 'flagged', _('Flagged'));
} else {
$form = new FlagProfileForm($action, $profile,
- array('action' => 'showstream',
- 'nickname' => $profile->nickname));
+ array('action' => 'showstream',
+ 'nickname' => $profile->nickname));
$form->show();
}
return true;
}
+ /**
+ * Add a 'flag' button to profiles in a list
+ *
+ * @param ProfileListItem $item item being shown
+ *
+ * @return boolean hook result
+ */
+
function onEndProfileListItemActionElements($item)
{
$user = common_current_user();
return true;
}
+ /**
+ * Add our plugin's CSS to page output
+ *
+ * @param Action $action action being shown
+ *
+ * @return boolean hook result
+ */
+
function onEndShowStatusNetStyles($action)
{
- $action->cssLink(common_path('plugins/UserFlag/userflag.css'),
+ $action->cssLink(common_path('plugins/UserFlag/userflag.css'),
null, 'screen, projection, tv');
return true;
}
+ /**
+ * Initialize any flagging buttons on the page
+ *
+ * @param Action $action action being shown
+ *
+ * @return boolean hook result
+ */
+
function onEndShowScripts($action)
{
- $action->inlineScript('if ($(".form_entity_flag").length > 0) { SN.U.FormXHR($(".form_entity_flag")); }');
+ $action->inlineScript('if ($(".form_entity_flag").length > 0) { '.
+ 'SN.U.FormXHR($(".form_entity_flag")); '.
+ '}');
+ return true;
+ }
+
+ /**
+ * Check whether a user has one of our defined rights
+ *
+ * We define extra rights; this function checks to see if a
+ * user has one of them.
+ *
+ * @param User $user User being checked
+ * @param string $right Right we're checking
+ * @param boolean &$result out, result of the check
+ *
+ * @return boolean hook result
+ */
+
+ function onUserRightsCheck($user, $right, &$result)
+ {
+ switch ($right) {
+ case self::REVIEWFLAGS:
+ case self::CLEARFLAGS:
+ $result = $user->hasRole('moderator');
+ return false; // done processing!
+ }
+
+ return true; // unchanged!
+ }
+
+ /**
+ * Optionally flag profile when a block happens
+ *
+ * We optionally add a flag when a profile has been blocked
+ *
+ * @param User $user User doing the block
+ * @param Profile $profile Profile being blocked
+ *
+ * @return boolean hook result
+ */
+
+ function onEndBlockProfile($user, $profile)
+ {
+ if ($this->flagOnBlock && !User_flag_profile::exists($profile->id,
+ $user->id)) {
+
+ User_flag_profile::create($user->id, $profile->id);
+ }
+ 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;
}
}
<?php
-/*
+/**
+ * Data class for profile flags
+ *
+ * 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.
*
require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
+/**
+ * Data class for profile flags
+ *
+ * A class representing a user flagging another profile for review.
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
class User_flag_profile extends Memcached_DataObject
{
###START_AUTOCODE
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
- function table() {
+ /**
+ * return table definition for DB_DataObject
+ *
+ * @return array array of column definitions
+ */
+
+ function table()
+ {
return array(
'profile_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
);
}
- function keys() {
+ /**
+ * return key definitions for DB_DataObject
+ *
+ * @return array key definitions
+ */
+
+ function keys()
+ {
return array('profile_id' => 'N', 'user_id' => 'N');
}
- function &pkeyGet($kv)
+ /**
+ * 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
+ *
+ * @return User_flag_profile found object or null
+ */
+
+ function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('User_flag_profile', $kv);
}
+ /**
+ * Check if a flag exists for given profile and user
+ *
+ * @param integer $profile_id Profile to check for
+ * @param integer $user_id User to check for
+ *
+ * @return boolean true if exists, else false
+ */
+
static function exists($profile_id, $user_id)
{
$ufp = User_flag_profile::pkeyGet(array('profile_id' => $profile_id,
return !empty($ufp);
}
+
+ static function create($user_id, $profile_id)
+ {
+ $ufp = new User_flag_profile();
+
+ $ufp->profile_id = $profile_id;
+ $ufp->user_id = $user_id;
+ $ufp->created = common_sql_now();
+
+ if (!$ufp->insert()) {
+ $msg = sprintf(_("Couldn't flag profile '%d' for review."),
+ $profile_id);
+ throw new ServerException($msg);
+ }
+
+ $ufp->free();
+
+ return true;
+ }
}
class AdminprofileflagAction extends Action
{
+ var $page = null;
+ var $profiles = null;
+
/**
* Take arguments for running
*
{
parent::prepare($args);
+ $user = common_current_user();
+
+ // User must be logged in.
+
+ if (!common_logged_in()) {
+ $this->clientError(_('Not logged in.'));
+ return;
+ }
+
+ $user = common_current_user();
+
+ // ...because they're logged in
+
+ assert(!empty($user));
+
+ // It must be a "real" login, not saved cookie login
+
+ if (!common_is_real_login()) {
+ // Cookie theft is too easy; we require automatic
+ // logins to re-authenticate before admining the site
+ common_set_returnto($this->selfUrl());
+ if (Event::handle('RedirectToLogin', array($this, $user))) {
+ common_redirect(common_local_url('login'), 303);
+ }
+ }
+
+ // User must have the right to review flags
+
+ if (!$user->hasRight(UserFlagPlugin::REVIEWFLAGS)) {
+ $this->clientError(_('You cannot review profile flags.'));
+ return false;
+ }
+
+ $this->page = $this->trimmed('page');
+
+ if (empty($this->page)) {
+ $this->page = 1;
+ }
+
+ $this->profiles = $this->getProfiles();
+
return true;
}
$this->showPage();
}
- function title() {
+ /**
+ * Title of this page
+ *
+ * @return string Title of the page
+ */
+
+ function title()
+ {
return _('Flagged profiles');
}
function showContent()
{
- $profile = $this->getProfiles();
+ $pl = new FlaggedProfileList($this->profiles, $this);
- $pl = new FlaggedProfileList($profile, $this);
+ $cnt = $pl->show();
- $pl->show();
+ $this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE,
+ $this->page, 'adminprofileflag');
}
+ /**
+ * Retrieve this action's profiles
+ *
+ * @return Profile $profile Profile query results
+ */
+
function getProfiles()
{
$ufp = new User_flag_profile();
$ufp->whereAdd('cleared is NULL');
$ufp->groupBy('profile_id');
- $ufp->orderBy('flag_count DESC');
+ $ufp->orderBy('flag_count DESC, profile_id DESC');
+
+ $offset = ($this->page-1) * PROFILES_PER_PAGE;
+ $limit = PROFILES_PER_PAGE + 1;
+
+ $ufp->limit($offset, $limit);
$profiles = array();
}
}
-class FlaggedProfileList extends ProfileList {
+/**
+ * Specialization of ProfileList to show flagging information
+ *
+ * Most of the hard part is done in FlaggedProfileListItem.
+ *
+ * @category Widget
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
+class FlaggedProfileList extends ProfileList
+{
+ /**
+ * Factory method for creating new list items
+ *
+ * @param Profile $profile Profile to create an item for
+ *
+ * @return ProfileListItem newly-created item
+ */
function newListItem($profile)
{
}
}
+/**
+ * Specialization of ProfileListItem to show flagging information
+ *
+ * @category Widget
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
class FlaggedProfileListItem extends ProfileListItem
{
- var $user = null;
+ const MAX_FLAGGERS = 5;
+
+ var $user = null;
var $r2args = null;
+ /**
+ * Overload parent's action list with our own moderation-oriented buttons
+ *
+ * @return void
+ */
+
function showActions()
{
$this->user = common_current_user();
$this->endActions();
}
+ /**
+ * Show a button to sandbox the profile
+ *
+ * @return void
+ */
+
function showSandboxButton()
{
if ($this->user->hasRight(Right::SANDBOXUSER)) {
}
}
+ /**
+ * Show a button to silence the profile
+ *
+ * @return void
+ */
+
function showSilenceButton()
{
if ($this->user->hasRight(Right::SILENCEUSER)) {
}
}
+ /**
+ * Show a button to delete user and profile
+ *
+ * @return void
+ */
+
function showDeleteButton()
{
}
}
+ /**
+ * Show a button to clear flags
+ *
+ * @return void
+ */
+
function showClearButton()
{
+ if ($this->user->hasRight(UserFlagPlugin::CLEARFLAGS)) {
+ $this->out->elementStart('li', 'entity_clear');
+ $cf = new ClearFlagForm($this->out, $this->profile, $this->r2args);
+ $cf->show();
+ $this->out->elementEnd('li');
+ }
+ }
+
+ /**
+ * Overload parent function to add flaggers list
+ *
+ * @return void
+ */
+
+ function endProfile()
+ {
+ $this->showFlaggersList();
+ parent::endProfile();
+ }
+
+ /**
+ * Show a list of people who've flagged this profile
+ *
+ * @return void
+ */
+
+ function showFlaggersList()
+ {
+ $flaggers = array();
+
+ $ufp = new User_flag_profile();
+
+ $ufp->selectAdd();
+ $ufp->selectAdd('user_id');
+ $ufp->profile_id = $this->profile->id;
+ $ufp->orderBy('created');
+
+ if ($ufp->find()) { // XXX: this should always happen
+ while ($ufp->fetch()) {
+ $user = User::staticGet('id', $ufp->user_id);
+ if (!empty($user)) { // XXX: this would also be unusual
+ $flaggers[] = clone($user);
+ }
+ }
+ }
+
+ $cnt = count($flaggers);
+ $others = 0;
+
+ if ($cnt > self::MAX_FLAGGERS) {
+ $flaggers = array_slice($flaggers, 0, self::MAX_FLAGGERS);
+ $others = $cnt - self::MAX_FLAGGERS;
+ }
+
+ $lnks = array();
+
+ foreach ($flaggers as $flagger) {
+
+ $url = common_local_url('showstream',
+ array('nickname' => $flagger->nickname));
+
+ $lnks[] = XMLStringer::estring('a', array('href' => $url,
+ 'class' => 'flagger'),
+ $flagger->nickname);
+ }
+
+ if ($cnt > 0) {
+ $text = _('Flagged by ');
+
+ $text .= implode(', ', $lnks);
+
+ if ($others > 0) {
+ $text .= sprintf(_(' and %d others'), $others);
+ }
+
+ $this->out->elementStart('p', array('class' => 'flaggers'));
+ $this->out->raw($text);
+ $this->out->elementEnd('p');
+ }
}
}
--- /dev/null
+<?php
+/**
+ * Clear all flags for a profile
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @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);
+}
+
+/**
+ * Action to clear flags for a profile
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
+class ClearflagAction extends ProfileFormAction
+{
+ /**
+ * Take arguments for running
+ *
+ * @param array $args $_REQUEST args
+ *
+ * @return boolean success flag
+ */
+
+ function prepare($args)
+ {
+ if (!parent::prepare($args)) {
+ return false;
+ }
+
+ $user = common_current_user();
+
+ assert(!empty($user)); // checked above
+ assert(!empty($this->profile)); // checked above
+
+ return true;
+ }
+
+ /**
+ * Handle request
+ *
+ * Overriding the base Action's handle() here to deal check
+ * for Ajax and return an HXR response if necessary
+ *
+ * @param array $args $_REQUEST args; handled in prepare()
+ *
+ * @return void
+ */
+
+ function handle($args)
+ {
+ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+ $this->handlePost();
+ if (!$this->boolean('ajax')) {
+ $this->returnToArgs();
+ }
+ }
+ }
+
+ /**
+ * Handle POST
+ *
+ * Executes the actions; deletes all flags
+ *
+ * @return void
+ */
+
+ function handlePost()
+ {
+ $ufp = new User_flag_profile();
+
+ $result = $ufp->query('UPDATE user_flag_profile ' .
+ 'SET cleared = now() ' .
+ 'WHERE cleared is null ' .
+ 'AND profile_id = ' . $this->profile->id);
+
+ if ($result == false) {
+ $msg = sprintf(_("Couldn't clear flags for profile '%s'."),
+ $this->profile->nickname);
+ throw new ServerException($msg);
+ }
+
+ $ufp->free();
+
+ if ($this->boolean('ajax')) {
+ $this->ajaxResults();
+ }
+ }
+
+ /**
+ * Return results in ajax form
+ *
+ * @return void
+ */
+
+ function ajaxResults()
+ {
+ header('Content-Type: text/xml;charset=utf-8');
+ $this->xw->startDocument('1.0', 'UTF-8');
+ $this->elementStart('html');
+ $this->elementStart('head');
+ $this->element('title', null, _('Flags cleared'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $this->element('p', 'cleared', _('Cleared'));
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ }
+}
--- /dev/null
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Form for clearing profile flags
+ *
+ * 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>
+ * @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);
+}
+
+require_once INSTALLDIR.'/lib/form.php';
+
+/**
+ * Form for clearing profile flags
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+class ClearFlagForm extends ProfileActionForm
+{
+ /**
+ * class of the form
+ * Action this form provides
+ *
+ * @return string class of the form
+ */
+
+ function formClass()
+ {
+ return 'form_entity_clearflag';
+ }
+
+ /**
+ * Action this form provides
+ *
+ * @return string Name of the action, lowercased.
+ */
+
+ function target()
+ {
+ return 'clearflag';
+ }
+
+ /**
+ * Title of the form
+ *
+ * @return string Title of the form, internationalized
+ */
+
+ function title()
+ {
+ return _('Clear');
+ }
+
+ /**
+ * Description of the form
+ *
+ * @return string description of the form, internationalized
+ */
+
+ function description()
+ {
+ return _('Clear all flags');
+ }
+}
assert(!empty($this->profile)); // checked above
if (User_flag_profile::exists($this->profile->id,
- $user->id))
- {
+ $user->id)) {
$this->clientError(_('Flag already exists.'));
return false;
}
return true;
}
-
/**
* Handle request
*
assert(!empty($user));
assert(!empty($this->profile));
- $ufp = new User_flag_profile();
-
- $ufp->profile_id = $this->profile->id;
- $ufp->user_id = $user->id;
- $ufp->created = common_sql_now();
+ // throws an exception on error
- if (!$ufp->insert()) {
- throw new ServerException(sprintf(_("Couldn't flag profile '%s' for review."),
- $this->profile->nickname));
- }
-
- $ufp->free();
+ User_flag_profile::create($user->id, $this->profile->id);
if ($this->boolean('ajax')) {
$this->ajaxResults();
}
}
- function ajaxResults() {
+ /**
+ * Return results as AJAX message
+ *
+ * @return void
+ */
+
+ function ajaxResults()
+ {
header('Content-Type: text/xml;charset=utf-8');
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
exit(1);
}
-define('WIKIHASHTAGSPLUGIN_VERSION', '0.1');
-
/**
* Plugin to use WikiHashtags
*
class WikiHashtagsPlugin extends Plugin
{
+ const VERSION = '0.1';
+
function __construct($code=null)
{
parent::__construct();
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;
+ }
}
--- /dev/null
+<?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;
+ }
+}
+
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);
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)
}
$notice = Notice::saveNew($user->id, $content, 'system');
+
+ $user->free();
+ $notice->free();
}
function newSub($i)
}
subs_subscribe_to($from, $to);
+
+ $from->free();
+ $to->free();
}
function main($usercount, $noticeavg, $subsavg, $tagmax)
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'));
}
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
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
$shortoptions = 'u::';
-$longoptions = array('start-user-id::');
+$longoptions = array('start-user-id=', 'sleep-time=');
$helptext = <<<END_OF_TRIM_HELP
Batch script for trimming notice inboxes to a reasonable size.
-u <id>
--start-user-id=<id> User ID to start after. Default is all.
+ --sleep-time=<integer> Amount of time to wait (in seconds) between trims. Default is zero.
END_OF_TRIM_HELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
$id = null;
+$sleep_time = 0;
if (have_option('u')) {
$id = get_option_value('u');
$id = null;
}
+if (have_option('--sleep-time')) {
+ $sleep_time = intval(get_option_value('--sleep-time'));
+}
+
+$quiet = have_option('q') || have_option('--quiet');
+
$user = new User();
if (!empty($id)) {
$cnt = $user->find();
while ($user->fetch()) {
- Notice_inbox::gc($user->id);
+ if (!$quiet) {
+ print "Trimming inbox for user $user->id";
+ }
+ $count = Notice_inbox::gc($user->id);
+ if ($count) {
+ if (!$quiet) {
+ print ": $count trimmed...";
+ }
+ sleep($sleep_time);
+ }
+ if (!$quiet) {
+ print "\n";
+ }
}
--- /dev/null
+#!/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;
+}
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;
.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;
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;
width:auto;
}
+.system_notice ul,
.instructions ul {
list-style-position:inside;
}
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;
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;
.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;
}
.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;
list-style-type:none;
}
.entity_actions li {
-margin-bottom:4px;
+margin-bottom:7px;
}
.entity_actions li:first-child {
border-top:0;
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 {
min-height:60px;
}
-
.profile .form_group_join legend,
.profile .form_group_leave legend,
.profile .form_user_subscribe legend,
.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;
margin-right:11px;
}
-
.profile .entity_profile .form_subscription_edit label {
font-weight:normal;
margin-right:11px;
}
-
/* NOTICE */
.notice,
.profile {
}
.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;
}
.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,
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;
.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;
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;
}
.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,
#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,
#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;
}
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;
#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 {
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,
.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;
#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%;
}
#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 {
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;
}
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,
}
.notice,
-.profile {
+.profile,
+#content tbody tr {
border-top-color:#C8D1D5;
}
.mark-top {
.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;
button.close {
background-position:0 -1120px;
}
+button.minimize {
+background-position:0 -1912px;
+}
#anon_notice {
background-color:#87B4C8;
-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 {
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,
}
.notice,
-.profile {
+.profile,
+#content tbody tr {
border-top-color:#CEE1E9;
}
.mark-top {
.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;
button.close {
background-position:0 -1120px;
}
+button.minimize {
+background-position:0 -1912px;
+}
#anon_notice {
background-color:#87B4C8;
-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 {