summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@integralblue.com>2010-02-02 17:00:10 -0500
committerCraig Andrews <candrews@integralblue.com>2010-02-02 17:00:10 -0500
commit057ec1fceacbfec1f755a5bc6700a188aa70e33f (patch)
tree297839a71d9d3a7a0a7935d5dbcc9c4a3c6c99bb
parentd14651706cf728f116b7ae44c6a6e37b5eb918a4 (diff)
parentf60f2c523f2e7018ea923898931287e7a99e8f44 (diff)
Merge branch '0.9.x' into 1.0.x
Conflicts: EVENTS.txt lib/imqueuehandler.php lib/jabber.php lib/util.php plugins/Xmpp/Sharing_XMPP.php
-rw-r--r--EVENTS.txt14
-rw-r--r--README129
-rw-r--r--actions/apioauthauthorize.php61
-rw-r--r--actions/deleteapplication.php176
-rw-r--r--actions/doc.php3
-rw-r--r--actions/editapplication.php24
-rw-r--r--actions/geocode.php12
-rw-r--r--actions/getfile.php2
-rw-r--r--actions/newapplication.php20
-rw-r--r--actions/oauthconnectionssettings.php24
-rw-r--r--actions/public.php10
-rw-r--r--actions/robotstxt.php100
-rw-r--r--actions/rsd.php226
-rw-r--r--actions/sessionsadminpanel.php201
-rw-r--r--actions/showapplication.php21
-rw-r--r--actions/showstream.php9
-rw-r--r--actions/useradminpanel.php20
-rw-r--r--classes/Consumer.php30
-rw-r--r--classes/File.php17
-rw-r--r--classes/Memcached_DataObject.php53
-rw-r--r--classes/Notice.php35
-rw-r--r--classes/Oauth_application.php17
-rw-r--r--classes/Profile_role.php1
-rw-r--r--classes/Session.php43
-rw-r--r--classes/User.php204
-rw-r--r--classes/status_network.ini1
-rw-r--r--classes/statusnet.ini3
-rw-r--r--db/08to09.sql31
-rw-r--r--db/rc3torc4.sql4
-rw-r--r--db/statusnet.sql4
-rw-r--r--index.php38
-rw-r--r--js/jquery.form.js1292
-rw-r--r--js/jquery.js6209
-rw-r--r--js/jquery.min.js164
-rw-r--r--js/util.js168
-rw-r--r--lib/adminpanelaction.php11
-rw-r--r--lib/api.php21
-rw-r--r--lib/apiauth.php84
-rw-r--r--lib/apioauthstore.php27
-rw-r--r--lib/authenticationplugin.php12
-rw-r--r--lib/common.php9
-rw-r--r--lib/default.php9
-rw-r--r--lib/distribqueuehandler.php55
-rw-r--r--lib/liberalstomp.php24
-rw-r--r--lib/mysqlschema.php537
-rw-r--r--lib/noticelist.php20
-rw-r--r--lib/ombqueuehandler.php2
-rw-r--r--lib/pgsqlschema.php503
-rw-r--r--lib/router.php29
-rw-r--r--lib/schema.php58
-rw-r--r--lib/stompqueuemanager.php375
-rw-r--r--lib/util.php13
-rw-r--r--locale/ar/LC_MESSAGES/statusnet.po459
-rw-r--r--locale/arz/LC_MESSAGES/statusnet.po457
-rw-r--r--locale/bg/LC_MESSAGES/statusnet.po460
-rw-r--r--locale/ca/LC_MESSAGES/statusnet.po460
-rw-r--r--locale/cs/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/de/LC_MESSAGES/statusnet.po464
-rw-r--r--locale/el/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/en_GB/LC_MESSAGES/statusnet.po469
-rw-r--r--locale/es/LC_MESSAGES/statusnet.po492
-rw-r--r--locale/fa/LC_MESSAGES/statusnet.po463
-rw-r--r--locale/fi/LC_MESSAGES/statusnet.po463
-rw-r--r--locale/fr/LC_MESSAGES/statusnet.po678
-rw-r--r--locale/ga/LC_MESSAGES/statusnet.po463
-rw-r--r--locale/he/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/hsb/LC_MESSAGES/statusnet.po460
-rw-r--r--locale/ia/LC_MESSAGES/statusnet.po463
-rw-r--r--locale/is/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/it/LC_MESSAGES/statusnet.po501
-rw-r--r--locale/ja/LC_MESSAGES/statusnet.po549
-rw-r--r--locale/ko/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/mk/LC_MESSAGES/statusnet.po527
-rw-r--r--locale/nb/LC_MESSAGES/statusnet.po460
-rw-r--r--locale/nl/LC_MESSAGES/statusnet.po526
-rw-r--r--locale/nn/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/pl/LC_MESSAGES/statusnet.po605
-rw-r--r--locale/pt/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/pt_BR/LC_MESSAGES/statusnet.po467
-rw-r--r--locale/ru/LC_MESSAGES/statusnet.po525
-rw-r--r--locale/statusnet.po443
-rw-r--r--locale/sv/LC_MESSAGES/statusnet.po686
-rw-r--r--locale/te/LC_MESSAGES/statusnet.po522
-rw-r--r--locale/tr/LC_MESSAGES/statusnet.po461
-rw-r--r--locale/uk/LC_MESSAGES/statusnet.po524
-rw-r--r--locale/vi/LC_MESSAGES/statusnet.po463
-rw-r--r--locale/zh_CN/LC_MESSAGES/statusnet.po463
-rw-r--r--locale/zh_TW/LC_MESSAGES/statusnet.po461
-rw-r--r--plugins/Adsense/AdsensePlugin.php160
-rw-r--r--plugins/GeonamesPlugin.php78
-rw-r--r--plugins/LdapAuthentication/LdapAuthenticationPlugin.php6
-rw-r--r--plugins/MemcachePlugin.php5
-rw-r--r--plugins/OpenX/OpenXPlugin.php165
-rw-r--r--plugins/Realtime/RealtimePlugin.php4
-rw-r--r--plugins/Realtime/realtimeupdate.js6
-rw-r--r--plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php7
-rw-r--r--plugins/UserFlag/UserFlagPlugin.php19
-rw-r--r--plugins/UserFlag/clearflagform.php2
-rw-r--r--plugins/UserFlag/userflag.css4
-rw-r--r--plugins/UserLimitPlugin.php92
-rw-r--r--scripts/clearcache.php70
-rwxr-xr-xscripts/delete_status_network.sh4
-rwxr-xr-xscripts/queuedaemon.php8
-rwxr-xr-xscripts/sendemail.php82
-rwxr-xr-x[-rw-r--r--]scripts/setconfig.php16
-rw-r--r--scripts/settag.php84
-rw-r--r--scripts/setup.cfg.sample6
-rwxr-xr-xscripts/setup_status_network.sh62
-rw-r--r--theme/base/css/display.css20
-rw-r--r--theme/base/images/icons/icons-01.gifbin3650 -> 3758 bytes
-rw-r--r--theme/base/images/icons/twotone/green/clear.gifbin0 -> 82 bytes
-rw-r--r--theme/base/images/icons/twotone/green/flag.gif (renamed from plugins/UserFlag/icon_flag.gif)bin80 -> 80 bytes
-rw-r--r--theme/base/logo.pngbin4988 -> 10107 bytes
-rw-r--r--theme/default/css/display.css25
-rw-r--r--theme/default/logo.pngbin6389 -> 10107 bytes
-rw-r--r--theme/default/mobilelogo.pngbin2238 -> 4017 bytes
-rw-r--r--theme/identica/css/display.css23
-rw-r--r--theme/identica/mobilelogo.pngbin2238 -> 4017 bytes
118 files changed, 18833 insertions, 10931 deletions
diff --git a/EVENTS.txt b/EVENTS.txt
index 45f1e9d70..977e56b3b 100644
--- a/EVENTS.txt
+++ b/EVENTS.txt
@@ -717,3 +717,17 @@ SendImConfirmationCode: Send a confirmation code to confirm a user owns an IM sc
- $screenname: screenname being confirmed
- $code: confirmation code for confirmation URL
- $user: user requesting the confirmation
+
+StartUserRegister: When a new user is being registered
+- &$profile: new profile data (no ID)
+- &$user: new user account (no ID or URI)
+
+EndUserRegister: When a new user has been registered
+- &$profile: new profile data
+- &$user: new user account
+
+StartRobotsTxt: Before outputting the robots.txt page
+- &$action: RobotstxtAction being shown
+
+EndRobotsTxt: After the default robots.txt page (good place for customization)
+- &$action: RobotstxtAction being shown
diff --git a/README b/README
index f83873ca8..9b4147645 100644
--- a/README
+++ b/README
@@ -2,8 +2,8 @@
README
------
-StatusNet 0.9.0 ("Stand") Beta 3
-20 Jan 2010
+StatusNet 0.9.0 ("Stand") Beta 5
+1 Feb 2010
This is the README file for StatusNet (formerly Laconica), the Open
Source microblogging platform. It includes installation instructions,
@@ -78,6 +78,11 @@ New this version
================
This is a major feature release since version 0.8.2, released Nov 1 2009.
+It is also a security release since 0.9.0beta4 January 27 2010. Beta
+users are strongly encouraged to upgrade to deal with a security alert.
+
+http://status.net/wiki/Security_alert_0000002
+
Notable changes this version:
- Records of deleted notices are stored without the notice content.
@@ -198,6 +203,77 @@ Notable changes this version:
- Major refactoring of queue handlers to manage very
large hosting site (like status.net)
- SubscriptionThrottle plugin to prevent subscription spamming
+- Don't enqueue into plugin or SMS queues when disabled (breaks unqueuehandler if SMS queue isn't attached)
+- Improve name validation checks on local File references
+- fix local file include vulnerability in doc.php
+- Reusing fixed selector name for 'processing' in util.js
+- Removed hAtom pattern from registration page.
+- restructuring of User::registerNew() lost password munging
+- Add a script to clear the cache for a given key
+- buggy fetch for site owner
+- Added missing concat of </li> in Realtime response
+- Updated XHR binded events to work better in jQuery 1.4.1. Using .live() for event delegation instead of jQuery.data() and checking to see if an element was previously binded.
+- Updated jQuery Form Plugin from v2.17 to v2.36
+- Updated jQuery JavaScript Library from v1.3.2 to v1.4.1
+- move schema.type.php to typeschema.php like other files
+- Add Really Simple Discovery (RSD) support
+- Add a robots.txt URL to the site root
+- error clearing tags for profiles from memcached
+- on exceptions, stomp logs the error and reenqueues
+- add lat, lon, location and remove closing tag from geocode.php
+- Use passed-in lat long in geocode.php
+- better handling of null responses from geonames.org
+- Globalized form notice data geo values
+- Using jQuery chaining in FormNoticeXHR
+- Using form object instead of form_id and find(). Slightly faster and easier to read.
+- removed describeTable from base class, and fixed it up in pgsql
+- getTableDef() mostly working in postgres
+- move the schema DDL sql off into seperate files for each db we support
+- plugin to limit number of registered users
+- add hooks for user registration
+- live fast, die young in bash scripts
+- for single-user mode, retrieve either site owner or defined nickname
+- method to get the site owner
+- define a constant for the 'owner' role of a site
+- add simple cache getter/setter static functions to Memcached_DataObject
+- Adds notice author's name to @title in Realtime response
+- Hides .author from XHR response in showstream
+- Hides .author from XHR response in showstream
+- Fix more fatal errors in queue edge cases
+- Don't attempt to resend XMPP messages that can't be broadcast due to the profile being deleted.
+- Wrap each bit of distrib queue handler's saving operation in a try/catch; log exceptions but let everything else continue.
+- Log exceptions from queuedaemon.php if they're not already caught
+- Move sessions settings to its own panel
+- Fixes for status_network db object .ini and tag setter script
+- Add a script to set tags for sites
+- Adjust API authentication to also check for OAuth protocol params in the HTTP Authorization header, as defined in OAuth HTTP Authorization Scheme.
+- Last-chance distribution if enqueueing fails
+- Manual failover for stomp queues.
+- lost config in index.php made all traffic go to master
+- "Revert "move RW setup above user get in index.php so remember_me works""
+- Revert "move RW setup above user get in index.php so remember_me works"
+- move RW setup above user get in index.php so remember_me works
+- hide most DB_DataObject errors
+- always set up database_rw, regardless, so cached sessions work
+- update mysqltimestamps on insert and update
+- additional debugging data for Sessions
+- 'Sign in with Twitter' button img
+- Update to biz theme
+- Remove redundant session token field from form (was already being added by base class).
+- 'Sign in with Twitter' button img
+- Can now set $config['queue']['stomp_persistent'] = false; to explicitly disable persistence when we queue items
+- Showing processing indicator for form_repeat on submit instead of form
+- Removed avatar from repeat of username (matches noticelist)
+- Removed unused variable assignment for avatar URL and added missing fn
+- Don't preemptively close existing DB connections for web views (needed to keep # of conns from going insane on multi-site queue daemons, so just doing for CLI) May, or may not, help with mystery session problems
+- dropping the setcookie() call from common_ensure_session() since we're pretty sure it's unnecessary
+- append '/' on cookie path for now (may still need some refactoring)
+- set session cookie correctly
+- Fix for Mapstraction plugin's zoomed map links
+- debug log line for control channel sub
+- Move faceboookapp.js to the Facebook plugin
+- fix for fix for bad realtime JS load
+- default 24-hour expiry on Memcached objects where not specified.
Prerequisites
=============
@@ -597,26 +673,19 @@ server is probably a good idea for high-volume sites.
needs as a parameter the install path; if you run it from the
StatusNet dir, "." should suffice.
-This will run eight (for now) queue handlers:
+This will run the queue handlers:
+* queuedaemon.php - polls for queued items for inbox processing and
+ pushing out to OMB, SMS, XMPP, etc.
* xmppdaemon.php - listens for new XMPP messages from users and stores
- them as notices in the database.
-* jabberqueuehandler.php - sends queued notices in the database to
- registered users who should receive them.
-* publicqueuehandler.php - sends queued notices in the database to
- public feed listeners.
-* ombqueuehandler.php - sends queued notices to OpenMicroBlogging
- recipients on foreign servers.
-* smsqueuehandler.php - sends queued notices to SMS-over-email addresses
- of registered users.
-* xmppconfirmhandler.php - sends confirmation messages to registered
- users.
-
-Note that these queue daemons are pretty raw, and need your care. In
-particular, they leak memory, and you may want to restart them on a
-regular (daily or so) basis with a cron job. Also, if they lose
-the connection to the XMPP server for too long, they'll simply die. It
-may be a good idea to use a daemon-monitoring service, like 'monit',
+ them as notices in the database; also pulls queued XMPP output from
+ queuedaemon.php to push out to clients.
+
+These two daemons will automatically restart in most cases of failure
+including memory leaks (if a memory_limit is set), but may still die
+or behave oddly if they lose connections to the XMPP or queue servers.
+
+It may be a good idea to use a daemon-monitoring service, like 'monit',
to check their status and keep them running.
All the daemons write their process IDs (pids) to /var/run/ by
@@ -626,7 +695,7 @@ daemons.
Since version 0.8.0, it's now possible to use a STOMP server instead of
our kind of hacky home-grown DB-based queue solution. See the "queues"
config section below for how to configure to use STOMP. As of this
-writing, the software has been tested with ActiveMQ (
+writing, the software has been tested with ActiveMQ.
Sitemaps
--------
@@ -712,10 +781,12 @@ subdirectory to add a new language to your system. You'll need to
compile the ".po" files into ".mo" files, however.
Contributions of translation information to StatusNet are very easy:
-you can use the Web interface at http://status.net/pootle/ to add one
+you can use the Web interface at TranslateWiki.net to add one
or a few or lots of new translations -- or even new languages. You can
also download more up-to-date .po files there, if you so desire.
+For info on helping with translations, see http://status.net/wiki/Translations
+
Backups
-------
@@ -1501,6 +1572,20 @@ interface. It also makes the user's profile the root URL.
enabled: Whether to run in "single user mode". Default false.
nickname: nickname of the single user.
+robotstxt
+---------
+
+We put out a default robots.txt file to guide the processing of
+Web crawlers. See http://www.robotstxt.org/ for more information
+on the format of this file.
+
+crawldelay: if non-empty, this value is provided as the Crawl-Delay:
+ for the robots.txt file. see http://ur1.ca/l5a0
+ for more information. Default is zero, no explicit delay.
+disallow: Array of (virtual) directories to disallow. Default is 'main',
+ 'search', 'message', 'settings', 'admin'. Ignored when site
+ is private, in which case the entire site ('/') is disallowed.
+
Plugins
=======
diff --git a/actions/apioauthauthorize.php b/actions/apioauthauthorize.php
index eebc926ee..e7c6f3761 100644
--- a/actions/apioauthauthorize.php
+++ b/actions/apioauthauthorize.php
@@ -67,8 +67,6 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
{
parent::prepare($args);
- common_debug("apioauthauthorize");
-
$this->nickname = $this->trimmed('nickname');
$this->password = $this->arg('password');
$this->oauth_token = $this->arg('oauth_token');
@@ -99,24 +97,17 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
} else {
- // XXX: make better error messages
-
if (empty($this->oauth_token)) {
-
- common_debug("No request token found.");
-
- $this->clientError(_('Bad request.'));
+ $this->clientError(_('No oauth_token parameter provided.'));
return;
}
if (empty($this->app)) {
- common_debug('No app for that token.');
- $this->clientError(_('Bad request.'));
+ $this->clientError(_('Invalid token.'));
return;
}
$name = $this->app->name;
- common_debug("Requesting auth for app: " . $name);
$this->showForm();
}
@@ -124,8 +115,6 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
function handlePost()
{
- common_debug("handlePost()");
-
// check session token for CSRF protection.
$token = $this->trimmed('token');
@@ -202,21 +191,15 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
// A callback specified in the app setup overrides whatever
// is passed in with the request.
- common_debug("Req token is authorized - doing callback");
-
if (!empty($this->app->callback_url)) {
$this->callback = $this->app->callback_url;
}
if (!empty($this->callback)) {
- // XXX: Need better way to build this redirect url.
-
$target_url = $this->getCallback($this->callback,
array('oauth_token' => $this->oauth_token));
- common_debug("Doing callback to $target_url");
-
common_redirect($target_url, 303);
} else {
common_debug("callback was empty!");
@@ -236,9 +219,12 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
} else if ($this->arg('deny')) {
+ $datastore = new ApiStatusNetOAuthDataStore();
+ $datastore->revoke_token($this->oauth_token, 0);
+
$this->elementStart('p');
- $this->raw(sprintf(_("The request token %s has been denied."),
+ $this->raw(sprintf(_("The request token %s has been denied and revoked."),
$this->oauth_token));
$this->elementEnd('p');
@@ -303,13 +289,17 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
$access = ($this->app->access_type & Oauth_application::$writeAccess) ?
'access and update' : 'access';
- $msg = _("The application <strong>%1$s</strong> by <strong>%2$s</strong> would like " .
- "the ability to <strong>%3$s</strong> your account data.");
+ $msg = _('The application <strong>%1$s</strong> by ' .
+ '<strong>%2$s</strong> would like the ability ' .
+ 'to <strong>%3$s</strong> your %4$s account data. ' .
+ 'You should only give access to your %4$s account ' .
+ 'to third parties you trust.');
$this->raw(sprintf($msg,
$this->app->name,
$this->app->organization,
- $access));
+ $access,
+ common_config('site', 'name')));
$this->elementEnd('p');
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -371,6 +361,31 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
function showLocalNav()
{
+ // NOP
+ }
+
+ /**
+ * Show site notice.
+ *
+ * @return nothing
+ */
+
+ function showSiteNotice()
+ {
+ // NOP
+ }
+
+ /**
+ * Show notice form.
+ *
+ * Show the form for posting a new notice
+ *
+ * @return nothing
+ */
+
+ function showNoticeForm()
+ {
+ // NOP
}
}
diff --git a/actions/deleteapplication.php b/actions/deleteapplication.php
new file mode 100644
index 000000000..17526e111
--- /dev/null
+++ b/actions/deleteapplication.php
@@ -0,0 +1,176 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Action class to delete an OAuth 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 Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+/**
+ * Delete an OAuth appliction
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
+class DeleteapplicationAction extends Action
+{
+ var $app = null;
+
+ /**
+ * Take arguments for running
+ *
+ * @param array $args $_REQUEST args
+ *
+ * @return boolean success flag
+ */
+
+ function prepare($args)
+ {
+ if (!parent::prepare($args)) {
+ return false;
+ }
+
+ if (!common_logged_in()) {
+ $this->clientError(_('You must be logged in to delete an application.'));
+ return false;
+ }
+
+ $id = (int)$this->arg('id');
+ $this->app = Oauth_application::staticGet('id', $id);
+
+ if (empty($this->app)) {
+ $this->clientError(_('Application not found.'));
+ return false;
+ }
+
+ $cur = common_current_user();
+
+ if ($cur->id != $this->app->owner) {
+ $this->clientError(_('You are not the owner of this application.'), 401);
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Handle request
+ *
+ * Shows a page with list of favorite notices
+ *
+ * @param array $args $_REQUEST args; handled in prepare()
+ *
+ * @return void
+ */
+
+ function handle($args)
+ {
+ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+
+ // CSRF protection
+ $token = $this->trimmed('token');
+ if (!$token || $token != common_session_token()) {
+ $this->clientError(_('There was a problem with your session token.'));
+ return;
+ }
+
+ if ($this->arg('no')) {
+ common_redirect(common_local_url('showapplication',
+ array('id' => $this->app->id)), 303);
+ } elseif ($this->arg('yes')) {
+ $this->handlePost();
+ common_redirect(common_local_url('oauthappssettings'), 303);
+ } else {
+ $this->showPage();
+ }
+ }
+ }
+
+ function showContent() {
+ $this->areYouSureForm();
+ }
+
+ function title() {
+ return _('Delete application');
+ }
+
+ function showNoticeForm() {
+ // nop
+ }
+
+ /**
+ * Confirm with user.
+ *
+ * Shows a confirmation form.
+ *
+ * @return void
+ */
+ function areYouSureForm()
+ {
+ $id = $this->app->id;
+ $this->elementStart('form', array('id' => 'deleteapplication-' . $id,
+ 'method' => 'post',
+ 'class' => 'form_settings form_entity_block',
+ 'action' => common_local_url('deleteapplication',
+ array('id' => $this->app->id))));
+ $this->elementStart('fieldset');
+ $this->hidden('token', common_session_token());
+ $this->element('legend', _('Delete application'));
+ $this->element('p', null,
+ _('Are you sure you want to delete this application? '.
+ 'This will clear all data about the application from the '.
+ 'database, including all existing user connections.'));
+ $this->submit('form_action-no',
+ _('No'),
+ 'submit form_action-primary',
+ 'no',
+ _("Do not delete this application"));
+ $this->submit('form_action-yes',
+ _('Yes'),
+ 'submit form_action-secondary',
+ 'yes', _('Delete this application'));
+ $this->elementEnd('fieldset');
+ $this->elementEnd('form');
+ }
+
+ /**
+ * Actually delete the app
+ *
+ * @return void
+ */
+
+ function handlePost()
+ {
+ $this->app->delete();
+ }
+}
+
diff --git a/actions/doc.php b/actions/doc.php
index 25d363472..eaf4b7df2 100644
--- a/actions/doc.php
+++ b/actions/doc.php
@@ -54,6 +54,9 @@ class DocAction extends Action
parent::prepare($args);
$this->title = $this->trimmed('title');
+ if (!preg_match('/^[a-zA-Z0-9_-]*$/', $this->title)) {
+ $this->title = 'help';
+ }
$this->output = null;
$this->loadDoc();
diff --git a/actions/editapplication.php b/actions/editapplication.php
index 9cc3e3cea..029b622e8 100644
--- a/actions/editapplication.php
+++ b/actions/editapplication.php
@@ -179,6 +179,9 @@ class EditApplicationAction extends OwnerDesignAction
} elseif (mb_strlen($name) > 255) {
$this->showForm(_('Name is too long (max 255 chars).'));
return;
+ } else if ($this->nameExists($name)) {
+ $this->showForm(_('Name already in use. Try another one.'));
+ return;
} elseif (empty($description)) {
$this->showForm(_('Description is required.'));
return;
@@ -260,5 +263,26 @@ class EditApplicationAction extends OwnerDesignAction
common_redirect(common_local_url('oauthappssettings'), 303);
}
+ /**
+ * Does the app name already exist?
+ *
+ * Checks the DB to see someone has already registered and app
+ * with the same name.
+ *
+ * @param string $name app name to check
+ *
+ * @return boolean true if the name already exists
+ */
+
+ function nameExists($name)
+ {
+ $newapp = Oauth_application::staticGet('name', $name);
+ if (!$newapp) {
+ return false;
+ } else {
+ return $newapp->id != $this->app->id;
+ }
+ }
+
}
diff --git a/actions/geocode.php b/actions/geocode.php
index 9671d2c27..e883c6ce4 100644
--- a/actions/geocode.php
+++ b/actions/geocode.php
@@ -42,6 +42,10 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
*/
class GeocodeAction extends Action
{
+ var $lat = null;
+ var $lon = null;
+ var $location = null;
+
function prepare($args)
{
parent::prepare($args);
@@ -52,12 +56,7 @@ class GeocodeAction extends Action
}
$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;
- }
+ $this->location = Location::fromLatLon($this->lat, $this->lon);
return true;
}
@@ -95,4 +94,3 @@ class GeocodeAction extends Action
return true;
}
}
-?>
diff --git a/actions/getfile.php b/actions/getfile.php
index cd327e410..9cbe8e1d9 100644
--- a/actions/getfile.php
+++ b/actions/getfile.php
@@ -71,7 +71,7 @@ class GetfileAction extends Action
$filename = $this->trimmed('filename');
$path = null;
- if ($filename) {
+ if ($filename && File::validFilename($filename)) {
$path = File::path($filename);
}
diff --git a/actions/newapplication.php b/actions/newapplication.php
index c499fe7c7..ba1cca5c9 100644
--- a/actions/newapplication.php
+++ b/actions/newapplication.php
@@ -158,6 +158,9 @@ class NewApplicationAction extends OwnerDesignAction
if (empty($name)) {
$this->showForm(_('Name is required.'));
return;
+ } else if ($this->nameExists($name)) {
+ $this->showForm(_('Name already in use. Try another one.'));
+ return;
} elseif (mb_strlen($name) > 255) {
$this->showForm(_('Name is too long (max 255 chars).'));
return;
@@ -273,5 +276,22 @@ class NewApplicationAction extends OwnerDesignAction
}
+ /**
+ * Does the app name already exist?
+ *
+ * Checks the DB to see someone has already registered and app
+ * with the same name.
+ *
+ * @param string $name app name to check
+ *
+ * @return boolean true if the name already exists
+ */
+
+ function nameExists($name)
+ {
+ $app = Oauth_application::staticGet('name', $name);
+ return ($app !== false);
+ }
+
}
diff --git a/actions/oauthconnectionssettings.php b/actions/oauthconnectionssettings.php
index c2e8d441b..b1467f0d0 100644
--- a/actions/oauthconnectionssettings.php
+++ b/actions/oauthconnectionssettings.php
@@ -33,6 +33,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
require_once INSTALLDIR . '/lib/connectsettingsaction.php';
require_once INSTALLDIR . '/lib/applicationlist.php';
+require_once INSTALLDIR . '/lib/apioauthstore.php';
/**
* Show connected OAuth applications
@@ -71,11 +72,6 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
return _('Connected applications');
}
- function isReadOnly($args)
- {
- return true;
- }
-
/**
* Instructions for use
*
@@ -153,6 +149,13 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
}
}
+ /**
+ * Revoke access to an authorized OAuth application
+ *
+ * @param int $appId the ID of the application
+ *
+ */
+
function revokeAccess($appId)
{
$cur = common_current_user();
@@ -164,6 +167,8 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
return false;
}
+ // XXX: Transaction here?
+
$appUser = Oauth_application_user::getByKeys($cur, $app);
if (empty($appUser)) {
@@ -171,12 +176,13 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
return false;
}
- $orig = clone($appUser);
- $appUser->access_type = 0; // No access
- $result = $appUser->update();
+ $datastore = new ApiStatusNetOAuthDataStore();
+ $datastore->revoke_token($appUser->token, 1);
+
+ $result = $appUser->delete();
if (!$result) {
- common_log_db_error($orig, 'UPDATE', __FILE__);
+ common_log_db_error($orig, 'DELETE', __FILE__);
$this->clientError(_('Unable to revoke access for app: ' . $app->id));
return false;
}
diff --git a/actions/public.php b/actions/public.php
index 982dfde15..50278bfce 100644
--- a/actions/public.php
+++ b/actions/public.php
@@ -131,12 +131,20 @@ class PublicAction extends Action
return _('Public timeline');
}
}
-
+
function extraHead()
{
parent::extraHead();
$this->element('meta', array('http-equiv' => 'X-XRDS-Location',
'content' => common_local_url('publicxrds')));
+
+ $rsd = common_local_url('rsd');
+
+ // RSD, http://tales.phrasewise.com/rfc/rsd
+
+ $this->element('link', array('rel' => 'EditURI',
+ 'type' => 'application/rsd+xml',
+ 'href' => $rsd));
}
/**
diff --git a/actions/robotstxt.php b/actions/robotstxt.php
new file mode 100644
index 000000000..5131097c8
--- /dev/null
+++ b/actions/robotstxt.php
@@ -0,0 +1,100 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * robots.txt generator
+ *
+ * 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/
+ *
+ * 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);
+}
+
+/**
+ * Prints out a static robots.txt
+ *
+ * @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 RobotstxtAction extends Action
+{
+ /**
+ * Handles requests
+ *
+ * Since this is a relatively static document, we
+ * don't do a prepare()
+ *
+ * @param array $args GET, POST, and URL params; unused.
+ *
+ * @return void
+ */
+
+ function handle($args)
+ {
+ if (Event::handle('StartRobotsTxt', array($this))) {
+
+ header('Content-Type: text/plain');
+
+ print "User-Agent: *\n";
+
+ if (common_config('site', 'private')) {
+
+ print "Disallow: /\n";
+
+ } else {
+
+ $disallow = common_config('robotstxt', 'disallow');
+
+ foreach ($disallow as $dir) {
+ print "Disallow: /$dir/\n";
+ }
+
+ $crawldelay = common_config('robotstxt', 'crawldelay');
+
+ if (!empty($crawldelay)) {
+ print "Crawl-delay: " . $crawldelay . "\n";
+ }
+ }
+
+ Event::handle('EndRobotsTxt', array($this));
+ }
+ }
+
+ /**
+ * Return true; this page doesn't touch the DB.
+ *
+ * @param array $args other arguments
+ *
+ * @return boolean is read only action?
+ */
+
+ function isReadOnly($args)
+ {
+ return true;
+ }
+}
diff --git a/actions/rsd.php b/actions/rsd.php
new file mode 100644
index 000000000..f88bf2e9a
--- /dev/null
+++ b/actions/rsd.php
@@ -0,0 +1,226 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008-2010, StatusNet, Inc.
+ *
+ * Really Simple Discovery (RSD) for API 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 API
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * RSD action class
+ *
+ * Really Simple Discovery (RSD) is a simple (to a fault, maybe)
+ * discovery tool for blog APIs.
+ *
+ * http://tales.phrasewise.com/rfc/rsd
+ *
+ * Anil Dash suggested that RSD be used for services that implement
+ * the Twitter API:
+ *
+ * http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
+ *
+ * It's in use now for WordPress.com blogs:
+ *
+ * http://matt.wordpress.com/xmlrpc.php?rsd
+ *
+ * I (evan@status.net) have tried to stay faithful to the premise of
+ * RSD, while adding information useful to StatusNet client developers.
+ * In particular:
+ *
+ * - There is a link from each user's profile page to their personal
+ * RSD feed. A personal rsd.xml includes a 'blogID' element that is
+ * their username.
+ * - There is a link from the public root to '/rsd.xml', a public RSD
+ * feed. It's identical to the personal rsd except it doesn't include
+ * a blogId.
+ * - I've added a setting to the API to indicate that OAuth support is
+ * available.
+ *
+ * @category API
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
+class RsdAction extends Action
+{
+ /**
+ * Optional attribute for the personal rsd.xml file.
+ */
+
+ var $user = null;
+
+ /**
+ * Prepare the action for use.
+ *
+ * Check for a nickname; redirect if non-canonical; if
+ * not provided, assume public rsd.xml.
+ *
+ * @param array $args GET, POST, and URI arguments.
+ *
+ * @return boolean success flag
+ */
+
+ function prepare($args)
+ {
+ parent::prepare($args);
+
+ // optional argument
+
+ $nickname_arg = $this->arg('nickname');
+
+ if (empty($nickname_arg)) {
+ $this->user = null;
+ } else {
+ $nickname = common_canonical_nickname($nickname_arg);
+
+ // Permanent redirect on non-canonical nickname
+
+ if ($nickname_arg != $nickname) {
+ common_redirect(common_local_url('rsd',
+ array('nickname' => $nickname)),
+ 301);
+ return false;
+ }
+
+ $this->user = User::staticGet('nickname', $nickname);
+
+ if (empty($this->user)) {
+ $this->clientError(_('No such user.'), 404);
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Action handler.
+ *
+ * Outputs the XML format for an RSD file. May include
+ * personal information if this is a personal file
+ * (based on whether $user attribute is set).
+ *
+ * @param array $args array of arguments
+ *
+ * @return nothing
+ */
+
+ function handle($args)
+ {
+ header('Content-Type: application/rsd+xml');
+
+ $this->startXML();
+
+ $rsdNS = 'http://archipelago.phrasewise.com/rsd';
+ $this->elementStart('rsd', array('version' => '1.0',
+ 'xmlns' => $rsdNS));
+ $this->elementStart('service');
+ $this->element('engineName', null, _('StatusNet'));
+ $this->element('engineLink', null, 'http://status.net/');
+ $this->elementStart('apis');
+ if (Event::handle('StartRsdListApis', array($this, $this->user))) {
+
+ $blogID = (empty($this->user)) ? '' : $this->user->nickname;
+ $apiAttrs = array('name' => 'Twitter',
+ 'preferred' => 'true',
+ 'apiLink' => $this->_apiRoot(),
+ 'blogID' => $blogID);
+
+ $this->elementStart('api', $apiAttrs);
+ $this->elementStart('settings');
+ $this->element('docs', null,
+ 'http://status.net/wiki/TwitterCompatibleAPI');
+ $this->element('setting', array('name' => 'OAuth'),
+ 'true');
+ $this->elementEnd('settings');
+ $this->elementEnd('api');
+ Event::handle('EndRsdListApis', array($this, $this->user));
+ }
+ $this->elementEnd('apis');
+ $this->elementEnd('service');
+ $this->elementEnd('rsd');
+
+ $this->endXML();
+
+ return true;
+ }
+
+ /**
+ * Returns last-modified date for use in caching
+ *
+ * Per-user rsd.xml is dated to last change of user
+ * (in case of nickname change); public has no date.
+ *
+ * @return string date of last change of this page
+ */
+
+ function lastModified()
+ {
+ if (!empty($this->user)) {
+ return $this->user->modified;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Flag to indicate if this action is read-only
+ *
+ * It is; it doesn't change the DB.
+ *
+ * @param array $args ignored
+ *
+ * @return boolean true
+ */
+
+ function isReadOnly($args)
+ {
+ return true;
+ }
+
+ /**
+ * Return current site's API root
+ *
+ * Varies based on URL parameters, like if fancy URLs are
+ * turned on.
+ *
+ * @return string API root URI for this site
+ */
+
+ private function _apiRoot()
+ {
+ if (common_config('site', 'fancy')) {
+ return common_path('api/', true);
+ } else {
+ return common_path('index.php/api/', true);
+ }
+ }
+}
diff --git a/actions/sessionsadminpanel.php b/actions/sessionsadminpanel.php
new file mode 100644
index 000000000..4386ef844
--- /dev/null
+++ b/actions/sessionsadminpanel.php
@@ -0,0 +1,201 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Sessions administration panel
+ *
+ * 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 Settings
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Admin site sessions
+ *
+ * @category Admin
+ * @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 SessionsadminpanelAction extends AdminPanelAction
+{
+ /**
+ * Returns the page title
+ *
+ * @return string page title
+ */
+
+ function title()
+ {
+ return _('Sessions');
+ }
+
+ /**
+ * Instructions for using this form.
+ *
+ * @return string instructions
+ */
+
+ function getInstructions()
+ {
+ return _('Session settings for this StatusNet site.');
+ }
+
+ /**
+ * Show the site admin panel form
+ *
+ * @return void
+ */
+
+ function showForm()
+ {
+ $form = new SessionsAdminPanelForm($this);
+ $form->show();
+ return;
+ }
+
+ /**
+ * Save settings from the form
+ *
+ * @return void
+ */
+
+ function saveSettings()
+ {
+ static $booleans = array('sessions' => array('handle', 'debug'));
+
+ $values = array();
+
+ foreach ($booleans as $section => $parts) {
+ foreach ($parts as $setting) {
+ $values[$section][$setting] = ($this->boolean($setting)) ? 1 : 0;
+ }
+ }
+
+ // This throws an exception on validation errors
+
+ $this->validate($values);
+
+ // assert(all values are valid);
+
+ $config = new Config();
+
+ $config->query('BEGIN');
+
+ foreach ($booleans as $section => $parts) {
+ foreach ($parts as $setting) {
+ Config::save($section, $setting, $values[$section][$setting]);
+ }
+ }
+
+ $config->query('COMMIT');
+
+ return;
+ }
+
+ function validate(&$values)
+ {
+ // stub
+ }
+}
+
+class SessionsAdminPanelForm extends AdminForm
+{
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'sessionsadminpanel';
+ }
+
+ /**
+ * class of the form
+ *
+ * @return string class of the form
+ */
+
+ function formClass()
+ {
+ return 'form_settings';
+ }
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+
+ function action()
+ {
+ return common_local_url('sessionsadminpanel');
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->elementStart('fieldset', array('id' => 'settings_user_sessions'));
+ $this->out->element('legend', null, _('Sessions'));
+
+ $this->out->elementStart('ul', 'form_data');
+
+ $this->li();
+ $this->out->checkbox('handle', _('Handle sessions'),
+ (bool) $this->value('handle', 'sessions'),
+ _('Whether to handle sessions ourselves.'));
+ $this->unli();
+
+ $this->li();
+ $this->out->checkbox('debug', _('Session debugging'),
+ (bool) $this->value('debug', 'sessions'),
+ _('Turn on debugging output for sessions.'));
+ $this->unli();
+
+ $this->out->elementEnd('ul');
+
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->submit('submit', _('Save'), 'submit', null, _('Save site settings'));
+ }
+}
diff --git a/actions/showapplication.php b/actions/showapplication.php
index a6ff425c7..020d62480 100644
--- a/actions/showapplication.php
+++ b/actions/showapplication.php
@@ -201,7 +201,7 @@ class ShowApplicationAction extends OwnerDesignAction
$userCnt = $appUsers->count();
$this->raw(sprintf(
- _('created by %1$s - %2$s access by default - %3$d users'),
+ _('Created by %1$s - %2$s access by default - %3$d users'),
$profile->getBestName(),
$defaultAccess,
$userCnt
@@ -222,18 +222,33 @@ class ShowApplicationAction extends OwnerDesignAction
$this->elementStart('li', 'entity_reset_keysecret');
$this->elementStart('form', array(
- 'id' => 'forma_reset_key',
+ 'id' => 'form_reset_key',
'class' => 'form_reset_key',
'method' => 'POST',
'action' => common_local_url('showapplication',
array('id' => $this->application->id))));
-
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->submit('reset', _('Reset key & secret'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
$this->elementEnd('li');
+
+ $this->elementStart('li', 'entity_delete');
+ $this->elementStart('form', array(
+ 'id' => 'form_delete_application',
+ 'class' => 'form_delete_application',
+ 'method' => 'POST',
+ 'action' => common_local_url('deleteapplication',
+ array('id' => $this->application->id))));
+
+ $this->elementStart('fieldset');
+ $this->hidden('token', common_session_token());
+ $this->submit('delete', _('Delete'));
+ $this->elementEnd('fieldset');
+ $this->elementEnd('form');
+ $this->elementEnd('li');
+
$this->elementEnd('ul');
$this->elementEnd('div');
diff --git a/actions/showstream.php b/actions/showstream.php
index 4d09a2d4e..958676104 100644
--- a/actions/showstream.php
+++ b/actions/showstream.php
@@ -172,6 +172,15 @@ class ShowstreamAction extends ProfileAction
$this->element('link', array('rel' => 'microsummary',
'href' => common_local_url('microsummary',
array('nickname' => $this->profile->nickname))));
+
+ $rsd = common_local_url('rsd',
+ array('nickname' => $this->profile->nickname));
+
+ // RSD, http://tales.phrasewise.com/rfc/rsd
+ $this->element('link', array('rel' => 'EditURI',
+ 'type' => 'application/rsd+xml',
+ 'href' => $rsd));
+
}
function showProfile()
diff --git a/actions/useradminpanel.php b/actions/useradminpanel.php
index 5de2db5ff..6813222f5 100644
--- a/actions/useradminpanel.php
+++ b/actions/useradminpanel.php
@@ -96,7 +96,6 @@ class UseradminpanelAction extends AdminPanelAction
);
static $booleans = array(
- 'sessions' => array('handle', 'debug'),
'invite' => array('enabled')
);
@@ -261,26 +260,7 @@ class UserAdminPanelForm extends AdminForm
$this->out->elementEnd('ul');
$this->out->elementEnd('fieldset');
- $this->out->elementStart('fieldset', array('id' => 'settings_user_sessions'));
- $this->out->element('legend', null, _('Sessions'));
- $this->out->elementStart('ul', 'form_data');
-
- $this->li();
- $this->out->checkbox('sessions-handle', _('Handle sessions'),
- (bool) $this->value('handle', 'sessions'),
- _('Whether to handle sessions ourselves.'));
- $this->unli();
-
- $this->li();
- $this->out->checkbox('sessions-debug', _('Session debugging'),
- (bool) $this->value('debug', 'sessions'),
- _('Turn on debugging output for sessions.'));
- $this->unli();
-
- $this->out->elementEnd('ul');
-
- $this->out->elementEnd('fieldset');
}
diff --git a/classes/Consumer.php b/classes/Consumer.php
index ad64a8491..ce399f278 100644
--- a/classes/Consumer.php
+++ b/classes/Consumer.php
@@ -36,4 +36,34 @@ class Consumer extends Memcached_DataObject
return $cons;
}
+ /**
+ * Delete a Consumer and related tokens and nonces
+ *
+ * XXX: Should this happen in an OAuthDataStore instead?
+ *
+ */
+ function delete()
+ {
+ // XXX: Is there any reason NOT to do this kind of cleanup?
+
+ $this->_deleteTokens();
+ $this->_deleteNonces();
+
+ parent::delete();
+ }
+
+ function _deleteTokens()
+ {
+ $token = new Token();
+ $token->consumer_key = $this->consumer_key;
+ $token->delete();
+ }
+
+ function _deleteNonces()
+ {
+ $nonce = new Nonce();
+ $nonce->consumer_key = $this->consumer_key;
+ $nonce->delete();
+ }
+
}
diff --git a/classes/File.php b/classes/File.php
index 34e4632a8..307fdb686 100644
--- a/classes/File.php
+++ b/classes/File.php
@@ -176,8 +176,22 @@ class File extends Memcached_DataObject
return "$nickname-$datestamp-$random.$ext";
}
+ /**
+ * Validation for as-saved base filenames
+ */
+ static function validFilename($filename)
+ {
+ return preg_match('/^[A-Za-z0-9._-]+$/', $filename);
+ }
+
+ /**
+ * @throws ClientException on invalid filename
+ */
static function path($filename)
{
+ if (!self::validFilename($filename)) {
+ throw new ClientException("Invalid filename");
+ }
$dir = common_config('attachments', 'dir');
if ($dir[strlen($dir)-1] != '/') {
@@ -189,6 +203,9 @@ class File extends Memcached_DataObject
static function url($filename)
{
+ if (!self::validFilename($filename)) {
+ throw new ClientException("Invalid filename");
+ }
if(common_config('site','private')) {
return common_local_url('getfile',
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php
index 2cc6377f8..ab65c30ce 100644
--- a/classes/Memcached_DataObject.php
+++ b/classes/Memcached_DataObject.php
@@ -147,6 +147,7 @@ class Memcached_DataObject extends DB_DataObject
{
$result = parent::insert();
if ($result) {
+ $this->fixupTimestamps();
$this->encache(); // in case of cached negative lookups
}
return $result;
@@ -159,6 +160,7 @@ class Memcached_DataObject extends DB_DataObject
}
$result = parent::update($orig);
if ($result) {
+ $this->fixupTimestamps();
$this->encache();
}
return $result;
@@ -366,7 +368,7 @@ class Memcached_DataObject extends DB_DataObject
}
/**
- * sends query to database - this is the private one that must work
+ * sends query to database - this is the private one that must work
* - internal functions use this rather than $this->query()
*
* Overridden to do logging.
@@ -428,7 +430,7 @@ class Memcached_DataObject extends DB_DataObject
//
// WARNING WARNING if we end up actually using multiple DBs at a time
// we'll need some fancier logic here.
- if (!$exists && !empty($_DB_DATAOBJECT['CONNECTIONS'])) {
+ if (!$exists && !empty($_DB_DATAOBJECT['CONNECTIONS']) && php_sapi_name() == 'cli') {
foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $index => $conn) {
if (!empty($conn)) {
$conn->disconnect();
@@ -529,4 +531,51 @@ class Memcached_DataObject extends DB_DataObject
return $c->delete($cacheKey);
}
+
+ function fixupTimestamps()
+ {
+ // Fake up timestamp columns
+ $columns = $this->table();
+ foreach ($columns as $name => $type) {
+ if ($type & DB_DATAOBJECT_MYSQLTIMESTAMP) {
+ $this->$name = common_sql_now();
+ }
+ }
+ }
+
+ function debugDump()
+ {
+ common_debug("debugDump: " . common_log_objstring($this));
+ }
+
+ function raiseError($message, $type = null, $behaviour = null)
+ {
+ throw new ServerException("DB_DataObject error [$type]: $message");
+ }
+
+ static function cacheGet($keyPart)
+ {
+ $c = self::memcache();
+
+ if (empty($c)) {
+ return false;
+ }
+
+ $cacheKey = common_cache_key($keyPart);
+
+ return $c->get($cacheKey);
+ }
+
+ static function cacheSet($keyPart, $value)
+ {
+ $c = self::memcache();
+
+ if (empty($c)) {
+ return false;
+ }
+
+ $cacheKey = common_cache_key($keyPart);
+
+ return $c->set($cacheKey, $value);
+ }
}
diff --git a/classes/Notice.php b/classes/Notice.php
index 0966697e2..42878d94f 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -140,7 +140,7 @@ class Notice extends Memcached_DataObject
foreach(array_unique($hashtags) as $hashtag) {
/* elide characters we don't want in the tag */
$this->saveTag($hashtag);
- self::blow('profile:notice_ids_tagged:%d:%s', $this->profile_id, $tag->tag);
+ self::blow('profile:notice_ids_tagged:%d:%s', $this->profile_id, $hashtag);
}
return true;
}
@@ -326,9 +326,7 @@ class Notice extends Memcached_DataObject
# XXX: someone clever could prepend instead of clearing the cache
$notice->blowOnInsert();
- $qm = QueueManager::get();
-
- $qm->enqueue($notice, 'distrib');
+ $notice->distribute();
return $notice;
}
@@ -1374,8 +1372,6 @@ class Notice extends Memcached_DataObject
}
$reply->free();
-
- return $ids;
}
function clearRepeats()
@@ -1445,4 +1441,31 @@ class Notice extends Memcached_DataObject
$gi->free();
}
+
+ function distribute()
+ {
+ if (common_config('queue', 'inboxes')) {
+ // If there's a failure, we want to _force_
+ // distribution at this point.
+ try {
+ $qm = QueueManager::get();
+ $qm->enqueue($this, 'distrib');
+ } catch (Exception $e) {
+ // If the exception isn't transient, this
+ // may throw more exceptions as DQH does
+ // its own enqueueing. So, we ignore them!
+ try {
+ $handler = new DistribQueueHandler();
+ $handler->handle($this);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "emergency redistribution resulted in " . $e->getMessage());
+ }
+ // Re-throw so somebody smarter can handle it.
+ throw $e;
+ }
+ } else {
+ $handler = new DistribQueueHandler();
+ $handler->handle($this);
+ }
+ }
}
diff --git a/classes/Oauth_application.php b/classes/Oauth_application.php
index a6b539087..748b64220 100644
--- a/classes/Oauth_application.php
+++ b/classes/Oauth_application.php
@@ -137,4 +137,21 @@ class Oauth_application extends Memcached_DataObject
}
}
+ function delete()
+ {
+ $this->_deleteAppUsers();
+
+ $consumer = $this->getConsumer();
+ $consumer->delete();
+
+ parent::delete();
+ }
+
+ function _deleteAppUsers()
+ {
+ $oauser = new Oauth_application_user();
+ $oauser->application_id = $this->id;
+ $oauser->delete();
+ }
+
}
diff --git a/classes/Profile_role.php b/classes/Profile_role.php
index 74aca3730..bf2c453ed 100644
--- a/classes/Profile_role.php
+++ b/classes/Profile_role.php
@@ -48,6 +48,7 @@ class Profile_role extends Memcached_DataObject
return Memcached_DataObject::pkeyGet('Profile_role', $kv);
}
+ const OWNER = 'owner';
const MODERATOR = 'moderator';
const ADMINISTRATOR = 'administrator';
const SANDBOXED = 'sandboxed';
diff --git a/classes/Session.php b/classes/Session.php
index 79a69a96e..2422f8b68 100644
--- a/classes/Session.php
+++ b/classes/Session.php
@@ -64,8 +64,12 @@ class Session extends Memcached_DataObject
$session = Session::staticGet('id', $id);
if (empty($session)) {
+ self::logdeb("Couldn't find '$id'");
return '';
} else {
+ self::logdeb("Found '$id', returning " .
+ strlen($session->session_data) .
+ " chars of data");
return (string)$session->session_data;
}
}
@@ -77,14 +81,24 @@ class Session extends Memcached_DataObject
$session = Session::staticGet('id', $id);
if (empty($session)) {
+ self::logdeb("'$id' doesn't yet exist; inserting.");
$session = new Session();
$session->id = $id;
$session->session_data = $session_data;
$session->created = common_sql_now();
- return $session->insert();
+ $result = $session->insert();
+
+ if (!$result) {
+ common_log_db_error($session, 'INSERT', __FILE__);
+ self::logdeb("Failed to insert '$id'.");
+ } else {
+ self::logdeb("Successfully inserted '$id' (result = $result).");
+ }
+ return $result;
} else {
+ self::logdeb("'$id' already exists; updating.");
if (strcmp($session->session_data, $session_data) == 0) {
self::logdeb("Not writing session '$id'; unchanged");
return true;
@@ -95,7 +109,16 @@ class Session extends Memcached_DataObject
$session->session_data = $session_data;
- return $session->update($orig);
+ $result = $session->update($orig);
+
+ if (!$result) {
+ common_log_db_error($session, 'UPDATE', __FILE__);
+ self::logdeb("Failed to update '$id'.");
+ } else {
+ self::logdeb("Successfully updated '$id' (result = $result).");
+ }
+
+ return $result;
}
}
}
@@ -106,8 +129,17 @@ class Session extends Memcached_DataObject
$session = Session::staticGet('id', $id);
- if (!empty($session)) {
- return $session->delete();
+ if (empty($session)) {
+ self::logdeb("Can't find '$id' to delete.");
+ } else {
+ $result = $session->delete();
+ if (!$result) {
+ common_log_db_error($session, 'DELETE', __FILE__);
+ self::logdeb("Failed to delete '$id'.");
+ } else {
+ self::logdeb("Successfully deleted '$id' (result = $result).");
+ }
+ return $result;
}
}
@@ -132,7 +164,10 @@ class Session extends Memcached_DataObject
$session->free();
+ self::logdeb("Found " . count($ids) . " ids to delete.");
+
foreach ($ids as $id) {
+ self::logdeb("Destroying session '$id'.");
self::destroy($id);
}
}
diff --git a/classes/User.php b/classes/User.php
index 57c56849d..e7cecf975 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -204,8 +204,6 @@ class User extends Memcached_DataObject
$profile = new Profile();
- $profile->query('BEGIN');
-
if(!empty($email))
{
$email = common_canonical_email($email);
@@ -215,7 +213,7 @@ class User extends Memcached_DataObject
$profile->nickname = $nickname;
if(! User::allowed_nickname($nickname)){
common_log(LOG_WARNING, sprintf("Attempted to register a nickname that is not allowed: %s", $profile->nickname),
- __FILE__);
+ __FILE__);
}
$profile->profileurl = common_profile_url($nickname);
@@ -243,22 +241,10 @@ class User extends Memcached_DataObject
$profile->created = common_sql_now();
- $id = $profile->insert();
-
- if (empty($id)) {
- common_log_db_error($profile, 'INSERT', __FILE__);
- return false;
- }
-
$user = new User();
- $user->id = $id;
$user->nickname = $nickname;
- if (!empty($password)) { // may not have a password for OpenID users
- $user->password = common_munge_password($password, $id);
- }
-
// Users who respond to invite email have proven their ownership of that address
if (!empty($code)) {
@@ -277,109 +263,129 @@ class User extends Memcached_DataObject
$user->inboxed = 1;
$user->created = common_sql_now();
- $user->uri = common_user_uri($user);
-
- $result = $user->insert();
- if (!$result) {
- common_log_db_error($user, 'INSERT', __FILE__);
- return false;
- }
-
- // Everyone gets an inbox
+ if (Event::handle('StartUserRegister', array(&$user, &$profile))) {
- $inbox = new Inbox();
+ $profile->query('BEGIN');
- $inbox->user_id = $user->id;
- $inbox->notice_ids = '';
+ $id = $profile->insert();
- $result = $inbox->insert();
+ if (empty($id)) {
+ common_log_db_error($profile, 'INSERT', __FILE__);
+ return false;
+ }
- if (!$result) {
- common_log_db_error($inbox, 'INSERT', __FILE__);
- return false;
- }
+ $user->id = $id;
+ $user->uri = common_user_uri($user);
+ if (!empty($password)) { // may not have a password for OpenID users
+ $user->password = common_munge_password($password, $id);
+ }
- // Everyone is subscribed to themself
+ $result = $user->insert();
- $subscription = new Subscription();
- $subscription->subscriber = $user->id;
- $subscription->subscribed = $user->id;
- $subscription->created = $user->created;
+ if (!$result) {
+ common_log_db_error($user, 'INSERT', __FILE__);
+ return false;
+ }
- $result = $subscription->insert();
+ // Everyone gets an inbox
- if (!$result) {
- common_log_db_error($subscription, 'INSERT', __FILE__);
- return false;
- }
+ $inbox = new Inbox();
- if (!empty($email) && !$user->email) {
+ $inbox->user_id = $user->id;
+ $inbox->notice_ids = '';
- $confirm = new Confirm_address();
- $confirm->code = common_confirmation_code(128);
- $confirm->user_id = $user->id;
- $confirm->address = $email;
- $confirm->address_type = 'email';
+ $result = $inbox->insert();
- $result = $confirm->insert();
if (!$result) {
- common_log_db_error($confirm, 'INSERT', __FILE__);
+ common_log_db_error($inbox, 'INSERT', __FILE__);
return false;
}
- }
- if (!empty($code) && $user->email) {
- $user->emailChanged();
- }
+ // Everyone is subscribed to themself
- // Default system subscription
+ $subscription = new Subscription();
+ $subscription->subscriber = $user->id;
+ $subscription->subscribed = $user->id;
+ $subscription->created = $user->created;
- $defnick = common_config('newuser', 'default');
+ $result = $subscription->insert();
- if (!empty($defnick)) {
- $defuser = User::staticGet('nickname', $defnick);
- if (empty($defuser)) {
- common_log(LOG_WARNING, sprintf("Default user %s does not exist.", $defnick),
- __FILE__);
- } else {
- $defsub = new Subscription();
- $defsub->subscriber = $user->id;
- $defsub->subscribed = $defuser->id;
- $defsub->created = $user->created;
+ if (!$result) {
+ common_log_db_error($subscription, 'INSERT', __FILE__);
+ return false;
+ }
+
+ if (!empty($email) && !$user->email) {
+
+ $confirm = new Confirm_address();
+ $confirm->code = common_confirmation_code(128);
+ $confirm->user_id = $user->id;
+ $confirm->address = $email;
+ $confirm->address_type = 'email';
- $result = $defsub->insert();
+ $result = $confirm->insert();
if (!$result) {
- common_log_db_error($defsub, 'INSERT', __FILE__);
+ common_log_db_error($confirm, 'INSERT', __FILE__);
return false;
}
}
- }
- $profile->query('COMMIT');
+ if (!empty($code) && $user->email) {
+ $user->emailChanged();
+ }
+
+ // Default system subscription
- if (!empty($email) && !$user->email) {
- mail_confirm_address($user, $confirm->code, $profile->nickname, $email);
- }
+ $defnick = common_config('newuser', 'default');
- // Welcome message
+ if (!empty($defnick)) {
+ $defuser = User::staticGet('nickname', $defnick);
+ if (empty($defuser)) {
+ common_log(LOG_WARNING, sprintf("Default user %s does not exist.", $defnick),
+ __FILE__);
+ } else {
+ $defsub = new Subscription();
+ $defsub->subscriber = $user->id;
+ $defsub->subscribed = $defuser->id;
+ $defsub->created = $user->created;
- $welcome = common_config('newuser', 'welcome');
+ $result = $defsub->insert();
- if (!empty($welcome)) {
- $welcomeuser = User::staticGet('nickname', $welcome);
- if (empty($welcomeuser)) {
- common_log(LOG_WARNING, sprintf("Welcome user %s does not exist.", $defnick),
- __FILE__);
- } else {
- $notice = Notice::saveNew($welcomeuser->id,
- sprintf(_('Welcome to %1$s, @%2$s!'),
- common_config('site', 'name'),
- $user->nickname),
- 'system');
+ if (!$result) {
+ common_log_db_error($defsub, 'INSERT', __FILE__);
+ return false;
+ }
+ }
+ }
+ $profile->query('COMMIT');
+
+ if (!empty($email) && !$user->email) {
+ mail_confirm_address($user, $confirm->code, $profile->nickname, $email);
+ }
+
+ // Welcome message
+
+ $welcome = common_config('newuser', 'welcome');
+
+ if (!empty($welcome)) {
+ $welcomeuser = User::staticGet('nickname', $welcome);
+ if (empty($welcomeuser)) {
+ common_log(LOG_WARNING, sprintf("Welcome user %s does not exist.", $defnick),
+ __FILE__);
+ } else {
+ $notice = Notice::saveNew($welcomeuser->id,
+ sprintf(_('Welcome to %1$s, @%2$s!'),
+ common_config('site', 'name'),
+ $user->nickname),
+ 'system');
+
+ }
}
+
+ Event::handle('EndUserRegister', array(&$profile, &$user));
}
return $user;
@@ -920,4 +926,30 @@ class User extends Memcached_DataObject
return $share;
}
}
+
+ static function siteOwner()
+ {
+ $owner = self::cacheGet('user:site_owner');
+
+ if ($owner === false) { // cache miss
+
+ $pr = new Profile_role();
+
+ $pr->role = Profile_role::OWNER;
+
+ $pr->orderBy('created');
+
+ $pr->limit(1);
+
+ if ($pr->find(true)) {
+ $owner = User::staticGet('id', $pr->profile_id);
+ } else {
+ $owner = null;
+ }
+
+ self::cacheSet('user:site_owner', $owner);
+ }
+
+ return $owner;
+ }
}
diff --git a/classes/status_network.ini b/classes/status_network.ini
index 8123265e4..adb71cba7 100644
--- a/classes/status_network.ini
+++ b/classes/status_network.ini
@@ -11,6 +11,7 @@ theme = 2
logo = 2
created = 142
modified = 384
+tags = 34
[status_network__keys]
nickname = K
diff --git a/classes/statusnet.ini b/classes/statusnet.ini
index d8a817ebc..9916384fd 100644
--- a/classes/statusnet.ini
+++ b/classes/statusnet.ini
@@ -353,7 +353,7 @@ notice_id = K
id = 129
owner = 129
consumer_key = 130
-name = 130
+name = 2
description = 2
icon = 130
source_url = 2
@@ -367,6 +367,7 @@ modified = 384
[oauth_application__keys]
id = N
+name = U
[oauth_application_user]
profile_id = 129
diff --git a/db/08to09.sql b/db/08to09.sql
index b10e47dbc..d5f30a26b 100644
--- a/db/08to09.sql
+++ b/db/08to09.sql
@@ -110,3 +110,34 @@ insert into queue_item_new (frame,transport,created,claimed)
alter table queue_item rename to queue_item_old;
alter table queue_item_new rename to queue_item;
+alter table consumer
+ add column consumer_secret varchar(255) not null comment 'secret value';
+
+create table oauth_application (
+ id integer auto_increment primary key comment 'unique identifier',
+ owner integer not null comment 'owner of the application' references profile (id),
+ consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key),
+ name varchar(255) not null comment 'name of the application',
+ description varchar(255) comment 'description of the application',
+ icon varchar(255) not null comment 'application icon',
+ source_url varchar(255) comment 'application homepage - used for source link',
+ organization varchar(255) comment 'name of the organization running the application',
+ homepage varchar(255) comment 'homepage for the organization',
+ callback_url varchar(255) comment 'url to redirect to after authentication',
+ type tinyint default 0 comment 'type of app, 1 = browser, 2 = desktop',
+ access_type tinyint default 0 comment 'default access type, bit 1 = read, bit 2 = write',
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified'
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table oauth_application_user (
+ profile_id integer not null comment 'user of the application' references profile (id),
+ application_id integer not null comment 'id of the application' references oauth_application (id),
+ access_type tinyint default 0 comment 'access type, bit 1 = read, bit 2 = write, bit 3 = revoked',
+ token varchar(255) comment 'request or access token',
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified',
+ constraint primary key (profile_id, application_id)
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+
diff --git a/db/rc3torc4.sql b/db/rc3torc4.sql
index 8342c4bc6..917c1f1c4 100644
--- a/db/rc3torc4.sql
+++ b/db/rc3torc4.sql
@@ -15,7 +15,9 @@ alter table queue_item rename to queue_item_old;
alter table queue_item_new rename to queue_item;
alter table consumer
- add consumer_secret varchar(255) not null comment 'secret value',
+ add consumer_secret varchar(255) not null comment 'secret value';
+
+alter table token
add verifier varchar(255) comment 'verifier string for OAuth 1.0a',
add verified_callback varchar(255) comment 'verified callback URL for OAuth 1.0a';
diff --git a/db/statusnet.sql b/db/statusnet.sql
index 63b50a3f7..7cb6ad064 100644
--- a/db/statusnet.sql
+++ b/db/statusnet.sql
@@ -209,7 +209,7 @@ create table oauth_application (
id integer auto_increment primary key comment 'unique identifier',
owner integer not null comment 'owner of the application' references profile (id),
consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key),
- name varchar(255) not null comment 'name of the application',
+ name varchar(255) unique key comment 'name of the application',
description varchar(255) comment 'description of the application',
icon varchar(255) not null comment 'application icon',
source_url varchar(255) comment 'application homepage - used for source link',
@@ -225,7 +225,7 @@ create table oauth_application (
create table oauth_application_user (
profile_id integer not null comment 'user of the application' references profile (id),
application_id integer not null comment 'id of the application' references oauth_application (id),
- access_type tinyint default 0 comment 'access type, bit 1 = read, bit 2 = write, bit 3 = revoked',
+ access_type tinyint default 0 comment 'access type, bit 1 = read, bit 2 = write',
token varchar(255) comment 'request or access token',
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
diff --git a/index.php b/index.php
index b5edc0f94..06ff9900f 100644
--- a/index.php
+++ b/index.php
@@ -146,12 +146,27 @@ function formatBacktraceLine($n, $line)
return $out;
}
-function checkMirror($action_obj, $args)
+function setupRW()
{
global $config;
static $alwaysRW = array('session', 'remember_me');
+ // We ensure that these tables always are used
+ // on the master DB
+
+ $config['db']['database_rw'] = $config['db']['database'];
+ $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini';
+
+ foreach ($alwaysRW as $table) {
+ $config['db']['table_'.$table] = 'rw';
+ }
+}
+
+function checkMirror($action_obj, $args)
+{
+ global $config;
+
if (common_config('db', 'mirror') && $action_obj->isReadOnly($args)) {
if (is_array(common_config('db', 'mirror'))) {
// "load balancing", ha ha
@@ -162,16 +177,6 @@ function checkMirror($action_obj, $args)
$mirror = common_config('db', 'mirror');
}
- // We ensure that these tables always are used
- // on the master DB
-
- $config['db']['database_rw'] = $config['db']['database'];
- $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini';
-
- foreach ($alwaysRW as $table) {
- $config['db']['table_'.$table] = 'rw';
- }
-
// everyone else uses the mirror
$config['db']['database'] = $mirror;
@@ -237,9 +242,13 @@ function main()
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
+ // Make sure RW database is setup
+
+ setupRW();
+
// XXX: we need a little more structure in this script
- // get and cache current user
+ // get and cache current user (may hit RW!)
$user = common_current_user();
@@ -276,8 +285,9 @@ function main()
if (!$user && common_config('site', 'private')
&& !isLoginAction($action)
&& !preg_match('/rss$/', $action)
- && !preg_match('/^Api/', $action)
- ) {
+ && $action != 'robotstxt'
+ && !preg_match('/^Api/', $action)) {
+
// set returnto
$rargs =& common_copy_args($args);
unset($rargs['action']);
diff --git a/js/jquery.form.js b/js/jquery.form.js
index 936b847ab..dde394270 100644
--- a/js/jquery.form.js
+++ b/js/jquery.form.js
@@ -1,632 +1,660 @@
-/*
- * jQuery Form Plugin
- * version: 2.17 (06-NOV-2008)
- * @requires jQuery v1.2.2 or later
- *
- * Examples and documentation at: http://malsup.com/jquery/form/
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * Revision: $Id$
- */
-;(function($) {
-
-/*
- Usage Note:
- -----------
- Do not use both ajaxSubmit and ajaxForm on the same form. These
- functions are intended to be exclusive. Use ajaxSubmit if you want
- to bind your own submit handler to the form. For example,
-
- $(document).ready(function() {
- $('#myForm').bind('submit', function() {
- $(this).ajaxSubmit({
- target: '#output'
- });
- return false; // <-- important!
- });
- });
-
- Use ajaxForm when you want the plugin to manage all the event binding
- for you. For example,
-
- $(document).ready(function() {
- $('#myForm').ajaxForm({
- target: '#output'
- });
- });
-
- When using ajaxForm, the ajaxSubmit function will be invoked for you
- at the appropriate time.
-*/
-
-/**
- * ajaxSubmit() provides a mechanism for immediately submitting
- * an HTML form using AJAX.
- */
-$.fn.ajaxSubmit = function(options) {
- // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
- if (!this.length) {
- log('ajaxSubmit: skipping submit process - no element selected');
- return this;
- }
-
- if (typeof options == 'function')
- options = { success: options };
-
- options = $.extend({
- url: this.attr('action') || window.location.toString(),
- type: this.attr('method') || 'GET'
- }, options || {});
-
- // hook for manipulating the form data before it is extracted;
- // convenient for use with rich editors like tinyMCE or FCKEditor
- var veto = {};
- this.trigger('form-pre-serialize', [this, options, veto]);
- if (veto.veto) {
- log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
- return this;
- }
-
- // provide opportunity to alter form data before it is serialized
- if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
- log('ajaxSubmit: submit aborted via beforeSerialize callback');
- return this;
- }
-
- var a = this.formToArray(options.semantic);
- if (options.data) {
- options.extraData = options.data;
- for (var n in options.data) {
- if(options.data[n] instanceof Array) {
- for (var k in options.data[n])
- a.push( { name: n, value: options.data[n][k] } )
- }
- else
- a.push( { name: n, value: options.data[n] } );
- }
- }
-
- // give pre-submit callback an opportunity to abort the submit
- if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
- log('ajaxSubmit: submit aborted via beforeSubmit callback');
- return this;
- }
-
- // fire vetoable 'validate' event
- this.trigger('form-submit-validate', [a, this, options, veto]);
- if (veto.veto) {
- log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
- return this;
- }
-
- var q = $.param(a);
-
- if (options.type.toUpperCase() == 'GET') {
- options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
- options.data = null; // data is null for 'get'
- }
- else
- options.data = q; // data is the query string for 'post'
-
- var $form = this, callbacks = [];
- if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
- if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
-
- // perform a load on the target only if dataType is not provided
- if (!options.dataType && options.target) {
- var oldSuccess = options.success || function(){};
- callbacks.push(function(data) {
- $(options.target).html(data).each(oldSuccess, arguments);
- });
- }
- else if (options.success)
- callbacks.push(options.success);
-
- options.success = function(data, status) {
- for (var i=0, max=callbacks.length; i < max; i++)
- callbacks[i].apply(options, [data, status, $form]);
- };
-
- // are there files to upload?
- var files = $('input:file', this).fieldValue();
- var found = false;
- for (var j=0; j < files.length; j++)
- if (files[j])
- found = true;
-
- // options.iframe allows user to force iframe mode
- if (options.iframe || found) {
- // hack to fix Safari hang (thanks to Tim Molendijk for this)
- // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
- if ($.browser.safari && options.closeKeepAlive)
- $.get(options.closeKeepAlive, fileUpload);
- else
- fileUpload();
- }
- else
- $.ajax(options);
-
- // fire 'notify' event
- this.trigger('form-submit-notify', [this, options]);
- return this;
-
-
- // private function for handling file uploads (hat tip to YAHOO!)
- function fileUpload() {
- var form = $form[0];
-
- if ($(':input[name=submit]', form).length) {
- alert('Error: Form elements must not be named "submit".');
- return;
- }
-
- var opts = $.extend({}, $.ajaxSettings, options);
- var s = jQuery.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
-
- var id = 'jqFormIO' + (new Date().getTime());
- var $io = $('<iframe id="' + id + '" name="' + id + '" />');
- var io = $io[0];
-
- if ($.browser.msie || $.browser.opera)
- io.src = 'javascript:false;document.write("");';
- $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
-
- var xhr = { // mock object
- aborted: 0,
- responseText: null,
- responseXML: null,
- status: 0,
- statusText: 'n/a',
- getAllResponseHeaders: function() {},
- getResponseHeader: function() {},
- setRequestHeader: function() {},
- abort: function() {
- this.aborted = 1;
- $io.attr('src','about:blank'); // abort op in progress
- }
- };
-
- var g = opts.global;
- // trigger ajax global events so that activity/block indicators work like normal
- if (g && ! $.active++) $.event.trigger("ajaxStart");
- if (g) $.event.trigger("ajaxSend", [xhr, opts]);
-
- if (s.beforeSend && s.beforeSend(xhr, s) === false) {
- s.global && jQuery.active--;
- return;
- }
- if (xhr.aborted)
- return;
-
- var cbInvoked = 0;
- var timedOut = 0;
-
- // add submitting element to data if we know it
- var sub = form.clk;
- if (sub) {
- var n = sub.name;
- if (n && !sub.disabled) {
- options.extraData = options.extraData || {};
- options.extraData[n] = sub.value;
- if (sub.type == "image") {
- options.extraData[name+'.x'] = form.clk_x;
- options.extraData[name+'.y'] = form.clk_y;
- }
- }
- }
-
- // take a breath so that pending repaints get some cpu time before the upload starts
- setTimeout(function() {
- // make sure form attrs are set
- var t = $form.attr('target'), a = $form.attr('action');
- $form.attr({
- target: id,
- method: 'POST',
- action: opts.url
- });
-
- // ie borks in some cases when setting encoding
- if (! options.skipEncodingOverride) {
- $form.attr({
- encoding: 'multipart/form-data',
- enctype: 'multipart/form-data'
- });
- }
-
- // support timout
- if (opts.timeout)
- setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
-
- // add "extra" data to form if provided in options
- var extraInputs = [];
- try {
- if (options.extraData)
- for (var n in options.extraData)
- extraInputs.push(
- $('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
- .appendTo(form)[0]);
-
- // add iframe to doc and submit the form
- $io.appendTo('body');
- io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
- form.submit();
- }
- finally {
- // reset attrs and remove "extra" input elements
- $form.attr('action', a);
- t ? $form.attr('target', t) : $form.removeAttr('target');
- $(extraInputs).remove();
- }
- }, 10);
-
- function cb() {
- if (cbInvoked++) return;
-
- io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
-
- var operaHack = 0;
- var ok = true;
- try {
- if (timedOut) throw 'timeout';
- // extract the server response from the iframe
- var data, doc;
-
- doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
-
- if (doc.body == null && !operaHack && $.browser.opera) {
- // In Opera 9.2.x the iframe DOM is not always traversable when
- // the onload callback fires so we give Opera 100ms to right itself
- operaHack = 1;
- cbInvoked--;
- setTimeout(cb, 100);
- return;
- }
-
- xhr.responseText = doc.body ? doc.body.innerHTML : null;
- xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
- xhr.getResponseHeader = function(header){
- var headers = {'content-type': opts.dataType};
- return headers[header];
- };
-
- if (opts.dataType == 'json' || opts.dataType == 'script') {
- var ta = doc.getElementsByTagName('textarea')[0];
- xhr.responseText = ta ? ta.value : xhr.responseText;
- }
- else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
- xhr.responseXML = toXml(xhr.responseText);
- }
- data = $.httpData(xhr, opts.dataType);
- }
- catch(e){
- ok = false;
- $.handleError(opts, xhr, 'error', e);
- }
-
- // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
- if (ok) {
- opts.success(data, 'success');
- if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
- }
- if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
- if (g && ! --$.active) $.event.trigger("ajaxStop");
- if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');
-
- // clean up
- setTimeout(function() {
- $io.remove();
- xhr.responseXML = null;
- }, 100);
- };
-
- function toXml(s, doc) {
- if (window.ActiveXObject) {
- doc = new ActiveXObject('Microsoft.XMLDOM');
- doc.async = 'false';
- doc.loadXML(s);
- }
- else
- doc = (new DOMParser()).parseFromString(s, 'text/xml');
- return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
- };
- };
-};
-
-/**
- * ajaxForm() provides a mechanism for fully automating form submission.
- *
- * The advantages of using this method instead of ajaxSubmit() are:
- *
- * 1: This method will include coordinates for <input type="image" /> elements (if the element
- * is used to submit the form).
- * 2. This method will include the submit element's name/value data (for the element that was
- * used to submit the form).
- * 3. This method binds the submit() method to the form for you.
- *
- * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely
- * passes the options argument along after properly binding events for submit elements and
- * the form itself.
- */
-$.fn.ajaxForm = function(options) {
- return this.ajaxFormUnbind().bind('submit.form-plugin',function() {
- $(this).ajaxSubmit(options);
- return false;
- }).each(function() {
- // store options in hash
- $(":submit,input:image", this).bind('click.form-plugin',function(e) {
- var form = this.form;
- form.clk = this;
- if (this.type == 'image') {
- if (e.offsetX != undefined) {
- form.clk_x = e.offsetX;
- form.clk_y = e.offsetY;
- } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
- var offset = $(this).offset();
- form.clk_x = e.pageX - offset.left;
- form.clk_y = e.pageY - offset.top;
- } else {
- form.clk_x = e.pageX - this.offsetLeft;
- form.clk_y = e.pageY - this.offsetTop;
- }
- }
- // clear form vars
- setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 10);
- });
- });
-};
-
-// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
-$.fn.ajaxFormUnbind = function() {
- this.unbind('submit.form-plugin');
- return this.each(function() {
- $(":submit,input:image", this).unbind('click.form-plugin');
- });
-
-};
-
-/**
- * formToArray() gathers form element data into an array of objects that can
- * be passed to any of the following ajax functions: $.get, $.post, or load.
- * Each object in the array has both a 'name' and 'value' property. An example of
- * an array for a simple login form might be:
- *
- * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
- *
- * It is this array that is passed to pre-submit callback functions provided to the
- * ajaxSubmit() and ajaxForm() methods.
- */
-$.fn.formToArray = function(semantic) {
- var a = [];
- if (this.length == 0) return a;
-
- var form = this[0];
- var els = semantic ? form.getElementsByTagName('*') : form.elements;
- if (!els) return a;
- for(var i=0, max=els.length; i < max; i++) {
- var el = els[i];
- var n = el.name;
- if (!n) continue;
-
- if (semantic && form.clk && el.type == "image") {
- // handle image inputs on the fly when semantic == true
- if(!el.disabled && form.clk == el)
- a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
- continue;
- }
-
- var v = $.fieldValue(el, true);
- if (v && v.constructor == Array) {
- for(var j=0, jmax=v.length; j < jmax; j++)
- a.push({name: n, value: v[j]});
- }
- else if (v !== null && typeof v != 'undefined')
- a.push({name: n, value: v});
- }
-
- if (!semantic && form.clk) {
- // input type=='image' are not found in elements array! handle them here
- var inputs = form.getElementsByTagName("input");
- for(var i=0, max=inputs.length; i < max; i++) {
- var input = inputs[i];
- var n = input.name;
- if(n && !input.disabled && input.type == "image" && form.clk == input)
- a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
- }
- }
- return a;
-};
-
-/**
- * Serializes form data into a 'submittable' string. This method will return a string
- * in the format: name1=value1&amp;name2=value2
- */
-$.fn.formSerialize = function(semantic) {
- //hand off to jQuery.param for proper encoding
- return $.param(this.formToArray(semantic));
-};
-
-/**
- * Serializes all field elements in the jQuery object into a query string.
- * This method will return a string in the format: name1=value1&amp;name2=value2
- */
-$.fn.fieldSerialize = function(successful) {
- var a = [];
- this.each(function() {
- var n = this.name;
- if (!n) return;
- var v = $.fieldValue(this, successful);
- if (v && v.constructor == Array) {
- for (var i=0,max=v.length; i < max; i++)
- a.push({name: n, value: v[i]});
- }
- else if (v !== null && typeof v != 'undefined')
- a.push({name: this.name, value: v});
- });
- //hand off to jQuery.param for proper encoding
- return $.param(a);
-};
-
-/**
- * Returns the value(s) of the element in the matched set. For example, consider the following form:
- *
- * <form><fieldset>
- * <input name="A" type="text" />
- * <input name="A" type="text" />
- * <input name="B" type="checkbox" value="B1" />
- * <input name="B" type="checkbox" value="B2"/>
- * <input name="C" type="radio" value="C1" />
- * <input name="C" type="radio" value="C2" />
- * </fieldset></form>
- *
- * var v = $(':text').fieldValue();
- * // if no values are entered into the text inputs
- * v == ['','']
- * // if values entered into the text inputs are 'foo' and 'bar'
- * v == ['foo','bar']
- *
- * var v = $(':checkbox').fieldValue();
- * // if neither checkbox is checked
- * v === undefined
- * // if both checkboxes are checked
- * v == ['B1', 'B2']
- *
- * var v = $(':radio').fieldValue();
- * // if neither radio is checked
- * v === undefined
- * // if first radio is checked
- * v == ['C1']
- *
- * The successful argument controls whether or not the field element must be 'successful'
- * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
- * The default value of the successful argument is true. If this value is false the value(s)
- * for each element is returned.
- *
- * Note: This method *always* returns an array. If no valid value can be determined the
- * array will be empty, otherwise it will contain one or more values.
- */
-$.fn.fieldValue = function(successful) {
- for (var val=[], i=0, max=this.length; i < max; i++) {
- var el = this[i];
- var v = $.fieldValue(el, successful);
- if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
- continue;
- v.constructor == Array ? $.merge(val, v) : val.push(v);
- }
- return val;
-};
-
-/**
- * Returns the value of the field element.
- */
-$.fieldValue = function(el, successful) {
- var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
- if (typeof successful == 'undefined') successful = true;
-
- if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
- (t == 'checkbox' || t == 'radio') && !el.checked ||
- (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
- tag == 'select' && el.selectedIndex == -1))
- return null;
-
- if (tag == 'select') {
- var index = el.selectedIndex;
- if (index < 0) return null;
- var a = [], ops = el.options;
- var one = (t == 'select-one');
- var max = (one ? index+1 : ops.length);
- for(var i=(one ? index : 0); i < max; i++) {
- var op = ops[i];
- if (op.selected) {
- // extra pain for IE...
- var v = $.browser.msie && !(op.attributes['value'].specified) ? op.text : op.value;
- if (one) return v;
- a.push(v);
- }
- }
- return a;
- }
- return el.value;
-};
-
-/**
- * Clears the form data. Takes the following actions on the form's input fields:
- * - input text fields will have their 'value' property set to the empty string
- * - select elements will have their 'selectedIndex' property set to -1
- * - checkbox and radio inputs will have their 'checked' property set to false
- * - inputs of type submit, button, reset, and hidden will *not* be effected
- * - button elements will *not* be effected
- */
-$.fn.clearForm = function() {
- return this.each(function() {
- $('input,select,textarea', this).clearFields();
- });
-};
-
-/**
- * Clears the selected form elements.
- */
-$.fn.clearFields = $.fn.clearInputs = function() {
- return this.each(function() {
- var t = this.type, tag = this.tagName.toLowerCase();
- if (t == 'file' || t == 'text' || t == 'password' || tag == 'textarea')
- this.value = '';
- else if (t == 'checkbox' || t == 'radio')
- this.checked = false;
- else if (tag == 'select')
- this.selectedIndex = -1;
- });
-};
-
-/**
- * Resets the form data. Causes all form elements to be reset to their original value.
- */
-$.fn.resetForm = function() {
- return this.each(function() {
- // guard against an input with the name of 'reset'
- // note that IE reports the reset function as an 'object'
- if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
- this.reset();
- });
-};
-
-/**
- * Enables or disables any matching elements.
- */
-$.fn.enable = function(b) {
- if (b == undefined) b = true;
- return this.each(function() {
- this.disabled = !b
- });
-};
-
-/**
- * Checks/unchecks any matching checkboxes or radio buttons and
- * selects/deselects and matching option elements.
- */
-$.fn.selected = function(select) {
- if (select == undefined) select = true;
- return this.each(function() {
- var t = this.type;
- if (t == 'checkbox' || t == 'radio')
- this.checked = select;
- else if (this.tagName.toLowerCase() == 'option') {
- var $sel = $(this).parent('select');
- if (select && $sel[0] && $sel[0].type == 'select-one') {
- // deselect all other options
- $sel.find('option').selected(false);
- }
- this.selected = select;
- }
- });
-};
-
-// helper fn for console logging
-// set $.fn.ajaxSubmit.debug to true to enable debug logging
-function log() {
- if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
- window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));
-};
-
-})(jQuery);
+/*
+ * jQuery Form Plugin
+ * version: 2.36 (07-NOV-2009)
+ * @requires jQuery v1.2.6 or later
+ *
+ * Examples and documentation at: http://malsup.com/jquery/form/
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ */
+;(function($) {
+
+/*
+ Usage Note:
+ -----------
+ Do not use both ajaxSubmit and ajaxForm on the same form. These
+ functions are intended to be exclusive. Use ajaxSubmit if you want
+ to bind your own submit handler to the form. For example,
+
+ $(document).ready(function() {
+ $('#myForm').bind('submit', function() {
+ $(this).ajaxSubmit({
+ target: '#output'
+ });
+ return false; // <-- important!
+ });
+ });
+
+ Use ajaxForm when you want the plugin to manage all the event binding
+ for you. For example,
+
+ $(document).ready(function() {
+ $('#myForm').ajaxForm({
+ target: '#output'
+ });
+ });
+
+ When using ajaxForm, the ajaxSubmit function will be invoked for you
+ at the appropriate time.
+*/
+
+/**
+ * ajaxSubmit() provides a mechanism for immediately submitting
+ * an HTML form using AJAX.
+ */
+$.fn.ajaxSubmit = function(options) {
+ // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
+ if (!this.length) {
+ log('ajaxSubmit: skipping submit process - no element selected');
+ return this;
+ }
+
+ if (typeof options == 'function')
+ options = { success: options };
+
+ var url = $.trim(this.attr('action'));
+ if (url) {
+ // clean url (don't include hash vaue)
+ url = (url.match(/^([^#]+)/)||[])[1];
+ }
+ url = url || window.location.href || '';
+
+ options = $.extend({
+ url: url,
+ type: this.attr('method') || 'GET',
+ iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
+ }, options || {});
+
+ // hook for manipulating the form data before it is extracted;
+ // convenient for use with rich editors like tinyMCE or FCKEditor
+ var veto = {};
+ this.trigger('form-pre-serialize', [this, options, veto]);
+ if (veto.veto) {
+ log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
+ return this;
+ }
+
+ // provide opportunity to alter form data before it is serialized
+ if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
+ log('ajaxSubmit: submit aborted via beforeSerialize callback');
+ return this;
+ }
+
+ var a = this.formToArray(options.semantic);
+ if (options.data) {
+ options.extraData = options.data;
+ for (var n in options.data) {
+ if(options.data[n] instanceof Array) {
+ for (var k in options.data[n])
+ a.push( { name: n, value: options.data[n][k] } );
+ }
+ else
+ a.push( { name: n, value: options.data[n] } );
+ }
+ }
+
+ // give pre-submit callback an opportunity to abort the submit
+ if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
+ log('ajaxSubmit: submit aborted via beforeSubmit callback');
+ return this;
+ }
+
+ // fire vetoable 'validate' event
+ this.trigger('form-submit-validate', [a, this, options, veto]);
+ if (veto.veto) {
+ log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
+ return this;
+ }
+
+ var q = $.param(a);
+
+ if (options.type.toUpperCase() == 'GET') {
+ options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
+ options.data = null; // data is null for 'get'
+ }
+ else
+ options.data = q; // data is the query string for 'post'
+
+ var $form = this, callbacks = [];
+ if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
+ if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
+
+ // perform a load on the target only if dataType is not provided
+ if (!options.dataType && options.target) {
+ var oldSuccess = options.success || function(){};
+ callbacks.push(function(data) {
+ $(options.target).html(data).each(oldSuccess, arguments);
+ });
+ }
+ else if (options.success)
+ callbacks.push(options.success);
+
+ options.success = function(data, status) {
+ for (var i=0, max=callbacks.length; i < max; i++)
+ callbacks[i].apply(options, [data, status, $form]);
+ };
+
+ // are there files to upload?
+ var files = $('input:file', this).fieldValue();
+ var found = false;
+ for (var j=0; j < files.length; j++)
+ if (files[j])
+ found = true;
+
+ var multipart = false;
+// var mp = 'multipart/form-data';
+// multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
+
+ // options.iframe allows user to force iframe mode
+ // 06-NOV-09: now defaulting to iframe mode if file input is detected
+ if ((files.length && options.iframe !== false) || options.iframe || found || multipart) {
+ // hack to fix Safari hang (thanks to Tim Molendijk for this)
+ // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
+ if (options.closeKeepAlive)
+ $.get(options.closeKeepAlive, fileUpload);
+ else
+ fileUpload();
+ }
+ else
+ $.ajax(options);
+
+ // fire 'notify' event
+ this.trigger('form-submit-notify', [this, options]);
+ return this;
+
+
+ // private function for handling file uploads (hat tip to YAHOO!)
+ function fileUpload() {
+ var form = $form[0];
+
+ if ($(':input[name=submit]', form).length) {
+ alert('Error: Form elements must not be named "submit".');
+ return;
+ }
+
+ var opts = $.extend({}, $.ajaxSettings, options);
+ var s = $.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
+
+ var id = 'jqFormIO' + (new Date().getTime());
+ var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ opts.iframeSrc +'" />');
+ var io = $io[0];
+
+ $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
+
+ var xhr = { // mock object
+ aborted: 0,
+ responseText: null,
+ responseXML: null,
+ status: 0,
+ statusText: 'n/a',
+ getAllResponseHeaders: function() {},
+ getResponseHeader: function() {},
+ setRequestHeader: function() {},
+ abort: function() {
+ this.aborted = 1;
+ $io.attr('src', opts.iframeSrc); // abort op in progress
+ }
+ };
+
+ var g = opts.global;
+ // trigger ajax global events so that activity/block indicators work like normal
+ if (g && ! $.active++) $.event.trigger("ajaxStart");
+ if (g) $.event.trigger("ajaxSend", [xhr, opts]);
+
+ if (s.beforeSend && s.beforeSend(xhr, s) === false) {
+ s.global && $.active--;
+ return;
+ }
+ if (xhr.aborted)
+ return;
+
+ var cbInvoked = 0;
+ var timedOut = 0;
+
+ // add submitting element to data if we know it
+ var sub = form.clk;
+ if (sub) {
+ var n = sub.name;
+ if (n && !sub.disabled) {
+ options.extraData = options.extraData || {};
+ options.extraData[n] = sub.value;
+ if (sub.type == "image") {
+ options.extraData[name+'.x'] = form.clk_x;
+ options.extraData[name+'.y'] = form.clk_y;
+ }
+ }
+ }
+
+ // take a breath so that pending repaints get some cpu time before the upload starts
+ setTimeout(function() {
+ // make sure form attrs are set
+ var t = $form.attr('target'), a = $form.attr('action');
+
+ // update form attrs in IE friendly way
+ form.setAttribute('target',id);
+ if (form.getAttribute('method') != 'POST')
+ form.setAttribute('method', 'POST');
+ if (form.getAttribute('action') != opts.url)
+ form.setAttribute('action', opts.url);
+
+ // ie borks in some cases when setting encoding
+ if (! options.skipEncodingOverride) {
+ $form.attr({
+ encoding: 'multipart/form-data',
+ enctype: 'multipart/form-data'
+ });
+ }
+
+ // support timout
+ if (opts.timeout)
+ setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
+
+ // add "extra" data to form if provided in options
+ var extraInputs = [];
+ try {
+ if (options.extraData)
+ for (var n in options.extraData)
+ extraInputs.push(
+ $('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
+ .appendTo(form)[0]);
+
+ // add iframe to doc and submit the form
+ $io.appendTo('body');
+ io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
+ form.submit();
+ }
+ finally {
+ // reset attrs and remove "extra" input elements
+ form.setAttribute('action',a);
+ t ? form.setAttribute('target', t) : $form.removeAttr('target');
+ $(extraInputs).remove();
+ }
+ }, 10);
+
+ var domCheckCount = 50;
+
+ function cb() {
+ if (cbInvoked++) return;
+
+ io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
+
+ var ok = true;
+ try {
+ if (timedOut) throw 'timeout';
+ // extract the server response from the iframe
+ var data, doc;
+
+ doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
+
+ var isXml = opts.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
+ log('isXml='+isXml);
+ if (!isXml && (doc.body == null || doc.body.innerHTML == '')) {
+ if (--domCheckCount) {
+ // in some browsers (Opera) the iframe DOM is not always traversable when
+ // the onload callback fires, so we loop a bit to accommodate
+ cbInvoked = 0;
+ setTimeout(cb, 100);
+ return;
+ }
+ log('Could not access iframe DOM after 50 tries.');
+ return;
+ }
+
+ xhr.responseText = doc.body ? doc.body.innerHTML : null;
+ xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
+ xhr.getResponseHeader = function(header){
+ var headers = {'content-type': opts.dataType};
+ return headers[header];
+ };
+
+ if (opts.dataType == 'json' || opts.dataType == 'script') {
+ // see if user embedded response in textarea
+ var ta = doc.getElementsByTagName('textarea')[0];
+ if (ta)
+ xhr.responseText = ta.value;
+ else {
+ // account for browsers injecting pre around json response
+ var pre = doc.getElementsByTagName('pre')[0];
+ if (pre)
+ xhr.responseText = pre.innerHTML;
+ }
+ }
+ else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
+ xhr.responseXML = toXml(xhr.responseText);
+ }
+ data = $.httpData(xhr, opts.dataType);
+ }
+ catch(e){
+ ok = false;
+ $.handleError(opts, xhr, 'error', e);
+ }
+
+ // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
+ if (ok) {
+ opts.success(data, 'success');
+ if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
+ }
+ if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
+ if (g && ! --$.active) $.event.trigger("ajaxStop");
+ if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');
+
+ // clean up
+ setTimeout(function() {
+ $io.remove();
+ xhr.responseXML = null;
+ }, 100);
+ };
+
+ function toXml(s, doc) {
+ if (window.ActiveXObject) {
+ doc = new ActiveXObject('Microsoft.XMLDOM');
+ doc.async = 'false';
+ doc.loadXML(s);
+ }
+ else
+ doc = (new DOMParser()).parseFromString(s, 'text/xml');
+ return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
+ };
+ };
+};
+
+/**
+ * ajaxForm() provides a mechanism for fully automating form submission.
+ *
+ * The advantages of using this method instead of ajaxSubmit() are:
+ *
+ * 1: This method will include coordinates for <input type="image" /> elements (if the element
+ * is used to submit the form).
+ * 2. This method will include the submit element's name/value data (for the element that was
+ * used to submit the form).
+ * 3. This method binds the submit() method to the form for you.
+ *
+ * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely
+ * passes the options argument along after properly binding events for submit elements and
+ * the form itself.
+ */
+$.fn.ajaxForm = function(options) {
+ return this.ajaxFormUnbind().bind('submit.form-plugin', function() {
+ $(this).ajaxSubmit(options);
+ return false;
+ }).bind('click.form-plugin', function(e) {
+ var target = e.target;
+ var $el = $(target);
+ if (!($el.is(":submit,input:image"))) {
+ // is this a child element of the submit el? (ex: a span within a button)
+ var t = $el.closest(':submit');
+ if (t.length == 0)
+ return;
+ target = t[0];
+ }
+ var form = this;
+ form.clk = target;
+ if (target.type == 'image') {
+ if (e.offsetX != undefined) {
+ form.clk_x = e.offsetX;
+ form.clk_y = e.offsetY;
+ } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
+ var offset = $el.offset();
+ form.clk_x = e.pageX - offset.left;
+ form.clk_y = e.pageY - offset.top;
+ } else {
+ form.clk_x = e.pageX - target.offsetLeft;
+ form.clk_y = e.pageY - target.offsetTop;
+ }
+ }
+ // clear form vars
+ setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
+ });
+};
+
+// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
+$.fn.ajaxFormUnbind = function() {
+ return this.unbind('submit.form-plugin click.form-plugin');
+};
+
+/**
+ * formToArray() gathers form element data into an array of objects that can
+ * be passed to any of the following ajax functions: $.get, $.post, or load.
+ * Each object in the array has both a 'name' and 'value' property. An example of
+ * an array for a simple login form might be:
+ *
+ * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
+ *
+ * It is this array that is passed to pre-submit callback functions provided to the
+ * ajaxSubmit() and ajaxForm() methods.
+ */
+$.fn.formToArray = function(semantic) {
+ var a = [];
+ if (this.length == 0) return a;
+
+ var form = this[0];
+ var els = semantic ? form.getElementsByTagName('*') : form.elements;
+ if (!els) return a;
+ for(var i=0, max=els.length; i < max; i++) {
+ var el = els[i];
+ var n = el.name;
+ if (!n) continue;
+
+ if (semantic && form.clk && el.type == "image") {
+ // handle image inputs on the fly when semantic == true
+ if(!el.disabled && form.clk == el) {
+ a.push({name: n, value: $(el).val()});
+ a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
+ }
+ continue;
+ }
+
+ var v = $.fieldValue(el, true);
+ if (v && v.constructor == Array) {
+ for(var j=0, jmax=v.length; j < jmax; j++)
+ a.push({name: n, value: v[j]});
+ }
+ else if (v !== null && typeof v != 'undefined')
+ a.push({name: n, value: v});
+ }
+
+ if (!semantic && form.clk) {
+ // input type=='image' are not found in elements array! handle it here
+ var $input = $(form.clk), input = $input[0], n = input.name;
+ if (n && !input.disabled && input.type == 'image') {
+ a.push({name: n, value: $input.val()});
+ a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
+ }
+ }
+ return a;
+};
+
+/**
+ * Serializes form data into a 'submittable' string. This method will return a string
+ * in the format: name1=value1&amp;name2=value2
+ */
+$.fn.formSerialize = function(semantic) {
+ //hand off to jQuery.param for proper encoding
+ return $.param(this.formToArray(semantic));
+};
+
+/**
+ * Serializes all field elements in the jQuery object into a query string.
+ * This method will return a string in the format: name1=value1&amp;name2=value2
+ */
+$.fn.fieldSerialize = function(successful) {
+ var a = [];
+ this.each(function() {
+ var n = this.name;
+ if (!n) return;
+ var v = $.fieldValue(this, successful);
+ if (v && v.constructor == Array) {
+ for (var i=0,max=v.length; i < max; i++)
+ a.push({name: n, value: v[i]});
+ }
+ else if (v !== null && typeof v != 'undefined')
+ a.push({name: this.name, value: v});
+ });
+ //hand off to jQuery.param for proper encoding
+ return $.param(a);
+};
+
+/**
+ * Returns the value(s) of the element in the matched set. For example, consider the following form:
+ *
+ * <form><fieldset>
+ * <input name="A" type="text" />
+ * <input name="A" type="text" />
+ * <input name="B" type="checkbox" value="B1" />
+ * <input name="B" type="checkbox" value="B2"/>
+ * <input name="C" type="radio" value="C1" />
+ * <input name="C" type="radio" value="C2" />
+ * </fieldset></form>
+ *
+ * var v = $(':text').fieldValue();
+ * // if no values are entered into the text inputs
+ * v == ['','']
+ * // if values entered into the text inputs are 'foo' and 'bar'
+ * v == ['foo','bar']
+ *
+ * var v = $(':checkbox').fieldValue();
+ * // if neither checkbox is checked
+ * v === undefined
+ * // if both checkboxes are checked
+ * v == ['B1', 'B2']
+ *
+ * var v = $(':radio').fieldValue();
+ * // if neither radio is checked
+ * v === undefined
+ * // if first radio is checked
+ * v == ['C1']
+ *
+ * The successful argument controls whether or not the field element must be 'successful'
+ * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
+ * The default value of the successful argument is true. If this value is false the value(s)
+ * for each element is returned.
+ *
+ * Note: This method *always* returns an array. If no valid value can be determined the
+ * array will be empty, otherwise it will contain one or more values.
+ */
+$.fn.fieldValue = function(successful) {
+ for (var val=[], i=0, max=this.length; i < max; i++) {
+ var el = this[i];
+ var v = $.fieldValue(el, successful);
+ if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
+ continue;
+ v.constructor == Array ? $.merge(val, v) : val.push(v);
+ }
+ return val;
+};
+
+/**
+ * Returns the value of the field element.
+ */
+$.fieldValue = function(el, successful) {
+ var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
+ if (typeof successful == 'undefined') successful = true;
+
+ if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
+ (t == 'checkbox' || t == 'radio') && !el.checked ||
+ (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
+ tag == 'select' && el.selectedIndex == -1))
+ return null;
+
+ if (tag == 'select') {
+ var index = el.selectedIndex;
+ if (index < 0) return null;
+ var a = [], ops = el.options;
+ var one = (t == 'select-one');
+ var max = (one ? index+1 : ops.length);
+ for(var i=(one ? index : 0); i < max; i++) {
+ var op = ops[i];
+ if (op.selected) {
+ var v = op.value;
+ if (!v) // extra pain for IE...
+ v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
+ if (one) return v;
+ a.push(v);
+ }
+ }
+ return a;
+ }
+ return el.value;
+};
+
+/**
+ * Clears the form data. Takes the following actions on the form's input fields:
+ * - input text fields will have their 'value' property set to the empty string
+ * - select elements will have their 'selectedIndex' property set to -1
+ * - checkbox and radio inputs will have their 'checked' property set to false
+ * - inputs of type submit, button, reset, and hidden will *not* be effected
+ * - button elements will *not* be effected
+ */
+$.fn.clearForm = function() {
+ return this.each(function() {
+ $('input,select,textarea', this).clearFields();
+ });
+};
+
+/**
+ * Clears the selected form elements.
+ */
+$.fn.clearFields = $.fn.clearInputs = function() {
+ return this.each(function() {
+ var t = this.type, tag = this.tagName.toLowerCase();
+ if (t == 'text' || t == 'password' || tag == 'textarea')
+ this.value = '';
+ else if (t == 'checkbox' || t == 'radio')
+ this.checked = false;
+ else if (tag == 'select')
+ this.selectedIndex = -1;
+ });
+};
+
+/**
+ * Resets the form data. Causes all form elements to be reset to their original value.
+ */
+$.fn.resetForm = function() {
+ return this.each(function() {
+ // guard against an input with the name of 'reset'
+ // note that IE reports the reset function as an 'object'
+ if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
+ this.reset();
+ });
+};
+
+/**
+ * Enables or disables any matching elements.
+ */
+$.fn.enable = function(b) {
+ if (b == undefined) b = true;
+ return this.each(function() {
+ this.disabled = !b;
+ });
+};
+
+/**
+ * Checks/unchecks any matching checkboxes or radio buttons and
+ * selects/deselects and matching option elements.
+ */
+$.fn.selected = function(select) {
+ if (select == undefined) select = true;
+ return this.each(function() {
+ var t = this.type;
+ if (t == 'checkbox' || t == 'radio')
+ this.checked = select;
+ else if (this.tagName.toLowerCase() == 'option') {
+ var $sel = $(this).parent('select');
+ if (select && $sel[0] && $sel[0].type == 'select-one') {
+ // deselect all other options
+ $sel.find('option').selected(false);
+ }
+ this.selected = select;
+ }
+ });
+};
+
+// helper fn for console logging
+// set $.fn.ajaxSubmit.debug to true to enable debug logging
+function log() {
+ if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
+ window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));
+};
+
+})(jQuery);
diff --git a/js/jquery.js b/js/jquery.js
index 926357433..237e1b908 100644
--- a/js/jquery.js
+++ b/js/jquery.js
@@ -1,136 +1,221 @@
/*!
- * jQuery JavaScript Library v1.3.2
+ * jQuery JavaScript Library v1.4.1
* http://jquery.com/
*
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
*
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Jan 25 19:43:33 2010 -0500
*/
-(function(){
+(function( window, undefined ) {
+
+// Define a local copy of jQuery
+var jQuery = function( selector, context ) {
+ // The jQuery object is actually just the init constructor 'enhanced'
+ return new jQuery.fn.init( selector, context );
+ },
-var
- // Will speed up references to window, and allows munging its name.
- window = this,
- // Will speed up references to undefined, and allows munging its name.
- undefined,
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
+
// Map over the $ in case of overwrite
_$ = window.$,
- jQuery = window.jQuery = window.$ = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context );
- },
+ // Use the correct document accordingly with window argument (sandbox)
+ document = window.document,
+
+ // A central reference to the root jQuery(document)
+ rootjQuery,
// A simple way to check for HTML strings or ID strings
// (both of which we optimize for)
- quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
+ quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,
+
// Is it a simple selector
- isSimple = /^.[^:#\[\.,]*$/;
+ isSimple = /^.[^:#\[\.,]*$/,
+
+ // Check if a string has a non-whitespace character in it
+ rnotwhite = /\S/,
+
+ // Used for trimming whitespace
+ rtrim = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
+
+ // Match a standalone tag
+ rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+
+ // Keep a UserAgent string for use with jQuery.browser
+ userAgent = navigator.userAgent,
+
+ // For matching the engine and version of the browser
+ browserMatch,
+
+ // Has the ready events already been bound?
+ readyBound = false,
+
+ // The functions to execute on DOM ready
+ readyList = [],
+
+ // The ready event handler
+ DOMContentLoaded,
+
+ // Save a reference to some core methods
+ toString = Object.prototype.toString,
+ hasOwnProperty = Object.prototype.hasOwnProperty,
+ push = Array.prototype.push,
+ slice = Array.prototype.slice,
+ indexOf = Array.prototype.indexOf;
jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {
- // Make sure that a selection was provided
- selector = selector || document;
+ var match, elem, ret, doc;
+
+ // Handle $(""), $(null), or $(undefined)
+ if ( !selector ) {
+ return this;
+ }
// Handle $(DOMElement)
if ( selector.nodeType ) {
- this[0] = selector;
+ this.context = this[0] = selector;
this.length = 1;
- this.context = selector;
return this;
}
+
// Handle HTML strings
if ( typeof selector === "string" ) {
// Are we dealing with HTML string or an ID?
- var match = quickExpr.exec( selector );
+ match = quickExpr.exec( selector );
// Verify a match, and that no context was specified for #id
if ( match && (match[1] || !context) ) {
// HANDLE: $(html) -> $(array)
- if ( match[1] )
- selector = jQuery.clean( [ match[1] ], context );
+ if ( match[1] ) {
+ doc = (context ? context.ownerDocument || context : document);
+
+ // If a single string is passed in and it's a single tag
+ // just do a createElement and skip the rest
+ ret = rsingleTag.exec( selector );
+
+ if ( ret ) {
+ if ( jQuery.isPlainObject( context ) ) {
+ selector = [ document.createElement( ret[1] ) ];
+ jQuery.fn.attr.call( selector, context, true );
+
+ } else {
+ selector = [ doc.createElement( ret[1] ) ];
+ }
+
+ } else {
+ ret = buildFragment( [ match[1] ], [ doc ] );
+ selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
+ }
// HANDLE: $("#id")
- else {
- var elem = document.getElementById( match[3] );
-
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem && elem.id != match[3] )
- return jQuery().find( selector );
-
- // Otherwise, we inject the element directly into the jQuery object
- var ret = jQuery( elem || [] );
- ret.context = document;
- ret.selector = selector;
- return ret;
+ } else {
+ elem = document.getElementById( match[2] );
+
+ if ( elem ) {
+ // Handle the case where IE and Opera return items
+ // by name instead of ID
+ if ( elem.id !== match[2] ) {
+ return rootjQuery.find( selector );
+ }
+
+ // Otherwise, we inject the element directly into the jQuery object
+ this.length = 1;
+ this[0] = elem;
+ }
+
+ this.context = document;
+ this.selector = selector;
+ return this;
}
- // HANDLE: $(expr, [context])
- // (which is just equivalent to: $(content).find(expr)
- } else
+ // HANDLE: $("TAG")
+ } else if ( !context && /^\w+$/.test( selector ) ) {
+ this.selector = selector;
+ this.context = document;
+ selector = document.getElementsByTagName( selector );
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return (context || rootjQuery).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
return jQuery( context ).find( selector );
+ }
// HANDLE: $(function)
// Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) )
- return jQuery( document ).ready( selector );
+ } else if ( jQuery.isFunction( selector ) ) {
+ return rootjQuery.ready( selector );
+ }
- // Make sure that old selector state is passed along
- if ( selector.selector && selector.context ) {
+ if (selector.selector !== undefined) {
this.selector = selector.selector;
this.context = selector.context;
}
- return this.setArray(jQuery.isArray( selector ) ?
- selector :
- jQuery.makeArray(selector));
+ return jQuery.isArray( selector ) ?
+ this.setArray( selector ) :
+ jQuery.makeArray( selector, this );
},
// Start with an empty selector
selector: "",
// The current version of jQuery being used
- jquery: "1.3.2",
+ jquery: "1.4.1",
+
+ // The default length of a jQuery object is 0
+ length: 0,
// The number of elements contained in the matched element set
size: function() {
return this.length;
},
+ toArray: function() {
+ return slice.call( this, 0 );
+ },
+
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
- return num === undefined ?
+ return num == null ?
// Return a 'clean' array
- Array.prototype.slice.call( this ) :
+ this.toArray() :
// Return just the object
- this[ num ];
+ ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems, name, selector ) {
// Build a new jQuery matched element set
- var ret = jQuery( elems );
+ var ret = jQuery( elems || null );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
ret.context = this.context;
- if ( name === "find" )
+ if ( name === "find" ) {
ret.selector = this.selector + (this.selector ? " " : "") + selector;
- else if ( name )
+ } else if ( name ) {
ret.selector = this.selector + "." + name + "(" + selector + ")";
+ }
// Return the newly-formed element set
return ret;
@@ -143,7 +228,7 @@ jQuery.fn = jQuery.prototype = {
// Resetting the length to 0, then using the native Array push
// is a super-fast way to populate an object with array-like properties
this.length = 0;
- Array.prototype.push.apply( this, elems );
+ push.apply( this, elems );
return this;
},
@@ -154,822 +239,1208 @@ jQuery.fn = jQuery.prototype = {
each: function( callback, args ) {
return jQuery.each( this, callback, args );
},
+
+ ready: function( fn ) {
+ // Attach the listeners
+ jQuery.bindReady();
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
- // Locate the position of the desired element
- return jQuery.inArray(
- // If it receives a jQuery object, the first element is used
- elem && elem.jquery ? elem[0] : elem
- , this );
- },
+ // If the DOM is already ready
+ if ( jQuery.isReady ) {
+ // Execute the function immediately
+ fn.call( document, jQuery );
- attr: function( name, value, type ) {
- var options = name;
+ // Otherwise, remember the function for later
+ } else if ( readyList ) {
+ // Add the function to the wait list
+ readyList.push( fn );
+ }
- // Look for the case where we're accessing a style value
- if ( typeof name === "string" )
- if ( value === undefined )
- return this[0] && jQuery[ type || "attr" ]( this[0], name );
+ return this;
+ },
+
+ eq: function( i ) {
+ return i === -1 ?
+ this.slice( i ) :
+ this.slice( i, +i + 1 );
+ },
- else {
- options = {};
- options[ name ] = value;
- }
+ first: function() {
+ return this.eq( 0 );
+ },
- // Check to see if we're setting style values
- return this.each(function(i){
- // Set all the styles
- for ( name in options )
- jQuery.attr(
- type ?
- this.style :
- this,
- name, jQuery.prop( this, options[ name ], type, i, name )
- );
- });
+ last: function() {
+ return this.eq( -1 );
},
- css: function( key, value ) {
- // ignore negative width and height values
- if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 )
- value = undefined;
- return this.attr( key, value, "curCSS" );
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ),
+ "slice", slice.call(arguments).join(",") );
},
- text: function( text ) {
- if ( typeof text !== "object" && text != null )
- return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
+ map: function( callback ) {
+ return this.pushStack( jQuery.map(this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ }));
+ },
+
+ end: function() {
+ return this.prevObject || jQuery(null);
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: [].sort,
+ splice: [].splice
+};
- var ret = "";
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
- jQuery.each( text || this, function(){
- jQuery.each( this.childNodes, function(){
- if ( this.nodeType != 8 )
- ret += this.nodeType != 1 ?
- this.nodeValue :
- jQuery.fn.text( [ this ] );
- });
- });
+jQuery.extend = jQuery.fn.extend = function() {
+ // copy reference to target object
+ var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy;
- return ret;
- },
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+ target = arguments[1] || {};
+ // skip the boolean and the target
+ i = 2;
+ }
- wrapAll: function( html ) {
- if ( this[0] ) {
- // The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).clone();
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+ target = {};
+ }
- if ( this[0].parentNode )
- wrap.insertBefore( this[0] );
+ // extend jQuery itself if only one argument is passed
+ if ( length === i ) {
+ target = this;
+ --i;
+ }
- wrap.map(function(){
- var elem = this;
+ for ( ; i < length; i++ ) {
+ // Only deal with non-null/undefined values
+ if ( (options = arguments[ i ]) != null ) {
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
- while ( elem.firstChild )
- elem = elem.firstChild;
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
- return elem;
- }).append(this);
+ // Recurse if we're merging object literal values or arrays
+ if ( deep && copy && ( jQuery.isPlainObject(copy) || jQuery.isArray(copy) ) ) {
+ var clone = src && ( jQuery.isPlainObject(src) || jQuery.isArray(src) ) ? src
+ : jQuery.isArray(copy) ? [] : {};
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
}
+ }
- return this;
- },
+ // Return the modified object
+ return target;
+};
- wrapInner: function( html ) {
- return this.each(function(){
- jQuery( this ).contents().wrapAll( html );
- });
+jQuery.extend({
+ noConflict: function( deep ) {
+ window.$ = _$;
+
+ if ( deep ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
},
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // Handle when the DOM is ready
+ ready: function() {
+ // Make sure that the DOM is not already loaded
+ if ( !jQuery.isReady ) {
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+ if ( !document.body ) {
+ return setTimeout( jQuery.ready, 13 );
+ }
- wrap: function( html ) {
- return this.each(function(){
- jQuery( this ).wrapAll( html );
- });
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If there are functions bound, to execute
+ if ( readyList ) {
+ // Execute all of them
+ var fn, i = 0;
+ while ( (fn = readyList[ i++ ]) ) {
+ fn.call( document, jQuery );
+ }
+
+ // Reset the list of functions
+ readyList = null;
+ }
+
+ // Trigger any bound ready events
+ if ( jQuery.fn.triggerHandler ) {
+ jQuery( document ).triggerHandler( "ready" );
+ }
+ }
},
+
+ bindReady: function() {
+ if ( readyBound ) {
+ return;
+ }
- append: function() {
- return this.domManip(arguments, true, function(elem){
- if (this.nodeType == 1)
- this.appendChild( elem );
- });
+ readyBound = true;
+
+ // Catch cases where $(document).ready() is called after the
+ // browser event has already occurred.
+ if ( document.readyState === "complete" ) {
+ return jQuery.ready();
+ }
+
+ // Mozilla, Opera and webkit nightlies currently support this event
+ if ( document.addEventListener ) {
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", jQuery.ready, false );
+
+ // If IE event model is used
+ } else if ( document.attachEvent ) {
+ // ensure firing before onload,
+ // maybe late but safe also for iframes
+ document.attachEvent("onreadystatechange", DOMContentLoaded);
+
+ // A fallback to window.onload, that will always work
+ window.attachEvent( "onload", jQuery.ready );
+
+ // If IE and not a frame
+ // continually check to see if the document is ready
+ var toplevel = false;
+
+ try {
+ toplevel = window.frameElement == null;
+ } catch(e) {}
+
+ if ( document.documentElement.doScroll && toplevel ) {
+ doScrollCheck();
+ }
+ }
},
- prepend: function() {
- return this.domManip(arguments, true, function(elem){
- if (this.nodeType == 1)
- this.insertBefore( elem, this.firstChild );
- });
+ // See test/unit/core.js for details concerning isFunction.
+ // Since version 1.3, DOM methods and functions like alert
+ // aren't supported. They return false on IE (#2968).
+ isFunction: function( obj ) {
+ return toString.call(obj) === "[object Function]";
},
- before: function() {
- return this.domManip(arguments, false, function(elem){
- this.parentNode.insertBefore( elem, this );
- });
+ isArray: function( obj ) {
+ return toString.call(obj) === "[object Array]";
},
- after: function() {
- return this.domManip(arguments, false, function(elem){
- this.parentNode.insertBefore( elem, this.nextSibling );
- });
+ isPlainObject: function( obj ) {
+ // Must be an Object.
+ // Because of IE, we also have to check the presence of the constructor property.
+ // Make sure that DOM nodes and window objects don't pass through, as well
+ if ( !obj || toString.call(obj) !== "[object Object]" || obj.nodeType || obj.setInterval ) {
+ return false;
+ }
+
+ // Not own constructor property must be Object
+ if ( obj.constructor
+ && !hasOwnProperty.call(obj, "constructor")
+ && !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) {
+ return false;
+ }
+
+ // Own properties are enumerated firstly, so to speed up,
+ // if last one is own, then all properties are own.
+
+ var key;
+ for ( key in obj ) {}
+
+ return key === undefined || hasOwnProperty.call( obj, key );
},
- end: function() {
- return this.prevObject || jQuery( [] );
+ isEmptyObject: function( obj ) {
+ for ( var name in obj ) {
+ return false;
+ }
+ return true;
},
+
+ error: function( msg ) {
+ throw msg;
+ },
+
+ parseJSON: function( data ) {
+ if ( typeof data !== "string" || !data ) {
+ return null;
+ }
+
+ // Make sure the incoming data is actual JSON
+ // Logic borrowed from http://json.org/json2.js
+ if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
+ .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
+ .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: [].push,
- sort: [].sort,
- splice: [].splice,
+ // Try to use the native JSON parser first
+ return window.JSON && window.JSON.parse ?
+ window.JSON.parse( data ) :
+ (new Function("return " + data))();
- find: function( selector ) {
- if ( this.length === 1 ) {
- var ret = this.pushStack( [], "find", selector );
- ret.length = 0;
- jQuery.find( selector, this[0], ret );
- return ret;
} else {
- return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){
- return jQuery.find( selector, elem );
- })), "find", selector );
+ jQuery.error( "Invalid JSON: " + data );
}
},
- clone: function( events ) {
- // Do the clone
- var ret = this.map(function(){
- if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
- // IE copies events bound via attachEvent when
- // using cloneNode. Calling detachEvent on the
- // clone will also remove the events from the orignal
- // In order to get around this, we use innerHTML.
- // Unfortunately, this means some modifications to
- // attributes in IE that are actually only stored
- // as properties will not be copied (such as the
- // the name attribute on an input).
- var html = this.outerHTML;
- if ( !html ) {
- var div = this.ownerDocument.createElement("div");
- div.appendChild( this.cloneNode(true) );
- html = div.innerHTML;
- }
+ noop: function() {},
- return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0];
- } else
- return this.cloneNode(true);
- });
+ // Evalulates a script in a global context
+ globalEval: function( data ) {
+ if ( data && rnotwhite.test(data) ) {
+ // Inspired by code by Andrea Giammarchi
+ // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
+ var head = document.getElementsByTagName("head")[0] || document.documentElement,
+ script = document.createElement("script");
- // Copy the events from the original to the clone
- if ( events === true ) {
- var orig = this.find("*").andSelf(), i = 0;
+ script.type = "text/javascript";
- ret.find("*").andSelf().each(function(){
- if ( this.nodeName !== orig[i].nodeName )
- return;
+ if ( jQuery.support.scriptEval ) {
+ script.appendChild( document.createTextNode( data ) );
+ } else {
+ script.text = data;
+ }
- var events = jQuery.data( orig[i], "events" );
+ // Use insertBefore instead of appendChild to circumvent an IE6 bug.
+ // This arises when a base node is used (#2709).
+ head.insertBefore( script, head.firstChild );
+ head.removeChild( script );
+ }
+ },
- for ( var type in events ) {
- for ( var handler in events[ type ] ) {
- jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
+ },
+
+ // args is for internal usage only
+ each: function( object, callback, args ) {
+ var name, i = 0,
+ length = object.length,
+ isObj = length === undefined || jQuery.isFunction(object);
+
+ if ( args ) {
+ if ( isObj ) {
+ for ( name in object ) {
+ if ( callback.apply( object[ name ], args ) === false ) {
+ break;
}
}
+ } else {
+ for ( ; i < length; ) {
+ if ( callback.apply( object[ i++ ], args ) === false ) {
+ break;
+ }
+ }
+ }
- i++;
- });
+ // A special, fast, case for the most common use of each
+ } else {
+ if ( isObj ) {
+ for ( name in object ) {
+ if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( var value = object[0];
+ i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {}
+ }
}
- // Return the cloned set
- return ret;
+ return object;
},
- filter: function( selector ) {
- return this.pushStack(
- jQuery.isFunction( selector ) &&
- jQuery.grep(this, function(elem, i){
- return selector.call( elem, i );
- }) ||
-
- jQuery.multiFilter( selector, jQuery.grep(this, function(elem){
- return elem.nodeType === 1;
- }) ), "filter", selector );
- },
-
- closest: function( selector ) {
- var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
- closer = 0;
-
- return this.map(function(){
- var cur = this;
- while ( cur && cur.ownerDocument ) {
- if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
- jQuery.data(cur, "closest", closer);
- return cur;
- }
- cur = cur.parentNode;
- closer++;
- }
- });
+ trim: function( text ) {
+ return (text || "").replace( rtrim, "" );
},
- not: function( selector ) {
- if ( typeof selector === "string" )
- // test special case where just one selector is passed in
- if ( isSimple.test( selector ) )
- return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector );
- else
- selector = jQuery.multiFilter( selector, this );
-
- var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;
- return this.filter(function() {
- return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;
- });
- },
+ // results is for internal usage only
+ makeArray: function( array, results ) {
+ var ret = results || [];
- add: function( selector ) {
- return this.pushStack( jQuery.unique( jQuery.merge(
- this.get(),
- typeof selector === "string" ?
- jQuery( selector ) :
- jQuery.makeArray( selector )
- )));
- },
+ if ( array != null ) {
+ // The window, strings (and functions) also have 'length'
+ // The extra typeof function check is to prevent crashes
+ // in Safari 2 (See: #3039)
+ if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) {
+ push.call( ret, array );
+ } else {
+ jQuery.merge( ret, array );
+ }
+ }
- is: function( selector ) {
- return !!selector && jQuery.multiFilter( selector, this ).length > 0;
+ return ret;
},
- hasClass: function( selector ) {
- return !!selector && this.is( "." + selector );
+ inArray: function( elem, array ) {
+ if ( array.indexOf ) {
+ return array.indexOf( elem );
+ }
+
+ for ( var i = 0, length = array.length; i < length; i++ ) {
+ if ( array[ i ] === elem ) {
+ return i;
+ }
+ }
+
+ return -1;
},
- val: function( value ) {
- if ( value === undefined ) {
- var elem = this[0];
+ merge: function( first, second ) {
+ var i = first.length, j = 0;
- if ( elem ) {
- if( jQuery.nodeName( elem, 'option' ) )
- return (elem.attributes.value || {}).specified ? elem.value : elem.text;
-
- // We need to handle select boxes special
- if ( jQuery.nodeName( elem, "select" ) ) {
- var index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type == "select-one";
+ if ( typeof second.length === "number" ) {
+ for ( var l = second.length; j < l; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+ } else {
+ while ( second[j] !== undefined ) {
+ first[ i++ ] = second[ j++ ];
+ }
+ }
- // Nothing was selected
- if ( index < 0 )
- return null;
+ first.length = i;
- // Loop through all the selected options
- for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
- var option = options[ i ];
+ return first;
+ },
- if ( option.selected ) {
- // Get the specifc value for the option
- value = jQuery(option).val();
+ grep: function( elems, callback, inv ) {
+ var ret = [];
- // We don't need an array for one selects
- if ( one )
- return value;
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( var i = 0, length = elems.length; i < length; i++ ) {
+ if ( !inv !== !callback( elems[ i ], i ) ) {
+ ret.push( elems[ i ] );
+ }
+ }
- // Multi-Selects return an array
- values.push( value );
- }
- }
+ return ret;
+ },
- return values;
- }
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var ret = [], value;
- // Everything else, we just grab the value
- return (elem.value || "").replace(/\r/g, "");
+ // Go through the array, translating each of the items to their
+ // new value (or values).
+ for ( var i = 0, length = elems.length; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+ if ( value != null ) {
+ ret[ ret.length ] = value;
}
-
- return undefined;
}
- if ( typeof value === "number" )
- value += '';
+ return ret.concat.apply( [], ret );
+ },
- return this.each(function(){
- if ( this.nodeType != 1 )
- return;
+ // A global GUID counter for objects
+ guid: 1,
- if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )
- this.checked = (jQuery.inArray(this.value, value) >= 0 ||
- jQuery.inArray(this.name, value) >= 0);
+ proxy: function( fn, proxy, thisObject ) {
+ if ( arguments.length === 2 ) {
+ if ( typeof proxy === "string" ) {
+ thisObject = fn;
+ fn = thisObject[ proxy ];
+ proxy = undefined;
- else if ( jQuery.nodeName( this, "select" ) ) {
- var values = jQuery.makeArray(value);
+ } else if ( proxy && !jQuery.isFunction( proxy ) ) {
+ thisObject = proxy;
+ proxy = undefined;
+ }
+ }
- jQuery( "option", this ).each(function(){
- this.selected = (jQuery.inArray( this.value, values ) >= 0 ||
- jQuery.inArray( this.text, values ) >= 0);
- });
+ if ( !proxy && fn ) {
+ proxy = function() {
+ return fn.apply( thisObject || this, arguments );
+ };
+ }
- if ( !values.length )
- this.selectedIndex = -1;
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ if ( fn ) {
+ proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
+ }
- } else
- this.value = value;
- });
+ // So proxy can be declared as an argument
+ return proxy;
},
- html: function( value ) {
- return value === undefined ?
- (this[0] ?
- this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") :
- null) :
- this.empty().append( value );
- },
+ // Use of jQuery.browser is frowned upon.
+ // More details: http://docs.jquery.com/Utilities/jQuery.browser
+ uaMatch: function( ua ) {
+ ua = ua.toLowerCase();
- replaceWith: function( value ) {
- return this.after( value ).remove();
- },
+ var match = /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+ /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||
+ /(msie) ([\w.]+)/.exec( ua ) ||
+ !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua ) ||
+ [];
- eq: function( i ) {
- return this.slice( i, +i + 1 );
+ return { browser: match[1] || "", version: match[2] || "0" };
},
- slice: function() {
- return this.pushStack( Array.prototype.slice.apply( this, arguments ),
- "slice", Array.prototype.slice.call(arguments).join(",") );
- },
+ browser: {}
+});
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function(elem, i){
- return callback.call( elem, i, elem );
- }));
- },
+browserMatch = jQuery.uaMatch( userAgent );
+if ( browserMatch.browser ) {
+ jQuery.browser[ browserMatch.browser ] = true;
+ jQuery.browser.version = browserMatch.version;
+}
- andSelf: function() {
- return this.add( this.prevObject );
- },
+// Deprecated, use jQuery.browser.webkit instead
+if ( jQuery.browser.webkit ) {
+ jQuery.browser.safari = true;
+}
- domManip: function( args, table, callback ) {
- if ( this[0] ) {
- var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),
- scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),
- first = fragment.firstChild;
-
- if ( first )
- for ( var i = 0, l = this.length; i < l; i++ )
- callback.call( root(this[i], first), this.length > 1 || i > 0 ?
- fragment.cloneNode(true) : fragment );
-
- if ( scripts )
- jQuery.each( scripts, evalScript );
- }
+if ( indexOf ) {
+ jQuery.inArray = function( elem, array ) {
+ return indexOf.call( array, elem );
+ };
+}
- return this;
-
- function root( elem, cur ) {
- return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ?
- (elem.getElementsByTagName("tbody")[0] ||
- elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
- elem;
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+
+// Cleanup functions for the document ready method
+if ( document.addEventListener ) {
+ DOMContentLoaded = function() {
+ document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+ jQuery.ready();
+ };
+
+} else if ( document.attachEvent ) {
+ DOMContentLoaded = function() {
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+ if ( document.readyState === "complete" ) {
+ document.detachEvent( "onreadystatechange", DOMContentLoaded );
+ jQuery.ready();
}
+ };
+}
+
+// The DOM ready check for Internet Explorer
+function doScrollCheck() {
+ if ( jQuery.isReady ) {
+ return;
}
-};
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
+ try {
+ // If IE is used, use the trick by Diego Perini
+ // http://javascript.nwbox.com/IEContentLoaded/
+ document.documentElement.doScroll("left");
+ } catch( error ) {
+ setTimeout( doScrollCheck, 1 );
+ return;
+ }
+
+ // and execute any waiting functions
+ jQuery.ready();
+}
function evalScript( i, elem ) {
- if ( elem.src )
+ if ( elem.src ) {
jQuery.ajax({
url: elem.src,
async: false,
dataType: "script"
});
-
- else
+ } else {
jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
+ }
- if ( elem.parentNode )
+ if ( elem.parentNode ) {
elem.parentNode.removeChild( elem );
+ }
}
-function now(){
- return +new Date;
+// Mutifunctional method to get and set values to a collection
+// The value/s can be optionally by executed if its a function
+function access( elems, key, value, exec, fn, pass ) {
+ var length = elems.length;
+
+ // Setting many attributes
+ if ( typeof key === "object" ) {
+ for ( var k in key ) {
+ access( elems, k, key[k], exec, fn, value );
+ }
+ return elems;
+ }
+
+ // Setting one attribute
+ if ( value !== undefined ) {
+ // Optionally, function values get executed if exec is true
+ exec = !pass && exec && jQuery.isFunction(value);
+
+ for ( var i = 0; i < length; i++ ) {
+ fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
+ }
+
+ return elems;
+ }
+
+ // Getting an attribute
+ return length ? fn( elems[0], key ) : null;
}
-jQuery.extend = jQuery.fn.extend = function() {
- // copy reference to target object
- var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;
+function now() {
+ return (new Date).getTime();
+}
+(function() {
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
+ jQuery.support = {};
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) )
- target = {};
+ var root = document.documentElement,
+ script = document.createElement("script"),
+ div = document.createElement("div"),
+ id = "script" + now();
- // extend jQuery itself if only one argument is passed
- if ( length == i ) {
- target = this;
- --i;
+ div.style.display = "none";
+ div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
+
+ var all = div.getElementsByTagName("*"),
+ a = div.getElementsByTagName("a")[0];
+
+ // Can't get basic test support
+ if ( !all || !all.length || !a ) {
+ return;
}
- for ( ; i < length; i++ )
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null )
- // Extend the base object
- for ( var name in options ) {
- var src = target[ name ], copy = options[ name ];
+ jQuery.support = {
+ // IE strips leading whitespace when .innerHTML is used
+ leadingWhitespace: div.firstChild.nodeType === 3,
- // Prevent never-ending loop
- if ( target === copy )
- continue;
+ // Make sure that tbody elements aren't automatically inserted
+ // IE will insert them into empty tables
+ tbody: !div.getElementsByTagName("tbody").length,
- // Recurse if we're merging object values
- if ( deep && copy && typeof copy === "object" && !copy.nodeType )
- target[ name ] = jQuery.extend( deep,
- // Never move original objects, clone them
- src || ( copy.length != null ? [ ] : { } )
- , copy );
+ // Make sure that link elements get serialized correctly by innerHTML
+ // This requires a wrapper element in IE
+ htmlSerialize: !!div.getElementsByTagName("link").length,
- // Don't bring in undefined values
- else if ( copy !== undefined )
- target[ name ] = copy;
+ // Get the style information from getAttribute
+ // (IE uses .cssText insted)
+ style: /red/.test( a.getAttribute("style") ),
- }
+ // Make sure that URLs aren't manipulated
+ // (IE normalizes it by default)
+ hrefNormalized: a.getAttribute("href") === "/a",
- // Return the modified object
- return target;
-};
+ // Make sure that element opacity exists
+ // (IE uses filter instead)
+ // Use a regex to work around a WebKit issue. See #5145
+ opacity: /^0.55$/.test( a.style.opacity ),
-// exclude the following css properties to add px
-var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
- // cache defaultView
- defaultView = document.defaultView || {},
- toString = Object.prototype.toString;
+ // Verify style float existence
+ // (IE uses styleFloat instead of cssFloat)
+ cssFloat: !!a.style.cssFloat,
-jQuery.extend({
- noConflict: function( deep ) {
- window.$ = _$;
+ // Make sure that if no value is specified for a checkbox
+ // that it defaults to "on".
+ // (WebKit defaults to "" instead)
+ checkOn: div.getElementsByTagName("input")[0].value === "on",
- if ( deep )
- window.jQuery = _jQuery;
+ // Make sure that a selected-by-default option has a working selected property.
+ // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+ optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected,
- return jQuery;
- },
+ // Will be defined later
+ checkClone: false,
+ scriptEval: false,
+ noCloneEvent: true,
+ boxModel: null
+ };
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return toString.call(obj) === "[object Function]";
- },
+ script.type = "text/javascript";
+ try {
+ script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
+ } catch(e) {}
- isArray: function( obj ) {
- return toString.call(obj) === "[object Array]";
- },
+ root.insertBefore( script, root.firstChild );
- // check if an element is in a (or is an) XML document
- isXMLDoc: function( elem ) {
- return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
- !!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );
- },
+ // Make sure that the execution of code works by injecting a script
+ // tag with appendChild/createTextNode
+ // (IE doesn't support this, fails, and uses .text instead)
+ if ( window[ id ] ) {
+ jQuery.support.scriptEval = true;
+ delete window[ id ];
+ }
- // Evalulates a script in a global context
- globalEval: function( data ) {
- if ( data && /\S/.test(data) ) {
- // Inspired by code by Andrea Giammarchi
- // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
- var head = document.getElementsByTagName("head")[0] || document.documentElement,
- script = document.createElement("script");
+ root.removeChild( script );
- script.type = "text/javascript";
- if ( jQuery.support.scriptEval )
- script.appendChild( document.createTextNode( data ) );
- else
- script.text = data;
+ if ( div.attachEvent && div.fireEvent ) {
+ div.attachEvent("onclick", function click() {
+ // Cloning a node shouldn't copy over any
+ // bound event handlers (IE does this)
+ jQuery.support.noCloneEvent = false;
+ div.detachEvent("onclick", click);
+ });
+ div.cloneNode(true).fireEvent("onclick");
+ }
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709).
- head.insertBefore( script, head.firstChild );
- head.removeChild( script );
- }
- },
+ div = document.createElement("div");
+ div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
+ var fragment = document.createDocumentFragment();
+ fragment.appendChild( div.firstChild );
+
+ // WebKit doesn't clone checked state correctly in fragments
+ jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked;
+
+ // Figure out if the W3C box model works as expected
+ // document.body must exist before we can do this
+ jQuery(function() {
+ var div = document.createElement("div");
+ div.style.width = div.style.paddingLeft = "1px";
+
+ document.body.appendChild( div );
+ jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
+ document.body.removeChild( div ).style.display = 'none';
+ div = null;
+ });
+
+ // Technique from Juriy Zaytsev
+ // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
+ var eventSupported = function( eventName ) {
+ var el = document.createElement("div");
+ eventName = "on" + eventName;
+
+ var isSupported = (eventName in el);
+ if ( !isSupported ) {
+ el.setAttribute(eventName, "return;");
+ isSupported = typeof el[eventName] === "function";
+ }
+ el = null;
+
+ return isSupported;
+ };
+
+ jQuery.support.submitBubbles = eventSupported("submit");
+ jQuery.support.changeBubbles = eventSupported("change");
+
+ // release memory in IE
+ root = script = div = all = a = null;
+})();
+
+jQuery.props = {
+ "for": "htmlFor",
+ "class": "className",
+ readonly: "readOnly",
+ maxlength: "maxLength",
+ cellspacing: "cellSpacing",
+ rowspan: "rowSpan",
+ colspan: "colSpan",
+ tabindex: "tabIndex",
+ usemap: "useMap",
+ frameborder: "frameBorder"
+};
+var expando = "jQuery" + now(), uuid = 0, windowData = {};
+var emptyObject = {};
+
+jQuery.extend({
+ cache: {},
+
+ expando:expando,
+
+ // The following elements throw uncatchable exceptions if you
+ // attempt to add expando properties to them.
+ noData: {
+ "embed": true,
+ "object": true,
+ "applet": true
},
- // args is for internal usage only
- each: function( object, callback, args ) {
- var name, i = 0, length = object.length;
+ data: function( elem, name, data ) {
+ if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
+ return;
+ }
- if ( args ) {
- if ( length === undefined ) {
- for ( name in object )
- if ( callback.apply( object[ name ], args ) === false )
- break;
- } else
- for ( ; i < length; )
- if ( callback.apply( object[ i++ ], args ) === false )
- break;
+ elem = elem == window ?
+ windowData :
+ elem;
- // A special, fast, case for the most common use of each
+ var id = elem[ expando ], cache = jQuery.cache, thisCache;
+
+ // Handle the case where there's no name immediately
+ if ( !name && !id ) {
+ return null;
+ }
+
+ // Compute a unique ID for the element
+ if ( !id ) {
+ id = ++uuid;
+ }
+
+ // Avoid generating a new cache unless none exists and we
+ // want to manipulate it.
+ if ( typeof name === "object" ) {
+ elem[ expando ] = id;
+ thisCache = cache[ id ] = jQuery.extend(true, {}, name);
+ } else if ( cache[ id ] ) {
+ thisCache = cache[ id ];
+ } else if ( typeof data === "undefined" ) {
+ thisCache = emptyObject;
} else {
- if ( length === undefined ) {
- for ( name in object )
- if ( callback.call( object[ name ], name, object[ name ] ) === false )
- break;
- } else
- for ( var value = object[0];
- i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
+ thisCache = cache[ id ] = {};
}
- return object;
+ // Prevent overriding the named cache with undefined values
+ if ( data !== undefined ) {
+ elem[ expando ] = id;
+ thisCache[ name ] = data;
+ }
+
+ return typeof name === "string" ? thisCache[ name ] : thisCache;
},
- prop: function( elem, value, type, i, name ) {
- // Handle executable functions
- if ( jQuery.isFunction( value ) )
- value = value.call( elem, i );
+ removeData: function( elem, name ) {
+ if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
+ return;
+ }
- // Handle passing in a number to a CSS property
- return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ?
- value + "px" :
- value;
- },
+ elem = elem == window ?
+ windowData :
+ elem;
+
+ var id = elem[ expando ], cache = jQuery.cache, thisCache = cache[ id ];
+
+ // If we want to remove a specific section of the element's data
+ if ( name ) {
+ if ( thisCache ) {
+ // Remove the section of cache data
+ delete thisCache[ name ];
+
+ // If we've removed all the data, remove the element's cache
+ if ( jQuery.isEmptyObject(thisCache) ) {
+ jQuery.removeData( elem );
+ }
+ }
+
+ // Otherwise, we want to remove all of the element's data
+ } else {
+ // Clean up the element expando
+ try {
+ delete elem[ expando ];
+ } catch( e ) {
+ // IE has trouble directly removing the expando
+ // but it's ok with using removeAttribute
+ if ( elem.removeAttribute ) {
+ elem.removeAttribute( expando );
+ }
+ }
+
+ // Completely remove the data cache
+ delete cache[ id ];
+ }
+ }
+});
- className: {
- // internal only, use addClass("class")
- add: function( elem, classNames ) {
- jQuery.each((classNames || "").split(/\s+/), function(i, className){
- if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )
- elem.className += (elem.className ? " " : "") + className;
+jQuery.fn.extend({
+ data: function( key, value ) {
+ if ( typeof key === "undefined" && this.length ) {
+ return jQuery.data( this[0] );
+
+ } else if ( typeof key === "object" ) {
+ return this.each(function() {
+ jQuery.data( this, key );
});
- },
+ }
- // internal only, use removeClass("class")
- remove: function( elem, classNames ) {
- if (elem.nodeType == 1)
- elem.className = classNames !== undefined ?
- jQuery.grep(elem.className.split(/\s+/), function(className){
- return !jQuery.className.has( classNames, className );
- }).join(" ") :
- "";
- },
+ var parts = key.split(".");
+ parts[1] = parts[1] ? "." + parts[1] : "";
- // internal only, use hasClass("class")
- has: function( elem, className ) {
- return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1;
+ if ( value === undefined ) {
+ var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+ if ( data === undefined && this.length ) {
+ data = jQuery.data( this[0], key );
+ }
+ return data === undefined && parts[1] ?
+ this.data( parts[0] ) :
+ data;
+ } else {
+ return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() {
+ jQuery.data( this, key, value );
+ });
}
},
- // A method for quickly swapping in/out CSS properties to get correct calculations
- swap: function( elem, options, callback ) {
- var old = {};
- // Remember the old values, and insert the new ones
- for ( var name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
+ removeData: function( key ) {
+ return this.each(function() {
+ jQuery.removeData( this, key );
+ });
+ }
+});
+jQuery.extend({
+ queue: function( elem, type, data ) {
+ if ( !elem ) {
+ return;
}
- callback.call( elem );
+ type = (type || "fx") + "queue";
+ var q = jQuery.data( elem, type );
- // Revert the old values
- for ( var name in options )
- elem.style[ name ] = old[ name ];
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( !data ) {
+ return q || [];
+ }
+
+ if ( !q || jQuery.isArray(data) ) {
+ q = jQuery.data( elem, type, jQuery.makeArray(data) );
+
+ } else {
+ q.push( data );
+ }
+
+ return q;
},
- css: function( elem, name, force, extra ) {
- if ( name == "width" || name == "height" ) {
- var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
+ dequeue: function( elem, type ) {
+ type = type || "fx";
- function getWH() {
- val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
+ var queue = jQuery.queue( elem, type ), fn = queue.shift();
- if ( extra === "border" )
- return;
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ }
- jQuery.each( which, function() {
- if ( !extra )
- val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
- if ( extra === "margin" )
- val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
- else
- val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
- });
+ if ( fn ) {
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift("inprogress");
}
- if ( elem.offsetWidth !== 0 )
- getWH();
- else
- jQuery.swap( elem, props, getWH );
+ fn.call(elem, function() {
+ jQuery.dequeue(elem, type);
+ });
+ }
+ }
+});
- return Math.max(0, Math.round(val));
+jQuery.fn.extend({
+ queue: function( type, data ) {
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
}
- return jQuery.curCSS( elem, name, force );
- },
+ if ( data === undefined ) {
+ return jQuery.queue( this[0], type );
+ }
+ return this.each(function( i, elem ) {
+ var queue = jQuery.queue( this, type, data );
- curCSS: function( elem, name, force ) {
- var ret, style = elem.style;
+ if ( type === "fx" && queue[0] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ });
+ },
+ dequeue: function( type ) {
+ return this.each(function() {
+ jQuery.dequeue( this, type );
+ });
+ },
- // We need to handle opacity special in IE
- if ( name == "opacity" && !jQuery.support.opacity ) {
- ret = jQuery.attr( style, "opacity" );
+ // Based off of the plugin by Clint Helfers, with permission.
+ // http://blindsignals.com/index.php/2009/07/jquery-delay/
+ delay: function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function() {
+ var elem = this;
+ setTimeout(function() {
+ jQuery.dequeue( elem, type );
+ }, time );
+ });
+ },
- return ret == "" ?
- "1" :
- ret;
- }
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ }
+});
+var rclass = /[\n\t]/g,
+ rspace = /\s+/,
+ rreturn = /\r/g,
+ rspecialurl = /href|src|style/,
+ rtype = /(button|input)/i,
+ rfocusable = /(button|input|object|select|textarea)/i,
+ rclickable = /^(a|area)$/i,
+ rradiocheck = /radio|checkbox/;
- // Make sure we're using the right name for getting the float value
- if ( name.match( /float/i ) )
- name = styleFloat;
+jQuery.fn.extend({
+ attr: function( name, value ) {
+ return access( this, name, value, true, jQuery.attr );
+ },
- if ( !force && style && style[ name ] )
- ret = style[ name ];
+ removeAttr: function( name, fn ) {
+ return this.each(function(){
+ jQuery.attr( this, name, "" );
+ if ( this.nodeType === 1 ) {
+ this.removeAttribute( name );
+ }
+ });
+ },
- else if ( defaultView.getComputedStyle ) {
+ addClass: function( value ) {
+ if ( jQuery.isFunction(value) ) {
+ return this.each(function(i) {
+ var self = jQuery(this);
+ self.addClass( value.call(this, i, self.attr("class")) );
+ });
+ }
- // Only "float" is needed here
- if ( name.match( /float/i ) )
- name = "float";
+ if ( value && typeof value === "string" ) {
+ var classNames = (value || "").split( rspace );
- name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase();
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ var elem = this[i];
- var computedStyle = defaultView.getComputedStyle( elem, null );
+ if ( elem.nodeType === 1 ) {
+ if ( !elem.className ) {
+ elem.className = value;
- if ( computedStyle )
- ret = computedStyle.getPropertyValue( name );
+ } else {
+ var className = " " + elem.className + " ";
+ for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
+ if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
+ elem.className += " " + classNames[c];
+ }
+ }
+ }
+ }
+ }
+ }
- // We should always get a number back from opacity
- if ( name == "opacity" && ret == "" )
- ret = "1";
+ return this;
+ },
- } else if ( elem.currentStyle ) {
- var camelCase = name.replace(/\-(\w)/g, function(all, letter){
- return letter.toUpperCase();
+ removeClass: function( value ) {
+ if ( jQuery.isFunction(value) ) {
+ return this.each(function(i) {
+ var self = jQuery(this);
+ self.removeClass( value.call(this, i, self.attr("class")) );
});
+ }
- ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
+ if ( (value && typeof value === "string") || value === undefined ) {
+ var classNames = (value || "").split(rspace);
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ var elem = this[i];
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
- // Remember the original values
- var left = style.left, rsLeft = elem.runtimeStyle.left;
-
- // Put in the new values to get a computed value out
- elem.runtimeStyle.left = elem.currentStyle.left;
- style.left = ret || 0;
- ret = style.pixelLeft + "px";
+ if ( elem.nodeType === 1 && elem.className ) {
+ if ( value ) {
+ var className = (" " + elem.className + " ").replace(rclass, " ");
+ for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
+ className = className.replace(" " + classNames[c] + " ", " ");
+ }
+ elem.className = className.substring(1, className.length - 1);
- // Revert the changed values
- style.left = left;
- elem.runtimeStyle.left = rsLeft;
+ } else {
+ elem.className = "";
+ }
+ }
}
}
- return ret;
+ return this;
},
- clean: function( elems, context, fragment ) {
- context = context || document;
-
- // !context.createElement fails in IE with an error but returns typeof 'object'
- if ( typeof context.createElement === "undefined" )
- context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value, isBool = typeof stateVal === "boolean";
- // If a single string is passed in and it's a single tag
- // just do a createElement and skip the rest
- if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) {
- var match = /^<(\w+)\s*\/?>$/.exec(elems[0]);
- if ( match )
- return [ context.createElement( match[1] ) ];
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function(i) {
+ var self = jQuery(this);
+ self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
+ });
}
- var ret = [], scripts = [], div = context.createElement("div");
+ return this.each(function() {
+ if ( type === "string" ) {
+ // toggle individual class names
+ var className, i = 0, self = jQuery(this),
+ state = stateVal,
+ classNames = value.split( rspace );
+
+ while ( (className = classNames[ i++ ]) ) {
+ // check each className given, space seperated list
+ state = isBool ? state : !self.hasClass( className );
+ self[ state ? "addClass" : "removeClass" ]( className );
+ }
- jQuery.each(elems, function(i, elem){
- if ( typeof elem === "number" )
- elem += '';
+ } else if ( type === "undefined" || type === "boolean" ) {
+ if ( this.className ) {
+ // store className if set
+ jQuery.data( this, "__className__", this.className );
+ }
- if ( !elem )
- return;
+ // toggle whole className
+ this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || "";
+ }
+ });
+ },
- // Convert html string into DOM nodes
- if ( typeof elem === "string" ) {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){
- return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?
- all :
- front + "></" + tag + ">";
- });
+ hasClass: function( selector ) {
+ var className = " " + selector + " ";
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
+ return true;
+ }
+ }
- // Trim whitespace, otherwise indexOf won't work as expected
- var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();
+ return false;
+ },
- var wrap =
- // option or optgroup
- !tags.indexOf("<opt") &&
- [ 1, "<select multiple='multiple'>", "</select>" ] ||
+ val: function( value ) {
+ if ( value === undefined ) {
+ var elem = this[0];
- !tags.indexOf("<leg") &&
- [ 1, "<fieldset>", "</fieldset>" ] ||
+ if ( elem ) {
+ if ( jQuery.nodeName( elem, "option" ) ) {
+ return (elem.attributes.value || {}).specified ? elem.value : elem.text;
+ }
- tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
- [ 1, "<table>", "</table>" ] ||
+ // We need to handle select boxes special
+ if ( jQuery.nodeName( elem, "select" ) ) {
+ var index = elem.selectedIndex,
+ values = [],
+ options = elem.options,
+ one = elem.type === "select-one";
- !tags.indexOf("<tr") &&
- [ 2, "<table><tbody>", "</tbody></table>" ] ||
+ // Nothing was selected
+ if ( index < 0 ) {
+ return null;
+ }
- // <thead> matched above
- (!tags.indexOf("<td") || !tags.indexOf("<th")) &&
- [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||
+ // Loop through all the selected options
+ for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
+ var option = options[ i ];
- !tags.indexOf("<col") &&
- [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||
+ if ( option.selected ) {
+ // Get the specifc value for the option
+ value = jQuery(option).val();
- // IE can't serialize <link> and <script> tags normally
- !jQuery.support.htmlSerialize &&
- [ 1, "div<div>", "</div>" ] ||
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
- [ 0, "", "" ];
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
- // Go to html and back, then peel off extra wrappers
- div.innerHTML = wrap[1] + elem + wrap[2];
+ return values;
+ }
- // Move to the right depth
- while ( wrap[0]-- )
- div = div.lastChild;
+ // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
+ if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
+ return elem.getAttribute("value") === null ? "on" : elem.value;
+ }
+
- // Remove IE's autoinserted <tbody> from table fragments
- if ( !jQuery.support.tbody ) {
+ // Everything else, we just grab the value
+ return (elem.value || "").replace(rreturn, "");
- // String was a <table>, *may* have spurious <tbody>
- var hasBody = /<tbody/i.test(elem),
- tbody = !tags.indexOf("<table") && !hasBody ?
- div.firstChild && div.firstChild.childNodes :
+ }
- // String was a bare <thead> or <tfoot>
- wrap[1] == "<table>" && !hasBody ?
- div.childNodes :
- [];
+ return undefined;
+ }
- for ( var j = tbody.length - 1; j >= 0 ; --j )
- if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length )
- tbody[ j ].parentNode.removeChild( tbody[ j ] );
+ var isFunction = jQuery.isFunction(value);
- }
+ return this.each(function(i) {
+ var self = jQuery(this), val = value;
- // IE completely kills leading whitespace when innerHTML is used
- if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
- div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
-
- elem = jQuery.makeArray( div.childNodes );
+ if ( this.nodeType !== 1 ) {
+ return;
}
- if ( elem.nodeType )
- ret.push( elem );
- else
- ret = jQuery.merge( ret, elem );
+ if ( isFunction ) {
+ val = value.call(this, i, self.val());
+ }
- });
+ // Typecast each time if the value is a Function and the appended
+ // value is therefore different each time.
+ if ( typeof val === "number" ) {
+ val += "";
+ }
- if ( fragment ) {
- for ( var i = 0; ret[i]; i++ ) {
- if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
- scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
- } else {
- if ( ret[i].nodeType === 1 )
- ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
- fragment.appendChild( ret[i] );
+ if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
+ this.checked = jQuery.inArray( self.val(), val ) >= 0;
+
+ } else if ( jQuery.nodeName( this, "select" ) ) {
+ var values = jQuery.makeArray(val);
+
+ jQuery( "option", this ).each(function() {
+ this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
+ });
+
+ if ( !values.length ) {
+ this.selectedIndex = -1;
}
+
+ } else {
+ this.value = val;
}
-
- return scripts;
- }
+ });
+ }
+});
- return ret;
+jQuery.extend({
+ attrFn: {
+ val: true,
+ css: true,
+ html: true,
+ text: true,
+ data: true,
+ width: true,
+ height: true,
+ offset: true
},
-
- attr: function( elem, name, value ) {
+
+ attr: function( elem, name, value, pass ) {
// don't set attributes on text and comment nodes
- if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
return undefined;
+ }
+
+ if ( pass && name in jQuery.attrFn ) {
+ return jQuery(elem)[name](value);
+ }
- var notxml = !jQuery.isXMLDoc( elem ),
+ var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
// Whether we are setting (or getting)
set = value !== undefined;
@@ -977,472 +1448,1120 @@ jQuery.extend({
name = notxml && jQuery.props[ name ] || name;
// Only do all the following if this is a node (faster for style)
- // IE elem.getAttribute passes even for style
- if ( elem.tagName ) {
-
+ if ( elem.nodeType === 1 ) {
// These attributes require special treatment
- var special = /href|src|style/.test( name );
+ var special = rspecialurl.test( name );
- // Safari mis-reports the default selected property of a hidden option
+ // Safari mis-reports the default selected property of an option
// Accessing the parent's selectedIndex property fixes it
- if ( name == "selected" && elem.parentNode )
- elem.parentNode.selectedIndex;
+ if ( name === "selected" && !jQuery.support.optSelected ) {
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ // Make sure that it also works with optgroups, see #5701
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
// If applicable, access the attribute via the DOM 0 way
if ( name in elem && notxml && !special ) {
- if ( set ){
+ if ( set ) {
// We can't allow the type property to be changed (since it causes problems in IE)
- if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
- throw "type property can't be changed";
+ if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
+ jQuery.error( "type property can't be changed" );
+ }
elem[ name ] = value;
}
// browsers index elements by id/name on forms, give priority to attributes.
- if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )
+ if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
return elem.getAttributeNode( name ).nodeValue;
+ }
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- if ( name == "tabIndex" ) {
+ if ( name === "tabIndex" ) {
var attributeNode = elem.getAttributeNode( "tabIndex" );
- return attributeNode && attributeNode.specified
- ? attributeNode.value
- : elem.nodeName.match(/(button|input|object|select|textarea)/i)
- ? 0
- : elem.nodeName.match(/^(a|area)$/i) && elem.href
- ? 0
- : undefined;
+
+ return attributeNode && attributeNode.specified ?
+ attributeNode.value :
+ rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
+ 0 :
+ undefined;
}
return elem[ name ];
}
- if ( !jQuery.support.style && notxml && name == "style" )
- return jQuery.attr( elem.style, "cssText", value );
+ if ( !jQuery.support.style && notxml && name === "style" ) {
+ if ( set ) {
+ elem.style.cssText = "" + value;
+ }
+
+ return elem.style.cssText;
+ }
- if ( set )
+ if ( set ) {
// convert the value to a string (all browsers do this but IE) see #1070
elem.setAttribute( name, "" + value );
+ }
- var attr = !jQuery.support.hrefNormalized && notxml && special
+ var attr = !jQuery.support.hrefNormalized && notxml && special ?
// Some attributes require a special call on IE
- ? elem.getAttribute( name, 2 )
- : elem.getAttribute( name );
+ elem.getAttribute( name, 2 ) :
+ elem.getAttribute( name );
// Non-existent attributes return null, we normalize to undefined
return attr === null ? undefined : attr;
}
// elem is actually elem.style ... set the style
+ // Using attr for specific style information is now deprecated. Use style insead.
+ return jQuery.style( elem, name, value );
+ }
+});
+var fcleanup = function( nm ) {
+ return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {
+ return "\\" + ch;
+ });
+};
- // IE uses filters for opacity
- if ( !jQuery.support.opacity && name == "opacity" ) {
- if ( set ) {
- // IE has trouble with opacity if it does not have layout
- // Force it by setting the zoom level
- elem.zoom = 1;
+/*
+ * A number of helper functions used for managing events.
+ * Many of the ideas behind this code originated from
+ * Dean Edwards' addEvent library.
+ */
+jQuery.event = {
- // Set the alpha filter to set the opacity
- elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +
- (parseInt( value ) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
- }
+ // Bind an event to an element
+ // Original by Dean Edwards
+ add: function( elem, types, handler, data ) {
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
- return elem.filter && elem.filter.indexOf("opacity=") >= 0 ?
- (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':
- "";
+ // For whatever reason, IE has trouble passing the window object
+ // around, causing it to be cloned in the process
+ if ( elem.setInterval && ( elem !== window && !elem.frameElement ) ) {
+ elem = window;
}
- name = name.replace(/-([a-z])/ig, function(all, letter){
- return letter.toUpperCase();
- });
+ // Make sure that the function being executed has a unique ID
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
- if ( set )
- elem[ name ] = value;
+ // if data is passed, bind to handler
+ if ( data !== undefined ) {
+ // Create temporary function pointer to original handler
+ var fn = handler;
- return elem[ name ];
- },
+ // Create unique handler function, wrapped around original handler
+ handler = jQuery.proxy( fn );
- trim: function( text ) {
- return (text || "").replace( /^\s+|\s+$/g, "" );
- },
+ // Store data in unique handler
+ handler.data = data;
+ }
- makeArray: function( array ) {
- var ret = [];
+ // Init the element's event structure
+ var events = jQuery.data( elem, "events" ) || jQuery.data( elem, "events", {} ),
+ handle = jQuery.data( elem, "handle" ), eventHandle;
- if( array != null ){
- var i = array.length;
- // The window, strings (and functions) also have 'length'
- if( i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval )
- ret[0] = array;
- else
- while( i )
- ret[--i] = array[i];
+ if ( !handle ) {
+ eventHandle = function() {
+ // Handle the second event of a trigger and when
+ // an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
+ jQuery.event.handle.apply( eventHandle.elem, arguments ) :
+ undefined;
+ };
+
+ handle = jQuery.data( elem, "handle", eventHandle );
}
- return ret;
- },
+ // If no handle is found then we must be trying to bind to one of the
+ // banned noData elements
+ if ( !handle ) {
+ return;
+ }
- inArray: function( elem, array ) {
- for ( var i = 0, length = array.length; i < length; i++ )
- // Use === because on IE, window == document
- if ( array[ i ] === elem )
- return i;
+ // Add elem as a property of the handle function
+ // This is to prevent a memory leak with non-native
+ // event in IE.
+ handle.elem = elem;
- return -1;
+ // Handle multiple events separated by a space
+ // jQuery(...).bind("mouseover mouseout", fn);
+ types = types.split( /\s+/ );
+
+ var type, i = 0;
+
+ while ( (type = types[ i++ ]) ) {
+ // Namespaced event handlers
+ var namespaces = type.split(".");
+ type = namespaces.shift();
+
+ if ( i > 1 ) {
+ handler = jQuery.proxy( handler );
+
+ if ( data !== undefined ) {
+ handler.data = data;
+ }
+ }
+
+ handler.type = namespaces.slice(0).sort().join(".");
+
+ // Get the current list of functions bound to this event
+ var handlers = events[ type ],
+ special = this.special[ type ] || {};
+
+ // Init the event handler queue
+ if ( !handlers ) {
+ handlers = events[ type ] = {};
+
+ // Check for a special event handler
+ // Only use addEventListener/attachEvent if the special
+ // events handler returns false
+ if ( !special.setup || special.setup.call( elem, data, namespaces, handler) === false ) {
+ // Bind the global event handler to the element
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, handle, false );
+ } else if ( elem.attachEvent ) {
+ elem.attachEvent( "on" + type, handle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ var modifiedHandler = special.add.call( elem, handler, data, namespaces, handlers );
+ if ( modifiedHandler && jQuery.isFunction( modifiedHandler ) ) {
+ modifiedHandler.guid = modifiedHandler.guid || handler.guid;
+ modifiedHandler.data = modifiedHandler.data || handler.data;
+ modifiedHandler.type = modifiedHandler.type || handler.type;
+ handler = modifiedHandler;
+ }
+ }
+
+ // Add the function to the element's handler list
+ handlers[ handler.guid ] = handler;
+
+ // Keep track of which events have been used, for global triggering
+ this.global[ type ] = true;
+ }
+
+ // Nullify elem to prevent memory leaks in IE
+ elem = null;
},
- merge: function( first, second ) {
- // We have to loop this way because IE & Opera overwrite the length
- // expando of getElementsByTagName
- var i = 0, elem, pos = first.length;
- // Also, we need to make sure that the correct elements are being returned
- // (IE returns comment nodes in a '*' query)
- if ( !jQuery.support.getAll ) {
- while ( (elem = second[ i++ ]) != null )
- if ( elem.nodeType != 8 )
- first[ pos++ ] = elem;
-
- } else
- while ( (elem = second[ i++ ]) != null )
- first[ pos++ ] = elem;
+ global: {},
- return first;
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler ) {
+ // don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ var events = jQuery.data( elem, "events" ), ret, type, fn;
+
+ if ( events ) {
+ // Unbind all events for the element
+ if ( types === undefined || (typeof types === "string" && types.charAt(0) === ".") ) {
+ for ( type in events ) {
+ this.remove( elem, type + (types || "") );
+ }
+ } else {
+ // types is actually an event object here
+ if ( types.type ) {
+ handler = types.handler;
+ types = types.type;
+ }
+
+ // Handle multiple events separated by a space
+ // jQuery(...).unbind("mouseover mouseout", fn);
+ types = types.split(/\s+/);
+ var i = 0;
+ while ( (type = types[ i++ ]) ) {
+ // Namespaced event handlers
+ var namespaces = type.split(".");
+ type = namespaces.shift();
+ var all = !namespaces.length,
+ cleaned = jQuery.map( namespaces.slice(0).sort(), fcleanup ),
+ namespace = new RegExp("(^|\\.)" + cleaned.join("\\.(?:.*\\.)?") + "(\\.|$)"),
+ special = this.special[ type ] || {};
+
+ if ( events[ type ] ) {
+ // remove the given handler for the given type
+ if ( handler ) {
+ fn = events[ type ][ handler.guid ];
+ delete events[ type ][ handler.guid ];
+
+ // remove all handlers for the given type
+ } else {
+ for ( var handle in events[ type ] ) {
+ // Handle the removal of namespaced events
+ if ( all || namespace.test( events[ type ][ handle ].type ) ) {
+ delete events[ type ][ handle ];
+ }
+ }
+ }
+
+ if ( special.remove ) {
+ special.remove.call( elem, namespaces, fn);
+ }
+
+ // remove generic event handler if no more handlers exist
+ for ( ret in events[ type ] ) {
+ break;
+ }
+ if ( !ret ) {
+ if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, jQuery.data( elem, "handle" ), false );
+ } else if ( elem.detachEvent ) {
+ elem.detachEvent( "on" + type, jQuery.data( elem, "handle" ) );
+ }
+ }
+ ret = null;
+ delete events[ type ];
+ }
+ }
+ }
+ }
+
+ // Remove the expando if it's no longer used
+ for ( ret in events ) {
+ break;
+ }
+ if ( !ret ) {
+ var handle = jQuery.data( elem, "handle" );
+ if ( handle ) {
+ handle.elem = null;
+ }
+ jQuery.removeData( elem, "events" );
+ jQuery.removeData( elem, "handle" );
+ }
+ }
},
- unique: function( array ) {
- var ret = [], done = {};
+ // bubbling is internal
+ trigger: function( event, data, elem /*, bubbling */ ) {
+ // Event object or event type
+ var type = event.type || event,
+ bubbling = arguments[3];
+
+ if ( !bubbling ) {
+ event = typeof event === "object" ?
+ // jQuery.Event object
+ event[expando] ? event :
+ // Object literal
+ jQuery.extend( jQuery.Event(type), event ) :
+ // Just the event type (string)
+ jQuery.Event(type);
+
+ if ( type.indexOf("!") >= 0 ) {
+ event.type = type = type.slice(0, -1);
+ event.exclusive = true;
+ }
+
+ // Handle a global trigger
+ if ( !elem ) {
+ // Don't bubble custom events when global (to avoid too much overhead)
+ event.stopPropagation();
+
+ // Only trigger if we've ever bound an event for it
+ if ( this.global[ type ] ) {
+ jQuery.each( jQuery.cache, function() {
+ if ( this.events && this.events[type] ) {
+ jQuery.event.trigger( event, data, this.handle.elem );
+ }
+ });
+ }
+ }
+
+ // Handle triggering a single element
+
+ // don't do events on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return undefined;
+ }
+
+ // Clean up in case it is reused
+ event.result = undefined;
+ event.target = elem;
+
+ // Clone the incoming data, if any
+ data = jQuery.makeArray( data );
+ data.unshift( event );
+ }
+
+ event.currentTarget = elem;
+
+ // Trigger the event, it is assumed that "handle" is a function
+ var handle = jQuery.data( elem, "handle" );
+ if ( handle ) {
+ handle.apply( elem, data );
+ }
+
+ var parent = elem.parentNode || elem.ownerDocument;
+ // Trigger an inline bound script
try {
+ if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
+ if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) {
+ event.result = false;
+ }
+ }
+
+ // prevent IE from throwing an error for some elements with some event types, see #3533
+ } catch (e) {}
- for ( var i = 0, length = array.length; i < length; i++ ) {
- var id = jQuery.data( array[ i ] );
+ if ( !event.isPropagationStopped() && parent ) {
+ jQuery.event.trigger( event, data, parent, true );
- if ( !done[ id ] ) {
- done[ id ] = true;
- ret.push( array[ i ] );
+ } else if ( !event.isDefaultPrevented() ) {
+ var target = event.target, old,
+ isClick = jQuery.nodeName(target, "a") && type === "click";
+
+ if ( !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
+ try {
+ if ( target[ type ] ) {
+ // Make sure that we don't accidentally re-trigger the onFOO events
+ old = target[ "on" + type ];
+
+ if ( old ) {
+ target[ "on" + type ] = null;
+ }
+
+ this.triggered = true;
+ target[ type ]();
+ }
+
+ // prevent IE from throwing an error for some elements with some event types, see #3533
+ } catch (e) {}
+
+ if ( old ) {
+ target[ "on" + type ] = old;
}
+
+ this.triggered = false;
}
+ }
+ },
+
+ handle: function( event ) {
+ // returned undefined or false
+ var all, handlers;
+
+ event = arguments[0] = jQuery.event.fix( event || window.event );
+ event.currentTarget = this;
+
+ // Namespaced event handlers
+ var namespaces = event.type.split(".");
+ event.type = namespaces.shift();
+
+ // Cache this now, all = true means, any handler
+ all = !namespaces.length && !event.exclusive;
+
+ var namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
+
+ handlers = ( jQuery.data(this, "events") || {} )[ event.type ];
+
+ for ( var j in handlers ) {
+ var handler = handlers[ j ];
+
+ // Filter the functions by class
+ if ( all || namespace.test(handler.type) ) {
+ // Pass in a reference to the handler function itself
+ // So that we can later remove it
+ event.handler = handler;
+ event.data = handler.data;
+
+ var ret = handler.apply( this, arguments );
+
+ if ( ret !== undefined ) {
+ event.result = ret;
+ if ( ret === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
- } catch( e ) {
- ret = array;
+ if ( event.isImmediatePropagationStopped() ) {
+ break;
+ }
+
+ }
}
- return ret;
+ return event.result;
},
- grep: function( elems, callback, inv ) {
- var ret = [];
+ props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ )
- if ( !inv != !callback( elems[ i ], i ) )
- ret.push( elems[ i ] );
+ fix: function( event ) {
+ if ( event[ expando ] ) {
+ return event;
+ }
- return ret;
+ // store a copy of the original event object
+ // and "clone" to set read-only properties
+ var originalEvent = event;
+ event = jQuery.Event( originalEvent );
+
+ for ( var i = this.props.length, prop; i; ) {
+ prop = this.props[ --i ];
+ event[ prop ] = originalEvent[ prop ];
+ }
+
+ // Fix target property, if necessary
+ if ( !event.target ) {
+ event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
+ }
+
+ // check if target is a textnode (safari)
+ if ( event.target.nodeType === 3 ) {
+ event.target = event.target.parentNode;
+ }
+
+ // Add relatedTarget, if necessary
+ if ( !event.relatedTarget && event.fromElement ) {
+ event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
+ }
+
+ // Calculate pageX/Y if missing and clientX/Y available
+ if ( event.pageX == null && event.clientX != null ) {
+ var doc = document.documentElement, body = document.body;
+ event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
+ event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
+ }
+
+ // Add which for key events
+ if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) {
+ event.which = event.charCode || event.keyCode;
+ }
+
+ // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
+ if ( !event.metaKey && event.ctrlKey ) {
+ event.metaKey = event.ctrlKey;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ // Note: button is not normalized, so don't use it
+ if ( !event.which && event.button !== undefined ) {
+ event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
+ }
+
+ return event;
},
- map: function( elems, callback ) {
- var ret = [];
+ // Deprecated, use jQuery.guid instead
+ guid: 1E8,
- // Go through the array, translating each of the items to their
- // new value (or values).
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- var value = callback( elems[ i ], i );
+ // Deprecated, use jQuery.proxy instead
+ proxy: jQuery.proxy,
- if ( value != null )
- ret[ ret.length ] = value;
+ special: {
+ ready: {
+ // Make sure the ready event is setup
+ setup: jQuery.bindReady,
+ teardown: jQuery.noop
+ },
+
+ live: {
+ add: function( proxy, data, namespaces, live ) {
+ jQuery.extend( proxy, data || {} );
+
+ proxy.guid += data.selector + data.live;
+ data.liveProxy = proxy;
+
+ jQuery.event.add( this, data.live, liveHandler, data );
+
+ },
+
+ remove: function( namespaces ) {
+ if ( namespaces.length ) {
+ var remove = 0, name = new RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
+
+ jQuery.each( (jQuery.data(this, "events").live || {}), function() {
+ if ( name.test(this.type) ) {
+ remove++;
+ }
+ });
+
+ if ( remove < 1 ) {
+ jQuery.event.remove( this, namespaces[0], liveHandler );
+ }
+ }
+ },
+ special: {}
+ },
+ beforeunload: {
+ setup: function( data, namespaces, fn ) {
+ // We only want to do this special case on windows
+ if ( this.setInterval ) {
+ this.onbeforeunload = fn;
+ }
+
+ return false;
+ },
+ teardown: function( namespaces, fn ) {
+ if ( this.onbeforeunload === fn ) {
+ this.onbeforeunload = null;
+ }
+ }
}
+ }
+};
- return ret.concat.apply( [], ret );
+jQuery.Event = function( src ) {
+ // Allow instantiation without the 'new' keyword
+ if ( !this.preventDefault ) {
+ return new jQuery.Event( src );
}
-});
-// Use of jQuery.browser is deprecated.
-// It's included for backwards compatibility and plugins,
-// although they should work to migrate away.
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+ // Event type
+ } else {
+ this.type = src;
+ }
-var userAgent = navigator.userAgent.toLowerCase();
+ // timeStamp is buggy for some events on Firefox(#3843)
+ // So we won't rely on the native value
+ this.timeStamp = now();
-// Figure out what browser is being used
-jQuery.browser = {
- version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
- safari: /webkit/.test( userAgent ),
- opera: /opera/.test( userAgent ),
- msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
- mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
+ // Mark it as fixed
+ this[ expando ] = true;
};
-jQuery.each({
- parent: function(elem){return elem.parentNode;},
- parents: function(elem){return jQuery.dir(elem,"parentNode");},
- next: function(elem){return jQuery.nth(elem,2,"nextSibling");},
- prev: function(elem){return jQuery.nth(elem,2,"previousSibling");},
- nextAll: function(elem){return jQuery.dir(elem,"nextSibling");},
- prevAll: function(elem){return jQuery.dir(elem,"previousSibling");},
- siblings: function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},
- children: function(elem){return jQuery.sibling(elem.firstChild);},
- contents: function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}
-}, function(name, fn){
- jQuery.fn[ name ] = function( selector ) {
- var ret = jQuery.map( this, fn );
+function returnFalse() {
+ return false;
+}
+function returnTrue() {
+ return true;
+}
- if ( selector && typeof selector == "string" )
- ret = jQuery.multiFilter( selector, ret );
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ preventDefault: function() {
+ this.isDefaultPrevented = returnTrue;
- return this.pushStack( jQuery.unique( ret ), name, selector );
- };
-});
+ var e = this.originalEvent;
+ if ( !e ) {
+ return;
+ }
+
+ // if preventDefault exists run it on the original event
+ if ( e.preventDefault ) {
+ e.preventDefault();
+ }
+ // otherwise set the returnValue property of the original event to false (IE)
+ e.returnValue = false;
+ },
+ stopPropagation: function() {
+ this.isPropagationStopped = returnTrue;
-jQuery.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function(name, original){
- jQuery.fn[ name ] = function( selector ) {
- var ret = [], insert = jQuery( selector );
+ var e = this.originalEvent;
+ if ( !e ) {
+ return;
+ }
+ // if stopPropagation exists run it on the original event
+ if ( e.stopPropagation ) {
+ e.stopPropagation();
+ }
+ // otherwise set the cancelBubble property of the original event to true (IE)
+ e.cancelBubble = true;
+ },
+ stopImmediatePropagation: function() {
+ this.isImmediatePropagationStopped = returnTrue;
+ this.stopPropagation();
+ },
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse
+};
- for ( var i = 0, l = insert.length; i < l; i++ ) {
- var elems = (i > 0 ? this.clone(true) : this).get();
- jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
- ret = ret.concat( elems );
+// Checks if an event happened on an element within another element
+// Used in jQuery.event.special.mouseenter and mouseleave handlers
+var withinElement = function( event ) {
+ // Check if mouse(over|out) are still within the same parent element
+ var parent = event.relatedTarget;
+
+ // Traverse up the tree
+ while ( parent && parent !== this ) {
+ // Firefox sometimes assigns relatedTarget a XUL element
+ // which we cannot access the parentNode property of
+ try {
+ parent = parent.parentNode;
+
+ // assuming we've left the element since we most likely mousedover a xul element
+ } catch(e) {
+ break;
}
+ }
+
+ if ( parent !== this ) {
+ // set the correct event type
+ event.type = event.data;
+
+ // handle event if we actually just moused on to a non sub-element
+ jQuery.event.handle.apply( this, arguments );
+ }
+
+},
+
+// In case of event delegation, we only need to rename the event.type,
+// liveHandler will take care of the rest.
+delegate = function( event ) {
+ event.type = event.data;
+ jQuery.event.handle.apply( this, arguments );
+};
- return this.pushStack( ret, name, selector );
+// Create mouseenter and mouseleave events
+jQuery.each({
+ mouseenter: "mouseover",
+ mouseleave: "mouseout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ setup: function( data ) {
+ jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
+ },
+ teardown: function( data ) {
+ jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
+ }
};
});
-jQuery.each({
- removeAttr: function( name ) {
- jQuery.attr( this, name, "" );
- if (this.nodeType == 1)
- this.removeAttribute( name );
- },
+// submit delegation
+if ( !jQuery.support.submitBubbles ) {
- addClass: function( classNames ) {
- jQuery.className.add( this, classNames );
+jQuery.event.special.submit = {
+ setup: function( data, namespaces, fn ) {
+ if ( this.nodeName.toLowerCase() !== "form" ) {
+ jQuery.event.add(this, "click.specialSubmit." + fn.guid, function( e ) {
+ var elem = e.target, type = elem.type;
+
+ if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
+ return trigger( "submit", this, arguments );
+ }
+ });
+
+ jQuery.event.add(this, "keypress.specialSubmit." + fn.guid, function( e ) {
+ var elem = e.target, type = elem.type;
+
+ if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
+ return trigger( "submit", this, arguments );
+ }
+ });
+
+ } else {
+ return false;
+ }
},
- removeClass: function( classNames ) {
- jQuery.className.remove( this, classNames );
+ remove: function( namespaces, fn ) {
+ jQuery.event.remove( this, "click.specialSubmit" + (fn ? "."+fn.guid : "") );
+ jQuery.event.remove( this, "keypress.specialSubmit" + (fn ? "."+fn.guid : "") );
+ }
+};
+
+}
+
+// change delegation, happens here so we have bind.
+if ( !jQuery.support.changeBubbles ) {
+
+var formElems = /textarea|input|select/i;
+
+function getVal( elem ) {
+ var type = elem.type, val = elem.value;
+
+ if ( type === "radio" || type === "checkbox" ) {
+ val = elem.checked;
+
+ } else if ( type === "select-multiple" ) {
+ val = elem.selectedIndex > -1 ?
+ jQuery.map( elem.options, function( elem ) {
+ return elem.selected;
+ }).join("-") :
+ "";
+
+ } else if ( elem.nodeName.toLowerCase() === "select" ) {
+ val = elem.selectedIndex;
+ }
+
+ return val;
+}
+
+function testChange( e ) {
+ var elem = e.target, data, val;
+
+ if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {
+ return;
+ }
+
+ data = jQuery.data( elem, "_change_data" );
+ val = getVal(elem);
+
+ // the current data will be also retrieved by beforeactivate
+ if ( e.type !== "focusout" || elem.type !== "radio" ) {
+ jQuery.data( elem, "_change_data", val );
+ }
+
+ if ( data === undefined || val === data ) {
+ return;
+ }
+
+ if ( data != null || val ) {
+ e.type = "change";
+ return jQuery.event.trigger( e, arguments[1], elem );
+ }
+}
+
+jQuery.event.special.change = {
+ filters: {
+ focusout: testChange,
+
+ click: function( e ) {
+ var elem = e.target, type = elem.type;
+
+ if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
+ return testChange.call( this, e );
+ }
+ },
+
+ // Change has to be called before submit
+ // Keydown will be called before keypress, which is used in submit-event delegation
+ keydown: function( e ) {
+ var elem = e.target, type = elem.type;
+
+ if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
+ (e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
+ type === "select-multiple" ) {
+ return testChange.call( this, e );
+ }
+ },
+
+ // Beforeactivate happens also before the previous element is blurred
+ // with this event you can't trigger a change event, but you can store
+ // information/focus[in] is not needed anymore
+ beforeactivate: function( e ) {
+ var elem = e.target;
+
+ if ( elem.nodeName.toLowerCase() === "input" && elem.type === "radio" ) {
+ jQuery.data( elem, "_change_data", getVal(elem) );
+ }
+ }
},
+ setup: function( data, namespaces, fn ) {
+ for ( var type in changeFilters ) {
+ jQuery.event.add( this, type + ".specialChange." + fn.guid, changeFilters[type] );
+ }
- toggleClass: function( classNames, state ) {
- if( typeof state !== "boolean" )
- state = !jQuery.className.has( this, classNames );
- jQuery.className[ state ? "add" : "remove" ]( this, classNames );
+ return formElems.test( this.nodeName );
},
+ remove: function( namespaces, fn ) {
+ for ( var type in changeFilters ) {
+ jQuery.event.remove( this, type + ".specialChange" + (fn ? "."+fn.guid : ""), changeFilters[type] );
+ }
- remove: function( selector ) {
- if ( !selector || jQuery.filter( selector, [ this ] ).length ) {
- // Prevent memory leaks
- jQuery( "*", this ).add([this]).each(function(){
- jQuery.event.remove(this);
- jQuery.removeData(this);
+ return formElems.test( this.nodeName );
+ }
+};
+
+var changeFilters = jQuery.event.special.change.filters;
+
+}
+
+function trigger( type, elem, args ) {
+ args[0].type = type;
+ return jQuery.event.handle.apply( elem, args );
+}
+
+// Create "bubbling" focus and blur events
+if ( document.addEventListener ) {
+ jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ this.addEventListener( orig, handler, true );
+ },
+ teardown: function() {
+ this.removeEventListener( orig, handler, true );
+ }
+ };
+
+ function handler( e ) {
+ e = jQuery.event.fix( e );
+ e.type = fix;
+ return jQuery.event.handle.call( this, e );
+ }
+ });
+}
+
+jQuery.each(["bind", "one"], function( i, name ) {
+ jQuery.fn[ name ] = function( type, data, fn ) {
+ // Handle object literals
+ if ( typeof type === "object" ) {
+ for ( var key in type ) {
+ this[ name ](key, data, type[key], fn);
+ }
+ return this;
+ }
+
+ if ( jQuery.isFunction( data ) ) {
+ fn = data;
+ data = undefined;
+ }
+
+ var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
+ jQuery( this ).unbind( event, handler );
+ return fn.apply( this, arguments );
+ }) : fn;
+
+ return type === "unload" && name !== "one" ?
+ this.one( type, data, fn ) :
+ this.each(function() {
+ jQuery.event.add( this, type, handler, data );
});
- if (this.parentNode)
- this.parentNode.removeChild( this );
+ };
+});
+
+jQuery.fn.extend({
+ unbind: function( type, fn ) {
+ // Handle object literals
+ if ( typeof type === "object" && !type.preventDefault ) {
+ for ( var key in type ) {
+ this.unbind(key, type[key]);
+ }
+ return this;
+ }
+
+ return this.each(function() {
+ jQuery.event.remove( this, type, fn );
+ });
+ },
+ trigger: function( type, data ) {
+ return this.each(function() {
+ jQuery.event.trigger( type, data, this );
+ });
+ },
+
+ triggerHandler: function( type, data ) {
+ if ( this[0] ) {
+ var event = jQuery.Event( type );
+ event.preventDefault();
+ event.stopPropagation();
+ jQuery.event.trigger( event, data, this[0] );
+ return event.result;
}
},
- empty: function() {
- // Remove element nodes and prevent memory leaks
- jQuery(this).children().remove();
+ toggle: function( fn ) {
+ // Save reference to arguments for access in closure
+ var args = arguments, i = 1;
- // Remove any remaining nodes
- while ( this.firstChild )
- this.removeChild( this.firstChild );
+ // link all the functions, so any of them can unbind this click handler
+ while ( i < args.length ) {
+ jQuery.proxy( fn, args[ i++ ] );
+ }
+
+ return this.click( jQuery.proxy( fn, function( event ) {
+ // Figure out which function to execute
+ var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+ jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+ // Make sure that clicks stop
+ event.preventDefault();
+
+ // and execute the function
+ return args[ lastToggle ].apply( this, arguments ) || false;
+ }));
+ },
+
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
}
-}, function(name, fn){
- jQuery.fn[ name ] = function(){
- return this.each( fn, arguments );
+});
+
+jQuery.each(["live", "die"], function( i, name ) {
+ jQuery.fn[ name ] = function( types, data, fn ) {
+ var type, i = 0;
+
+ if ( jQuery.isFunction( data ) ) {
+ fn = data;
+ data = undefined;
+ }
+
+ types = (types || "").split( /\s+/ );
+
+ while ( (type = types[ i++ ]) != null ) {
+ type = type === "focus" ? "focusin" : // focus --> focusin
+ type === "blur" ? "focusout" : // blur --> focusout
+ type === "hover" ? types.push("mouseleave") && "mouseenter" : // hover support
+ type;
+
+ if ( name === "live" ) {
+ // bind live handler
+ jQuery( this.context ).bind( liveConvert( type, this.selector ), {
+ data: data, selector: this.selector, live: type
+ }, fn );
+
+ } else {
+ // unbind live handler
+ jQuery( this.context ).unbind( liveConvert( type, this.selector ), fn ? { guid: fn.guid + this.selector + type } : null );
+ }
+ }
+
+ return this;
+ }
+});
+
+function liveHandler( event ) {
+ var stop, elems = [], selectors = [], args = arguments,
+ related, match, fn, elem, j, i, l, data,
+ live = jQuery.extend({}, jQuery.data( this, "events" ).live);
+
+ // Make sure we avoid non-left-click bubbling in Firefox (#3861)
+ if ( event.button && event.type === "click" ) {
+ return;
+ }
+
+ for ( j in live ) {
+ fn = live[j];
+ if ( fn.live === event.type ||
+ fn.altLive && jQuery.inArray(event.type, fn.altLive) > -1 ) {
+
+ data = fn.data;
+ if ( !(data.beforeFilter && data.beforeFilter[event.type] &&
+ !data.beforeFilter[event.type](event)) ) {
+ selectors.push( fn.selector );
+ }
+ } else {
+ delete live[j];
+ }
+ }
+
+ match = jQuery( event.target ).closest( selectors, event.currentTarget );
+
+ for ( i = 0, l = match.length; i < l; i++ ) {
+ for ( j in live ) {
+ fn = live[j];
+ elem = match[i].elem;
+ related = null;
+
+ if ( match[i].selector === fn.selector ) {
+ // Those two events require additional checking
+ if ( fn.live === "mouseenter" || fn.live === "mouseleave" ) {
+ related = jQuery( event.relatedTarget ).closest( fn.selector )[0];
+ }
+
+ if ( !related || related !== elem ) {
+ elems.push({ elem: elem, fn: fn });
+ }
+ }
+ }
+ }
+
+ for ( i = 0, l = elems.length; i < l; i++ ) {
+ match = elems[i];
+ event.currentTarget = match.elem;
+ event.data = match.fn.data;
+ if ( match.fn.apply( match.elem, args ) === false ) {
+ stop = false;
+ break;
+ }
+ }
+
+ return stop;
+}
+
+function liveConvert( type, selector ) {
+ return "live." + (type ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&");
+}
+
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup error").split(" "), function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( fn ) {
+ return fn ? this.bind( name, fn ) : this.trigger( name );
};
+
+ if ( jQuery.attrFn ) {
+ jQuery.attrFn[ name ] = true;
+ }
});
-// Helper function used by the dimensions and offset modules
-function num(elem, prop) {
- return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
+// Prevent memory leaks in IE
+// Window isn't included so as not to unbind existing unload events
+// More info:
+// - http://isaacschlueter.com/2006/10/msie-memory-leaks/
+if ( window.attachEvent && !window.addEventListener ) {
+ window.attachEvent("onunload", function() {
+ for ( var id in jQuery.cache ) {
+ if ( jQuery.cache[ id ].handle ) {
+ // Try/Catch is to handle iframes being unloaded, see #4280
+ try {
+ jQuery.event.remove( jQuery.cache[ id ].handle.elem );
+ } catch(e) {}
+ }
+ }
+ });
}
-var expando = "jQuery" + now(), uuid = 0, windowData = {};
-
-jQuery.extend({
- cache: {},
-
- data: function( elem, name, data ) {
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ];
-
- // Compute a unique ID for the element
- if ( !id )
- id = elem[ expando ] = ++uuid;
-
- // Only generate the data cache if we're
- // trying to access or manipulate it
- if ( name && !jQuery.cache[ id ] )
- jQuery.cache[ id ] = {};
-
- // Prevent overriding the named cache with undefined values
- if ( data !== undefined )
- jQuery.cache[ id ][ name ] = data;
-
- // Return the named cache data, or the ID for the element
- return name ?
- jQuery.cache[ id ][ name ] :
- id;
- },
-
- removeData: function( elem, name ) {
- elem = elem == window ?
- windowData :
- elem;
-
- var id = elem[ expando ];
-
- // If we want to remove a specific section of the element's data
- if ( name ) {
- if ( jQuery.cache[ id ] ) {
- // Remove the section of cache data
- delete jQuery.cache[ id ][ name ];
-
- // If we've removed all the data, remove the element's cache
- name = "";
-
- for ( name in jQuery.cache[ id ] )
- break;
-
- if ( !name )
- jQuery.removeData( elem );
- }
-
- // Otherwise, we want to remove all of the element's data
- } else {
- // Clean up the element expando
- try {
- delete elem[ expando ];
- } catch(e){
- // IE has trouble directly removing the expando
- // but it's ok with using removeAttribute
- if ( elem.removeAttribute )
- elem.removeAttribute( expando );
- }
-
- // Completely remove the data cache
- delete jQuery.cache[ id ];
- }
- },
- queue: function( elem, type, data ) {
- if ( elem ){
-
- type = (type || "fx") + "queue";
-
- var q = jQuery.data( elem, type );
-
- if ( !q || jQuery.isArray(data) )
- q = jQuery.data( elem, type, jQuery.makeArray(data) );
- else if( data )
- q.push( data );
-
- }
- return q;
- },
-
- dequeue: function( elem, type ){
- var queue = jQuery.queue( elem, type ),
- fn = queue.shift();
-
- if( !type || type === "fx" )
- fn = queue[0];
-
- if( fn !== undefined )
- fn.call(elem);
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ){
- var parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- if ( data === undefined && this.length )
- data = jQuery.data( this[0], key );
-
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
- } else
- return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
- jQuery.data( this, key, value );
- });
- },
-
- removeData: function( key ){
- return this.each(function(){
- jQuery.removeData( this, key );
- });
- },
- queue: function(type, data){
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined )
- return jQuery.queue( this[0], type );
-
- return this.each(function(){
- var queue = jQuery.queue( this, type, data );
-
- if( type == "fx" && queue.length == 1 )
- queue[0].call(this);
- });
- },
- dequeue: function(type){
- return this.each(function(){
- jQuery.dequeue( this, type );
- });
- }
-});/*!
- * Sizzle CSS Selector Engine - v0.9.3
+/*!
+ * Sizzle CSS Selector Engine - v1.0
* Copyright 2009, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/
*/
(function(){
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
done = 0,
- toString = Object.prototype.toString;
+ toString = Object.prototype.toString,
+ hasDuplicate = false,
+ baseHasDuplicate = true;
+
+// Here we check if the JavaScript engine is using some sort of
+// optimization where it does not always call our comparision
+// function. If that is the case, discard the hasDuplicate value.
+// Thus far that includes Google Chrome.
+[0, 0].sort(function(){
+ baseHasDuplicate = false;
+ return 0;
+});
var Sizzle = function(selector, context, results, seed) {
results = results || [];
- context = context || document;
+ var origContext = context = context || document;
- if ( context.nodeType !== 1 && context.nodeType !== 9 )
+ if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
return [];
+ }
if ( !selector || typeof selector !== "string" ) {
return results;
}
- var parts = [], m, set, checkSet, check, mode, extra, prune = true;
+ var parts = [], m, set, checkSet, extra, prune = true, contextXML = isXML(context),
+ soFar = selector;
// Reset the position of the chunker regexp (start from head)
- chunker.lastIndex = 0;
-
- while ( (m = chunker.exec(selector)) !== null ) {
+ while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) {
+ soFar = m[3];
+
parts.push( m[1] );
if ( m[2] ) {
- extra = RegExp.rightContext;
+ extra = m[3];
break;
}
}
@@ -1458,38 +2577,51 @@ var Sizzle = function(selector, context, results, seed) {
while ( parts.length ) {
selector = parts.shift();
- if ( Expr.relative[ selector ] )
+ if ( Expr.relative[ selector ] ) {
selector += parts.shift();
-
+ }
+
set = posProcess( selector, set );
}
}
} else {
- var ret = seed ?
- { expr: parts.pop(), set: makeArray(seed) } :
- Sizzle.find( parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context) );
- set = Sizzle.filter( ret.expr, ret.set );
-
- if ( parts.length > 0 ) {
- checkSet = makeArray(set);
- } else {
- prune = false;
+ // Take a shortcut and set the context if the root selector is an ID
+ // (but not if it'll be faster if the inner selector is an ID)
+ if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
+ Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
+ var ret = Sizzle.find( parts.shift(), context, contextXML );
+ context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0];
}
- while ( parts.length ) {
- var cur = parts.pop(), pop = cur;
+ if ( context ) {
+ var ret = seed ?
+ { expr: parts.pop(), set: makeArray(seed) } :
+ Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
+ set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;
- if ( !Expr.relative[ cur ] ) {
- cur = "";
+ if ( parts.length > 0 ) {
+ checkSet = makeArray(set);
} else {
- pop = parts.pop();
+ prune = false;
}
- if ( pop == null ) {
- pop = context;
- }
+ while ( parts.length ) {
+ var cur = parts.pop(), pop = cur;
+
+ if ( !Expr.relative[ cur ] ) {
+ cur = "";
+ } else {
+ pop = parts.pop();
+ }
+
+ if ( pop == null ) {
+ pop = context;
+ }
- Expr.relative[ cur ]( checkSet, pop, isXML(context) );
+ Expr.relative[ cur ]( checkSet, pop, contextXML );
+ }
+ } else {
+ checkSet = parts = [];
}
}
@@ -1498,13 +2630,13 @@ var Sizzle = function(selector, context, results, seed) {
}
if ( !checkSet ) {
- throw "Syntax error, unrecognized expression: " + (cur || selector);
+ Sizzle.error( cur || selector );
}
if ( toString.call(checkSet) === "[object Array]" ) {
if ( !prune ) {
results.push.apply( results, checkSet );
- } else if ( context.nodeType === 1 ) {
+ } else if ( context && context.nodeType === 1 ) {
for ( var i = 0; checkSet[i] != null; i++ ) {
if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
results.push( set[i] );
@@ -1522,17 +2654,22 @@ var Sizzle = function(selector, context, results, seed) {
}
if ( extra ) {
- Sizzle( extra, context, results, seed );
+ Sizzle( extra, origContext, results, seed );
+ Sizzle.uniqueSort( results );
+ }
- if ( sortOrder ) {
- hasDuplicate = false;
- results.sort(sortOrder);
+ return results;
+};
- if ( hasDuplicate ) {
- for ( var i = 1; i < results.length; i++ ) {
- if ( results[i] === results[i-1] ) {
- results.splice(i--, 1);
- }
+Sizzle.uniqueSort = function(results){
+ if ( sortOrder ) {
+ hasDuplicate = baseHasDuplicate;
+ results.sort(sortOrder);
+
+ if ( hasDuplicate ) {
+ for ( var i = 1; i < results.length; i++ ) {
+ if ( results[i] === results[i-1] ) {
+ results.splice(i--, 1);
}
}
}
@@ -1555,8 +2692,9 @@ Sizzle.find = function(expr, context, isXML){
for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
var type = Expr.order[i], match;
- if ( (match = Expr.match[ type ].exec( expr )) ) {
- var left = RegExp.leftContext;
+ if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
+ var left = match[1];
+ match.splice(1,1);
if ( left.substr( left.length - 1 ) !== "\\" ) {
match[1] = (match[1] || "").replace(/\\/g, "");
@@ -1582,11 +2720,17 @@ Sizzle.filter = function(expr, set, inplace, not){
while ( expr && set.length ) {
for ( var type in Expr.filter ) {
- if ( (match = Expr.match[ type ].exec( expr )) != null ) {
- var filter = Expr.filter[ type ], found, item;
+ if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
+ var filter = Expr.filter[ type ], found, item, left = match[1];
anyFound = false;
- if ( curLoop == result ) {
+ match.splice(1,1);
+
+ if ( left.substr( left.length - 1 ) === "\\" ) {
+ continue;
+ }
+
+ if ( curLoop === result ) {
result = [];
}
@@ -1637,9 +2781,9 @@ Sizzle.filter = function(expr, set, inplace, not){
}
// Improper expression
- if ( expr == old ) {
+ if ( expr === old ) {
if ( anyFound == null ) {
- throw "Syntax error, unrecognized expression: " + expr;
+ Sizzle.error( expr );
} else {
break;
}
@@ -1651,18 +2795,23 @@ Sizzle.filter = function(expr, set, inplace, not){
return curLoop;
};
+Sizzle.error = function( msg ) {
+ throw "Syntax error, unrecognized expression: " + msg;
+};
+
var Expr = Sizzle.selectors = {
order: [ "ID", "NAME", "TAG" ],
match: {
- ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
- CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
+ ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
+ CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
+ NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
+ ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
+ TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
+ PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
},
+ leftMatch: {},
attrMap: {
"class": "className",
"for": "htmlFor"
@@ -1673,20 +2822,20 @@ var Expr = Sizzle.selectors = {
}
},
relative: {
- "+": function(checkSet, part, isXML){
+ "+": function(checkSet, part){
var isPartStr = typeof part === "string",
isTag = isPartStr && !/\W/.test(part),
isPartStrNotTag = isPartStr && !isTag;
- if ( isTag && !isXML ) {
- part = part.toUpperCase();
+ if ( isTag ) {
+ part = part.toLowerCase();
}
for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
if ( (elem = checkSet[i]) ) {
while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
+ checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
elem || false :
elem === part;
}
@@ -1696,17 +2845,17 @@ var Expr = Sizzle.selectors = {
Sizzle.filter( part, checkSet, true );
}
},
- ">": function(checkSet, part, isXML){
+ ">": function(checkSet, part){
var isPartStr = typeof part === "string";
if ( isPartStr && !/\W/.test(part) ) {
- part = isXML ? part : part.toUpperCase();
+ part = part.toLowerCase();
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
var elem = checkSet[i];
if ( elem ) {
var parent = elem.parentNode;
- checkSet[i] = parent.nodeName === part ? parent : false;
+ checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
}
}
} else {
@@ -1727,8 +2876,8 @@ var Expr = Sizzle.selectors = {
"": function(checkSet, part, isXML){
var doneName = done++, checkFn = dirCheck;
- if ( !part.match(/\W/) ) {
- var nodeCheck = part = isXML ? part : part.toUpperCase();
+ if ( typeof part === "string" && !/\W/.test(part) ) {
+ var nodeCheck = part = part.toLowerCase();
checkFn = dirNodeCheck;
}
@@ -1737,8 +2886,8 @@ var Expr = Sizzle.selectors = {
"~": function(checkSet, part, isXML){
var doneName = done++, checkFn = dirCheck;
- if ( typeof part === "string" && !part.match(/\W/) ) {
- var nodeCheck = part = isXML ? part : part.toUpperCase();
+ if ( typeof part === "string" && !/\W/.test(part) ) {
+ var nodeCheck = part = part.toLowerCase();
checkFn = dirNodeCheck;
}
@@ -1752,7 +2901,7 @@ var Expr = Sizzle.selectors = {
return m ? [m] : [];
}
},
- NAME: function(match, context, isXML){
+ NAME: function(match, context){
if ( typeof context.getElementsByName !== "undefined" ) {
var ret = [], results = context.getElementsByName(match[1]);
@@ -1779,9 +2928,10 @@ var Expr = Sizzle.selectors = {
for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
if ( elem ) {
- if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
- if ( !inplace )
+ if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) {
+ if ( !inplace ) {
result.push( elem );
+ }
} else if ( inplace ) {
curLoop[i] = false;
}
@@ -1794,14 +2944,13 @@ var Expr = Sizzle.selectors = {
return match[1].replace(/\\/g, "");
},
TAG: function(match, curLoop){
- for ( var i = 0; curLoop[i] === false; i++ ){}
- return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
+ return match[1].toLowerCase();
},
CHILD: function(match){
- if ( match[1] == "nth" ) {
+ if ( match[1] === "nth" ) {
// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
- match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
+ match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
// calculate the numbers (first)n+(last) including if they are negative
@@ -1830,7 +2979,7 @@ var Expr = Sizzle.selectors = {
PSEUDO: function(match, curLoop, inplace, result, not){
if ( match[1] === "not" ) {
// If we're dealing with a complex expression, or a simple one
- if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
+ if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
match[3] = Sizzle(match[3], null, null, curLoop);
} else {
var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
@@ -1903,7 +3052,7 @@ var Expr = Sizzle.selectors = {
return "reset" === elem.type;
},
button: function(elem){
- return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON";
+ return "button" === elem.type || elem.nodeName.toLowerCase() === "button";
},
input: function(elem){
return /input|select|textarea|button/i.test(elem.nodeName);
@@ -1929,10 +3078,10 @@ var Expr = Sizzle.selectors = {
return i > match[3] - 0;
},
nth: function(elem, i, match){
- return match[3] - 0 == i;
+ return match[3] - 0 === i;
},
eq: function(elem, i, match){
- return match[3] - 0 == i;
+ return match[3] - 0 === i;
}
},
filter: {
@@ -1942,7 +3091,7 @@ var Expr = Sizzle.selectors = {
if ( filter ) {
return filter( elem, i, match, array );
} else if ( name === "contains" ) {
- return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
+ return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
} else if ( name === "not" ) {
var not = match[3];
@@ -1953,6 +3102,8 @@ var Expr = Sizzle.selectors = {
}
return true;
+ } else {
+ Sizzle.error( "Syntax error, unrecognized expression: " + name );
}
},
CHILD: function(elem, match){
@@ -1960,20 +3111,26 @@ var Expr = Sizzle.selectors = {
switch (type) {
case 'only':
case 'first':
- while (node = node.previousSibling) {
- if ( node.nodeType === 1 ) return false;
+ while ( (node = node.previousSibling) ) {
+ if ( node.nodeType === 1 ) {
+ return false;
+ }
+ }
+ if ( type === "first" ) {
+ return true;
}
- if ( type == 'first') return true;
node = elem;
case 'last':
- while (node = node.nextSibling) {
- if ( node.nodeType === 1 ) return false;
+ while ( (node = node.nextSibling) ) {
+ if ( node.nodeType === 1 ) {
+ return false;
+ }
}
return true;
case 'nth':
var first = match[2], last = match[3];
- if ( first == 1 && last == 0 ) {
+ if ( first === 1 && last === 0 ) {
return true;
}
@@ -1991,10 +3148,10 @@ var Expr = Sizzle.selectors = {
}
var diff = elem.nodeIndex - last;
- if ( first == 0 ) {
- return diff == 0;
+ if ( first === 0 ) {
+ return diff === 0;
} else {
- return ( diff % first == 0 && diff / first >= 0 );
+ return ( diff % first === 0 && diff / first >= 0 );
}
}
},
@@ -2002,7 +3159,7 @@ var Expr = Sizzle.selectors = {
return elem.nodeType === 1 && elem.getAttribute("id") === match;
},
TAG: function(elem, match){
- return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
+ return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;
},
CLASS: function(elem, match){
return (" " + (elem.className || elem.getAttribute("class")) + " ")
@@ -2030,7 +3187,7 @@ var Expr = Sizzle.selectors = {
!check ?
value && result !== false :
type === "!=" ?
- value != check :
+ value !== check :
type === "^=" ?
value.indexOf(check) === 0 :
type === "$=" ?
@@ -2052,11 +3209,14 @@ var Expr = Sizzle.selectors = {
var origPOS = Expr.match.POS;
for ( var type in Expr.match ) {
- Expr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
+ Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
+ Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){
+ return "\\" + (num - 0 + 1);
+ }));
}
var makeArray = function(array, results) {
- array = Array.prototype.slice.call( array );
+ array = Array.prototype.slice.call( array, 0 );
if ( results ) {
results.push.apply( results, array );
@@ -2069,7 +3229,7 @@ var makeArray = function(array, results) {
// Perform a simple check to determine if the browser is capable of
// converting a NodeList to an array using builtin methods.
try {
- Array.prototype.slice.call( document.documentElement.childNodes );
+ Array.prototype.slice.call( document.documentElement.childNodes, 0 );
// Provide a fallback method if it does not work
} catch(e){
@@ -2098,6 +3258,13 @@ var sortOrder;
if ( document.documentElement.compareDocumentPosition ) {
sortOrder = function( a, b ) {
+ if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
+ if ( a == b ) {
+ hasDuplicate = true;
+ }
+ return a.compareDocumentPosition ? -1 : 1;
+ }
+
var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
if ( ret === 0 ) {
hasDuplicate = true;
@@ -2106,6 +3273,13 @@ if ( document.documentElement.compareDocumentPosition ) {
};
} else if ( "sourceIndex" in document.documentElement ) {
sortOrder = function( a, b ) {
+ if ( !a.sourceIndex || !b.sourceIndex ) {
+ if ( a == b ) {
+ hasDuplicate = true;
+ }
+ return a.sourceIndex ? -1 : 1;
+ }
+
var ret = a.sourceIndex - b.sourceIndex;
if ( ret === 0 ) {
hasDuplicate = true;
@@ -2114,11 +3288,18 @@ if ( document.documentElement.compareDocumentPosition ) {
};
} else if ( document.createRange ) {
sortOrder = function( a, b ) {
+ if ( !a.ownerDocument || !b.ownerDocument ) {
+ if ( a == b ) {
+ hasDuplicate = true;
+ }
+ return a.ownerDocument ? -1 : 1;
+ }
+
var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
- aRange.selectNode(a);
- aRange.collapse(true);
- bRange.selectNode(b);
- bRange.collapse(true);
+ aRange.setStart(a, 0);
+ aRange.setEnd(a, 0);
+ bRange.setStart(b, 0);
+ bRange.setEnd(b, 0);
var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
if ( ret === 0 ) {
hasDuplicate = true;
@@ -2127,13 +3308,33 @@ if ( document.documentElement.compareDocumentPosition ) {
};
}
+// Utility function for retreiving the text value of an array of DOM nodes
+function getText( elems ) {
+ var ret = "", elem;
+
+ for ( var i = 0; elems[i]; i++ ) {
+ elem = elems[i];
+
+ // Get the text from text nodes and CDATA nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
+ ret += elem.nodeValue;
+
+ // Traverse everything else, except comment nodes
+ } else if ( elem.nodeType !== 8 ) {
+ ret += getText( elem.childNodes );
+ }
+ }
+
+ return ret;
+}
+
// Check to see if the browser returns elements by name when
// querying by getElementById (and provide a workaround)
(function(){
// We're going to inject a fake input element with a specified name
- var form = document.createElement("form"),
+ var form = document.createElement("div"),
id = "script" + (new Date).getTime();
- form.innerHTML = "<input name='" + id + "'/>";
+ form.innerHTML = "<a name='" + id + "'/>";
// Inject it into the root element, check its status, and remove it quickly
var root = document.documentElement;
@@ -2141,7 +3342,7 @@ if ( document.documentElement.compareDocumentPosition ) {
// The workaround has to do additional checks after a getElementById
// Which slows things down for other browsers (hence the branching)
- if ( !!document.getElementById( id ) ) {
+ if ( document.getElementById( id ) ) {
Expr.find.ID = function(match, context, isXML){
if ( typeof context.getElementById !== "undefined" && !isXML ) {
var m = context.getElementById(match[1]);
@@ -2156,6 +3357,7 @@ if ( document.documentElement.compareDocumentPosition ) {
}
root.removeChild( form );
+ root = form = null; // release memory in IE
})();
(function(){
@@ -2196,69 +3398,75 @@ if ( document.documentElement.compareDocumentPosition ) {
return elem.getAttribute("href", 2);
};
}
+
+ div = null; // release memory in IE
})();
-if ( document.querySelectorAll ) (function(){
- var oldSizzle = Sizzle, div = document.createElement("div");
- div.innerHTML = "<p class='TEST'></p>";
+if ( document.querySelectorAll ) {
+ (function(){
+ var oldSizzle = Sizzle, div = document.createElement("div");
+ div.innerHTML = "<p class='TEST'></p>";
- // Safari can't handle uppercase or unicode characters when
- // in quirks mode.
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
- return;
- }
+ // Safari can't handle uppercase or unicode characters when
+ // in quirks mode.
+ if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
+ return;
+ }
- Sizzle = function(query, context, extra, seed){
- context = context || document;
+ Sizzle = function(query, context, extra, seed){
+ context = context || document;
+
+ // Only use querySelectorAll on non-XML documents
+ // (ID selectors don't work in non-HTML documents)
+ if ( !seed && context.nodeType === 9 && !isXML(context) ) {
+ try {
+ return makeArray( context.querySelectorAll(query), extra );
+ } catch(e){}
+ }
+
+ return oldSizzle(query, context, extra, seed);
+ };
- // Only use querySelectorAll on non-XML documents
- // (ID selectors don't work in non-HTML documents)
- if ( !seed && context.nodeType === 9 && !isXML(context) ) {
- try {
- return makeArray( context.querySelectorAll(query), extra );
- } catch(e){}
+ for ( var prop in oldSizzle ) {
+ Sizzle[ prop ] = oldSizzle[ prop ];
}
-
- return oldSizzle(query, context, extra, seed);
- };
- Sizzle.find = oldSizzle.find;
- Sizzle.filter = oldSizzle.filter;
- Sizzle.selectors = oldSizzle.selectors;
- Sizzle.matches = oldSizzle.matches;
-})();
+ div = null; // release memory in IE
+ })();
+}
-if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
+(function(){
var div = document.createElement("div");
+
div.innerHTML = "<div class='test e'></div><div class='test'></div>";
// Opera can't find a second classname (in 9.6)
- if ( div.getElementsByClassName("e").length === 0 )
+ // Also, make sure that getElementsByClassName actually exists
+ if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
return;
+ }
// Safari caches class attributes, doesn't catch changes (in 3.2)
div.lastChild.className = "e";
- if ( div.getElementsByClassName("e").length === 1 )
+ if ( div.getElementsByClassName("e").length === 1 ) {
return;
-
+ }
+
Expr.order.splice(1, 0, "CLASS");
Expr.find.CLASS = function(match, context, isXML) {
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
return context.getElementsByClassName(match[1]);
}
};
+
+ div = null; // release memory in IE
})();
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- var sibDir = dir == "previousSibling" && !isXML;
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
var elem = checkSet[i];
if ( elem ) {
- if ( sibDir && elem.nodeType === 1 ){
- elem.sizcache = doneName;
- elem.sizset = i;
- }
elem = elem[dir];
var match = false;
@@ -2273,7 +3481,7 @@ function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
elem.sizset = i;
}
- if ( elem.nodeName === cur ) {
+ if ( elem.nodeName.toLowerCase() === cur ) {
match = elem;
break;
}
@@ -2287,14 +3495,9 @@ function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
}
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- var sibDir = dir == "previousSibling" && !isXML;
for ( var i = 0, l = checkSet.length; i < l; i++ ) {
var elem = checkSet[i];
if ( elem ) {
- if ( sibDir && elem.nodeType === 1 ) {
- elem.sizcache = doneName;
- elem.sizset = i;
- }
elem = elem[dir];
var match = false;
@@ -2329,15 +3532,17 @@ function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
}
}
-var contains = document.compareDocumentPosition ? function(a, b){
+var contains = document.compareDocumentPosition ? function(a, b){
return a.compareDocumentPosition(b) & 16;
} : function(a, b){
return a !== b && (a.contains ? a.contains(b) : true);
};
var isXML = function(elem){
- return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
- !!elem.ownerDocument && isXML( elem.ownerDocument );
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
};
var posProcess = function(selector, context){
@@ -2362,873 +3567,1068 @@ var posProcess = function(selector, context){
// EXPOSE
jQuery.find = Sizzle;
-jQuery.filter = Sizzle.filter;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.filters;
+jQuery.unique = Sizzle.uniqueSort;
+jQuery.getText = getText;
+jQuery.isXMLDoc = isXML;
+jQuery.contains = contains;
-Sizzle.selectors.filters.hidden = function(elem){
- return elem.offsetWidth === 0 || elem.offsetHeight === 0;
-};
+return;
-Sizzle.selectors.filters.visible = function(elem){
- return elem.offsetWidth > 0 || elem.offsetHeight > 0;
-};
+window.Sizzle = Sizzle;
-Sizzle.selectors.filters.animated = function(elem){
- return jQuery.grep(jQuery.timers, function(fn){
- return elem === fn.elem;
- }).length;
-};
+})();
+var runtil = /Until$/,
+ rparentsprev = /^(?:parents|prevUntil|prevAll)/,
+ // Note: This RegExp should be improved, or likely pulled from Sizzle
+ rmultiselector = /,/,
+ slice = Array.prototype.slice;
+
+// Implement the identical functionality for filter and not
+var winnow = function( elements, qualifier, keep ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep(elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) === keep;
+ });
-jQuery.multiFilter = function( expr, elems, not ) {
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
+ } else if ( qualifier.nodeType ) {
+ return jQuery.grep(elements, function( elem, i ) {
+ return (elem === qualifier) === keep;
+ });
- return Sizzle.matches(expr, elems);
-};
+ } else if ( typeof qualifier === "string" ) {
+ var filtered = jQuery.grep(elements, function( elem ) {
+ return elem.nodeType === 1;
+ });
-jQuery.dir = function( elem, dir ){
- var matched = [], cur = elem[dir];
- while ( cur && cur != document ) {
- if ( cur.nodeType == 1 )
- matched.push( cur );
- cur = cur[dir];
+ if ( isSimple.test( qualifier ) ) {
+ return jQuery.filter(qualifier, filtered, !keep);
+ } else {
+ qualifier = jQuery.filter( qualifier, filtered );
+ }
}
- return matched;
+
+ return jQuery.grep(elements, function( elem, i ) {
+ return (jQuery.inArray( elem, qualifier ) >= 0) === keep;
+ });
};
-jQuery.nth = function(cur, result, dir, elem){
- result = result || 1;
- var num = 0;
+jQuery.fn.extend({
+ find: function( selector ) {
+ var ret = this.pushStack( "", "find", selector ), length = 0;
+
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ length = ret.length;
+ jQuery.find( selector, this[i], ret );
+
+ if ( i > 0 ) {
+ // Make sure that the results are unique
+ for ( var n = length; n < ret.length; n++ ) {
+ for ( var r = 0; r < length; r++ ) {
+ if ( ret[r] === ret[n] ) {
+ ret.splice(n--, 1);
+ break;
+ }
+ }
+ }
+ }
+ }
- for ( ; cur; cur = cur[dir] )
- if ( cur.nodeType == 1 && ++num == result )
- break;
+ return ret;
+ },
- return cur;
-};
+ has: function( target ) {
+ var targets = jQuery( target );
+ return this.filter(function() {
+ for ( var i = 0, l = targets.length; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[i] ) ) {
+ return true;
+ }
+ }
+ });
+ },
-jQuery.sibling = function(n, elem){
- var r = [];
+ not: function( selector ) {
+ return this.pushStack( winnow(this, selector, false), "not", selector);
+ },
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType == 1 && n != elem )
- r.push( n );
- }
+ filter: function( selector ) {
+ return this.pushStack( winnow(this, selector, true), "filter", selector );
+ },
+
+ is: function( selector ) {
+ return !!selector && jQuery.filter( selector, this ).length > 0;
+ },
- return r;
-};
+ closest: function( selectors, context ) {
+ if ( jQuery.isArray( selectors ) ) {
+ var ret = [], cur = this[0], match, matches = {}, selector;
-return;
+ if ( cur && selectors.length ) {
+ for ( var i = 0, l = selectors.length; i < l; i++ ) {
+ selector = selectors[i];
-window.Sizzle = Sizzle;
+ if ( !matches[selector] ) {
+ matches[selector] = jQuery.expr.match.POS.test( selector ) ?
+ jQuery( selector, context || this.context ) :
+ selector;
+ }
+ }
-})();
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
+ while ( cur && cur.ownerDocument && cur !== context ) {
+ for ( selector in matches ) {
+ match = matches[selector];
- // Bind an event to an element
- // Original by Dean Edwards
- add: function(elem, types, handler, data) {
- if ( elem.nodeType == 3 || elem.nodeType == 8 )
- return;
+ if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) {
+ ret.push({ selector: selector, elem: cur });
+ delete matches[selector];
+ }
+ }
+ cur = cur.parentNode;
+ }
+ }
- // For whatever reason, IE has trouble passing the window object
- // around, causing it to be cloned in the process
- if ( elem.setInterval && elem != window )
- elem = window;
+ return ret;
+ }
- // Make sure that the function being executed has a unique ID
- if ( !handler.guid )
- handler.guid = this.guid++;
+ var pos = jQuery.expr.match.POS.test( selectors ) ?
+ jQuery( selectors, context || this.context ) : null;
- // if data is passed, bind to handler
- if ( data !== undefined ) {
- // Create temporary function pointer to original handler
- var fn = handler;
+ return this.map(function( i, cur ) {
+ while ( cur && cur.ownerDocument && cur !== context ) {
+ if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {
+ return cur;
+ }
+ cur = cur.parentNode;
+ }
+ return null;
+ });
+ },
+
+ // Determine the position of an element within
+ // the matched set of elements
+ index: function( elem ) {
+ if ( !elem || typeof elem === "string" ) {
+ return jQuery.inArray( this[0],
+ // If it receives a string, the selector is used
+ // If it receives nothing, the siblings are used
+ elem ? jQuery( elem ) : this.parent().children() );
+ }
+ // Locate the position of the desired element
+ return jQuery.inArray(
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[0] : elem, this );
+ },
- // Create unique handler function, wrapped around original handler
- handler = this.proxy( fn );
+ add: function( selector, context ) {
+ var set = typeof selector === "string" ?
+ jQuery( selector, context || this.context ) :
+ jQuery.makeArray( selector ),
+ all = jQuery.merge( this.get(), set );
- // Store data in unique handler
- handler.data = data;
+ return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
+ all :
+ jQuery.unique( all ) );
+ },
+
+ andSelf: function() {
+ return this.add( this.prevObject );
+ }
+});
+
+// A painfully simple check to see if an element is disconnected
+// from a document (should be improved, where feasible).
+function isDisconnected( node ) {
+ return !node || !node.parentNode || node.parentNode.nodeType === 11;
+}
+
+jQuery.each({
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return jQuery.dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return jQuery.nth( elem, 2, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return jQuery.nth( elem, 2, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return jQuery.dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return jQuery.dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return jQuery.sibling( elem.parentNode.firstChild, elem );
+ },
+ children: function( elem ) {
+ return jQuery.sibling( elem.firstChild );
+ },
+ contents: function( elem ) {
+ return jQuery.nodeName( elem, "iframe" ) ?
+ elem.contentDocument || elem.contentWindow.document :
+ jQuery.makeArray( elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var ret = jQuery.map( this, fn, until );
+
+ if ( !runtil.test( name ) ) {
+ selector = until;
}
- // Init the element's event structure
- var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),
- handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){
- // Handle the second event of a trigger and when
- // an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
- jQuery.event.handle.apply(arguments.callee.elem, arguments) :
- undefined;
- });
- // Add elem as a property of the handle function
- // This is to prevent a memory leak with non-native
- // event in IE.
- handle.elem = elem;
+ if ( selector && typeof selector === "string" ) {
+ ret = jQuery.filter( selector, ret );
+ }
- // Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- jQuery.each(types.split(/\s+/), function(index, type) {
- // Namespaced event handlers
- var namespaces = type.split(".");
- type = namespaces.shift();
- handler.type = namespaces.slice().sort().join(".");
+ ret = this.length > 1 ? jQuery.unique( ret ) : ret;
- // Get the current list of functions bound to this event
- var handlers = events[type];
-
- if ( jQuery.event.specialAll[type] )
- jQuery.event.specialAll[type].setup.call(elem, data, namespaces);
+ if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
+ ret = ret.reverse();
+ }
- // Init the event handler queue
- if (!handlers) {
- handlers = events[type] = {};
+ return this.pushStack( ret, name, slice.call(arguments).join(",") );
+ };
+});
- // Check for a special event handler
- // Only use addEventListener/attachEvent if the special
- // events handler returns false
- if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === false ) {
- // Bind the global event handler to the element
- if (elem.addEventListener)
- elem.addEventListener(type, handle, false);
- else if (elem.attachEvent)
- elem.attachEvent("on" + type, handle);
- }
+jQuery.extend({
+ filter: function( expr, elems, not ) {
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return jQuery.find.matches(expr, elems);
+ },
+
+ dir: function( elem, dir, until ) {
+ var matched = [], cur = elem[dir];
+ while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
+ if ( cur.nodeType === 1 ) {
+ matched.push( cur );
}
+ cur = cur[dir];
+ }
+ return matched;
+ },
- // Add the function to the element's handler list
- handlers[handler.guid] = handler;
+ nth: function( cur, result, dir, elem ) {
+ result = result || 1;
+ var num = 0;
- // Keep track of which events have been used, for global triggering
- jQuery.event.global[type] = true;
- });
+ for ( ; cur; cur = cur[dir] ) {
+ if ( cur.nodeType === 1 && ++num === result ) {
+ break;
+ }
+ }
- // Nullify elem to prevent memory leaks in IE
- elem = null;
+ return cur;
},
- guid: 1,
- global: {},
+ sibling: function( n, elem ) {
+ var r = [];
- // Detach an event or set of events from an element
- remove: function(elem, types, handler) {
- // don't do events on text and comment nodes
- if ( elem.nodeType == 3 || elem.nodeType == 8 )
- return;
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ r.push( n );
+ }
+ }
- var events = jQuery.data(elem, "events"), ret, index;
+ return r;
+ }
+});
+var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
+ rleadingWhitespace = /^\s+/,
+ rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
+ rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
+ rtagName = /<([\w:]+)/,
+ rtbody = /<tbody/i,
+ rhtml = /<|&\w+;/,
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, // checked="checked" or checked (html5)
+ fcloseTag = function( all, front, tag ) {
+ return rselfClosing.test( tag ) ?
+ all :
+ front + "></" + tag + ">";
+ },
+ wrapMap = {
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+ legend: [ 1, "<fieldset>", "</fieldset>" ],
+ thead: [ 1, "<table>", "</table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+ col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
+ area: [ 1, "<map>", "</map>" ],
+ _default: [ 0, "", "" ]
+ };
- if ( events ) {
- // Unbind all events for the element
- if ( types === undefined || (typeof types === "string" && types.charAt(0) == ".") )
- for ( var type in events )
- this.remove( elem, type + (types || "") );
- else {
- // types is actually an event object here
- if ( types.type ) {
- handler = types.handler;
- types = types.type;
- }
+wrapMap.optgroup = wrapMap.option;
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
- // Handle multiple events seperated by a space
- // jQuery(...).unbind("mouseover mouseout", fn);
- jQuery.each(types.split(/\s+/), function(index, type){
- // Namespaced event handlers
- var namespaces = type.split(".");
- type = namespaces.shift();
- var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+// IE can't serialize <link> and <script> tags normally
+if ( !jQuery.support.htmlSerialize ) {
+ wrapMap._default = [ 1, "div<div>", "</div>" ];
+}
- if ( events[type] ) {
- // remove the given handler for the given type
- if ( handler )
- delete events[type][handler.guid];
+jQuery.fn.extend({
+ text: function( text ) {
+ if ( jQuery.isFunction(text) ) {
+ return this.each(function(i) {
+ var self = jQuery(this);
+ self.text( text.call(this, i, self.text()) );
+ });
+ }
- // remove all handlers for the given type
- else
- for ( var handle in events[type] )
- // Handle the removal of namespaced events
- if ( namespace.test(events[type][handle].type) )
- delete events[type][handle];
-
- if ( jQuery.event.specialAll[type] )
- jQuery.event.specialAll[type].teardown.call(elem, namespaces);
+ if ( typeof text !== "object" && text !== undefined ) {
+ return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
+ }
- // remove generic event handler if no more handlers exist
- for ( ret in events[type] ) break;
- if ( !ret ) {
- if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === false ) {
- if (elem.removeEventListener)
- elem.removeEventListener(type, jQuery.data(elem, "handle"), false);
- else if (elem.detachEvent)
- elem.detachEvent("on" + type, jQuery.data(elem, "handle"));
- }
- ret = null;
- delete events[type];
- }
- }
- });
- }
+ return jQuery.getText( this );
+ },
- // Remove the expando if it's no longer used
- for ( ret in events ) break;
- if ( !ret ) {
- var handle = jQuery.data( elem, "handle" );
- if ( handle ) handle.elem = null;
- jQuery.removeData( elem, "events" );
- jQuery.removeData( elem, "handle" );
+ wrapAll: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each(function(i) {
+ jQuery(this).wrapAll( html.call(this, i) );
+ });
+ }
+
+ if ( this[0] ) {
+ // The elements to wrap the target around
+ var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
+
+ if ( this[0].parentNode ) {
+ wrap.insertBefore( this[0] );
}
+
+ wrap.map(function() {
+ var elem = this;
+
+ while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
+ elem = elem.firstChild;
+ }
+
+ return elem;
+ }).append(this);
}
+
+ return this;
},
- // bubbling is internal
- trigger: function( event, data, elem, bubbling ) {
- // Event object or event type
- var type = event.type || event;
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each(function(i) {
+ jQuery(this).wrapInner( html.call(this, i) );
+ });
+ }
- if( !bubbling ){
- event = typeof event === "object" ?
- // jQuery.Event object
- event[expando] ? event :
- // Object literal
- jQuery.extend( jQuery.Event(type), event ) :
- // Just the event type (string)
- jQuery.Event(type);
+ return this.each(function() {
+ var self = jQuery( this ), contents = self.contents();
- if ( type.indexOf("!") >= 0 ) {
- event.type = type = type.slice(0, -1);
- event.exclusive = true;
- }
+ if ( contents.length ) {
+ contents.wrapAll( html );
- // Handle a global trigger
- if ( !elem ) {
- // Don't bubble custom events when global (to avoid too much overhead)
- event.stopPropagation();
- // Only trigger if we've ever bound an event for it
- if ( this.global[type] )
- jQuery.each( jQuery.cache, function(){
- if ( this.events && this.events[type] )
- jQuery.event.trigger( event, data, this.handle.elem );
- });
+ } else {
+ self.append( html );
}
+ });
+ },
- // Handle triggering a single element
-
- // don't do events on text and comment nodes
- if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
- return undefined;
-
- // Clean up in case it is reused
- event.result = undefined;
- event.target = elem;
-
- // Clone the incoming data, if any
- data = jQuery.makeArray(data);
- data.unshift( event );
- }
+ wrap: function( html ) {
+ return this.each(function() {
+ jQuery( this ).wrapAll( html );
+ });
+ },
- event.currentTarget = elem;
+ unwrap: function() {
+ return this.parent().each(function() {
+ if ( !jQuery.nodeName( this, "body" ) ) {
+ jQuery( this ).replaceWith( this.childNodes );
+ }
+ }).end();
+ },
- // Trigger the event, it is assumed that "handle" is a function
- var handle = jQuery.data(elem, "handle");
- if ( handle )
- handle.apply( elem, data );
+ append: function() {
+ return this.domManip(arguments, true, function( elem ) {
+ if ( this.nodeType === 1 ) {
+ this.appendChild( elem );
+ }
+ });
+ },
- // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
- if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
- event.result = false;
+ prepend: function() {
+ return this.domManip(arguments, true, function( elem ) {
+ if ( this.nodeType === 1 ) {
+ this.insertBefore( elem, this.firstChild );
+ }
+ });
+ },
- // Trigger the native events (except for clicks on links)
- if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) {
- this.triggered = true;
- try {
- elem[ type ]();
- // prevent IE from throwing an error for some hidden elements
- } catch (e) {}
+ before: function() {
+ if ( this[0] && this[0].parentNode ) {
+ return this.domManip(arguments, false, function( elem ) {
+ this.parentNode.insertBefore( elem, this );
+ });
+ } else if ( arguments.length ) {
+ var set = jQuery(arguments[0]);
+ set.push.apply( set, this.toArray() );
+ return this.pushStack( set, "before", arguments );
}
+ },
- this.triggered = false;
-
- if ( !event.isPropagationStopped() ) {
- var parent = elem.parentNode || elem.ownerDocument;
- if ( parent )
- jQuery.event.trigger(event, data, parent, true);
+ after: function() {
+ if ( this[0] && this[0].parentNode ) {
+ return this.domManip(arguments, false, function( elem ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ });
+ } else if ( arguments.length ) {
+ var set = this.pushStack( this, "after", arguments );
+ set.push.apply( set, jQuery(arguments[0]).toArray() );
+ return set;
}
},
- handle: function(event) {
- // returned undefined or false
- var all, handlers;
+ clone: function( events ) {
+ // Do the clone
+ var ret = this.map(function() {
+ if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
+ // IE copies events bound via attachEvent when
+ // using cloneNode. Calling detachEvent on the
+ // clone will also remove the events from the orignal
+ // In order to get around this, we use innerHTML.
+ // Unfortunately, this means some modifications to
+ // attributes in IE that are actually only stored
+ // as properties will not be copied (such as the
+ // the name attribute on an input).
+ var html = this.outerHTML, ownerDocument = this.ownerDocument;
+ if ( !html ) {
+ var div = ownerDocument.createElement("div");
+ div.appendChild( this.cloneNode(true) );
+ html = div.innerHTML;
+ }
- event = arguments[0] = jQuery.event.fix( event || window.event );
- event.currentTarget = this;
-
- // Namespaced event handlers
- var namespaces = event.type.split(".");
- event.type = namespaces.shift();
+ return jQuery.clean([html.replace(rinlinejQuery, "")
+ .replace(rleadingWhitespace, "")], ownerDocument)[0];
+ } else {
+ return this.cloneNode(true);
+ }
+ });
- // Cache this now, all = true means, any handler
- all = !namespaces.length && !event.exclusive;
-
- var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+ // Copy the events from the original to the clone
+ if ( events === true ) {
+ cloneCopyEvent( this, ret );
+ cloneCopyEvent( this.find("*"), ret.find("*") );
+ }
- handlers = ( jQuery.data(this, "events") || {} )[event.type];
+ // Return the cloned set
+ return ret;
+ },
- for ( var j in handlers ) {
- var handler = handlers[j];
+ html: function( value ) {
+ if ( value === undefined ) {
+ return this[0] && this[0].nodeType === 1 ?
+ this[0].innerHTML.replace(rinlinejQuery, "") :
+ null;
- // Filter the functions by class
- if ( all || namespace.test(handler.type) ) {
- // Pass in a reference to the handler function itself
- // So that we can later remove it
- event.handler = handler;
- event.data = handler.data;
+ // See if we can take a shortcut and just use innerHTML
+ } else if ( typeof value === "string" && !/<script/i.test( value ) &&
+ (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
+ !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
- var ret = handler.apply(this, arguments);
+ value = value.replace(rxhtmlTag, fcloseTag);
- if( ret !== undefined ){
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
+ try {
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ // Remove element nodes and prevent memory leaks
+ if ( this[i].nodeType === 1 ) {
+ jQuery.cleanData( this[i].getElementsByTagName("*") );
+ this[i].innerHTML = value;
}
}
- if( event.isImmediatePropagationStopped() )
- break;
-
+ // If using innerHTML throws an exception, use the fallback method
+ } catch(e) {
+ this.empty().append( value );
}
+
+ } else if ( jQuery.isFunction( value ) ) {
+ this.each(function(i){
+ var self = jQuery(this), old = self.html();
+ self.empty().append(function(){
+ return value.call( this, i, old );
+ });
+ });
+
+ } else {
+ this.empty().append( value );
}
+
+ return this;
},
- props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+ replaceWith: function( value ) {
+ if ( this[0] && this[0].parentNode ) {
+ // Make sure that the elements are removed from the DOM before they are inserted
+ // this can help fix replacing a parent with child elements
+ if ( !jQuery.isFunction( value ) ) {
+ value = jQuery( value ).detach();
- fix: function(event) {
- if ( event[expando] )
- return event;
+ } else {
+ return this.each(function(i) {
+ var self = jQuery(this), old = self.html();
+ self.replaceWith( value.call( this, i, old ) );
+ });
+ }
- // store a copy of the original event object
- // and "clone" to set read-only properties
- var originalEvent = event;
- event = jQuery.Event( originalEvent );
+ return this.each(function() {
+ var next = this.nextSibling, parent = this.parentNode;
- for ( var i = this.props.length, prop; i; ){
- prop = this.props[ --i ];
- event[ prop ] = originalEvent[ prop ];
+ jQuery(this).remove();
+
+ if ( next ) {
+ jQuery(next).before( value );
+ } else {
+ jQuery(parent).append( value );
+ }
+ });
+ } else {
+ return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value );
}
+ },
- // Fix target property, if necessary
- if ( !event.target )
- event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
+ detach: function( selector ) {
+ return this.remove( selector, true );
+ },
- // check if target is a textnode (safari)
- if ( event.target.nodeType == 3 )
- event.target = event.target.parentNode;
+ domManip: function( args, table, callback ) {
+ var results, first, value = args[0], scripts = [];
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && event.fromElement )
- event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
+ return this.each(function() {
+ jQuery(this).domManip( args, table, callback, true );
+ });
+ }
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && event.clientX != null ) {
- var doc = document.documentElement, body = document.body;
- event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
- event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
+ if ( jQuery.isFunction(value) ) {
+ return this.each(function(i) {
+ var self = jQuery(this);
+ args[0] = value.call(this, i, table ? self.html() : undefined);
+ self.domManip( args, table, callback );
+ });
}
- // Add which for key events
- if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
- event.which = event.charCode || event.keyCode;
+ if ( this[0] ) {
+ // If we're in a fragment, just use that instead of building a new one
+ if ( args[0] && args[0].parentNode && args[0].parentNode.nodeType === 11 ) {
+ results = { fragment: args[0].parentNode };
+ } else {
+ results = buildFragment( args, this, scripts );
+ }
- // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
- if ( !event.metaKey && event.ctrlKey )
- event.metaKey = event.ctrlKey;
+ first = results.fragment.firstChild;
- // Add which for click: 1 == left; 2 == middle; 3 == right
- // Note: button is not normalized, so don't use it
- if ( !event.which && event.button )
- event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
+ if ( first ) {
+ table = table && jQuery.nodeName( first, "tr" );
- return event;
- },
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ callback.call(
+ table ?
+ root(this[i], first) :
+ this[i],
+ results.cacheable || this.length > 1 || i > 0 ?
+ results.fragment.cloneNode(true) :
+ results.fragment
+ );
+ }
+ }
- proxy: function( fn, proxy ){
- proxy = proxy || function(){ return fn.apply(this, arguments); };
- // Set the guid of unique handler to the same of original handler, so it can be removed
- proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
- // So proxy can be declared as an argument
- return proxy;
- },
+ if ( scripts ) {
+ jQuery.each( scripts, evalScript );
+ }
+ }
- special: {
- ready: {
- // Make sure the ready event is setup
- setup: bindReady,
- teardown: function() {}
+ return this;
+
+ function root( elem, cur ) {
+ return jQuery.nodeName(elem, "table") ?
+ (elem.getElementsByTagName("tbody")[0] ||
+ elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
+ elem;
}
- },
-
- specialAll: {
- live: {
- setup: function( selector, namespaces ){
- jQuery.event.add( this, namespaces[0], liveHandler );
- },
- teardown: function( namespaces ){
- if ( namespaces.length ) {
- var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
-
- jQuery.each( (jQuery.data(this, "events").live || {}), function(){
- if ( name.test(this.type) )
- remove++;
- });
-
- if ( remove < 1 )
- jQuery.event.remove( this, namespaces[0], liveHandler );
+ }
+});
+
+function cloneCopyEvent(orig, ret) {
+ var i = 0;
+
+ ret.each(function() {
+ if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) {
+ return;
+ }
+
+ var oldData = jQuery.data( orig[i++] ), curData = jQuery.data( this, oldData ), events = oldData && oldData.events;
+
+ if ( events ) {
+ delete curData.handle;
+ curData.events = {};
+
+ for ( var type in events ) {
+ for ( var handler in events[ type ] ) {
+ jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
}
}
}
+ });
+}
+
+function buildFragment( args, nodes, scripts ) {
+ var fragment, cacheable, cacheresults, doc;
+
+ // webkit does not clone 'checked' attribute of radio inputs on cloneNode, so don't cache if string has a checked
+ if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && args[0].indexOf("<option") < 0 && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
+ cacheable = true;
+ cacheresults = jQuery.fragments[ args[0] ];
+ if ( cacheresults ) {
+ if ( cacheresults !== 1 ) {
+ fragment = cacheresults;
+ }
+ }
}
-};
-jQuery.Event = function( src ){
- // Allow instantiation without the 'new' keyword
- if( !this.preventDefault )
- return new jQuery.Event(src);
-
- // Event object
- if( src && src.type ){
- this.originalEvent = src;
- this.type = src.type;
- // Event type
- }else
- this.type = src;
+ if ( !fragment ) {
+ doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document);
+ fragment = doc.createDocumentFragment();
+ jQuery.clean( args, doc, fragment, scripts );
+ }
- // timeStamp is buggy for some events on Firefox(#3843)
- // So we won't rely on the native value
- this.timeStamp = now();
-
- // Mark it as fixed
- this[expando] = true;
-};
+ if ( cacheable ) {
+ jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1;
+ }
-function returnFalse(){
- return false;
-}
-function returnTrue(){
- return true;
+ return { fragment: fragment, cacheable: cacheable };
}
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- preventDefault: function() {
- this.isDefaultPrevented = returnTrue;
+jQuery.fragments = {};
- var e = this.originalEvent;
- if( !e )
- return;
- // if preventDefault exists run it on the original event
- if (e.preventDefault)
- e.preventDefault();
- // otherwise set the returnValue property of the original event to false (IE)
- e.returnValue = false;
- },
- stopPropagation: function() {
- this.isPropagationStopped = returnTrue;
+jQuery.each({
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var ret = [], insert = jQuery( selector );
- var e = this.originalEvent;
- if( !e )
- return;
- // if stopPropagation exists run it on the original event
- if (e.stopPropagation)
- e.stopPropagation();
- // otherwise set the cancelBubble property of the original event to true (IE)
- e.cancelBubble = true;
- },
- stopImmediatePropagation:function(){
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- },
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse
-};
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function(event) {
- // Check if mouse(over|out) are still within the same parent element
- var parent = event.relatedTarget;
- // Traverse up the tree
- while ( parent && parent != this )
- try { parent = parent.parentNode; }
- catch(e) { parent = this; }
-
- if( parent != this ){
- // set the correct event type
- event.type = event.data;
- // handle event if we actually just moused on to a non sub-element
- jQuery.event.handle.apply( this, arguments );
- }
-};
-
-jQuery.each({
- mouseover: 'mouseenter',
- mouseout: 'mouseleave'
-}, function( orig, fix ){
- jQuery.event.special[ fix ] = {
- setup: function(){
- jQuery.event.add( this, orig, withinElement, fix );
- },
- teardown: function(){
- jQuery.event.remove( this, orig, withinElement );
+ for ( var i = 0, l = insert.length; i < l; i++ ) {
+ var elems = (i > 0 ? this.clone(true) : this).get();
+ jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
+ ret = ret.concat( elems );
}
- };
+ return this.pushStack( ret, name, insert.selector );
+ };
});
-jQuery.fn.extend({
- bind: function( type, data, fn ) {
- return type == "unload" ? this.one(type, data, fn) : this.each(function(){
- jQuery.event.add( this, type, fn || data, fn && data );
- });
- },
+jQuery.each({
+ // keepData is for internal use only--do not document
+ remove: function( selector, keepData ) {
+ if ( !selector || jQuery.filter( selector, [ this ] ).length ) {
+ if ( !keepData && this.nodeType === 1 ) {
+ jQuery.cleanData( this.getElementsByTagName("*") );
+ jQuery.cleanData( [ this ] );
+ }
- one: function( type, data, fn ) {
- var one = jQuery.event.proxy( fn || data, function(event) {
- jQuery(this).unbind(event, one);
- return (fn || data).apply( this, arguments );
- });
- return this.each(function(){
- jQuery.event.add( this, type, one, fn && data);
- });
+ if ( this.parentNode ) {
+ this.parentNode.removeChild( this );
+ }
+ }
},
- unbind: function( type, fn ) {
- return this.each(function(){
- jQuery.event.remove( this, type, fn );
- });
- },
+ empty: function() {
+ // Remove element nodes and prevent memory leaks
+ if ( this.nodeType === 1 ) {
+ jQuery.cleanData( this.getElementsByTagName("*") );
+ }
- trigger: function( type, data ) {
- return this.each(function(){
- jQuery.event.trigger( type, data, this );
- });
- },
+ // Remove any remaining nodes
+ while ( this.firstChild ) {
+ this.removeChild( this.firstChild );
+ }
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function() {
+ return this.each( fn, arguments );
+ };
+});
- triggerHandler: function( type, data ) {
- if( this[0] ){
- var event = jQuery.Event(type);
- event.preventDefault();
- event.stopPropagation();
- jQuery.event.trigger( event, data, this[0] );
- return event.result;
- }
- },
+jQuery.extend({
+ clean: function( elems, context, fragment, scripts ) {
+ context = context || document;
- toggle: function( fn ) {
- // Save reference to arguments for access in closure
- var args = arguments, i = 1;
+ // !context.createElement fails in IE with an error but returns typeof 'object'
+ if ( typeof context.createElement === "undefined" ) {
+ context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
+ }
- // link all the functions, so any of them can unbind this click handler
- while( i < args.length )
- jQuery.event.proxy( fn, args[i++] );
+ var ret = [];
- return this.click( jQuery.event.proxy( fn, function(event) {
- // Figure out which function to execute
- this.lastToggle = ( this.lastToggle || 0 ) % i;
+ jQuery.each(elems, function( i, elem ) {
+ if ( typeof elem === "number" ) {
+ elem += "";
+ }
- // Make sure that clicks stop
- event.preventDefault();
+ if ( !elem ) {
+ return;
+ }
- // and execute the function
- return args[ this.lastToggle++ ].apply( this, arguments ) || false;
- }));
- },
+ // Convert html string into DOM nodes
+ if ( typeof elem === "string" && !rhtml.test( elem ) ) {
+ elem = context.createTextNode( elem );
- hover: function(fnOver, fnOut) {
- return this.mouseenter(fnOver).mouseleave(fnOut);
- },
+ } else if ( typeof elem === "string" ) {
+ // Fix "XHTML"-style tags in all browsers
+ elem = elem.replace(rxhtmlTag, fcloseTag);
- ready: function(fn) {
- // Attach the listeners
- bindReady();
+ // Trim whitespace, otherwise indexOf won't work as expected
+ var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
+ wrap = wrapMap[ tag ] || wrapMap._default,
+ depth = wrap[0],
+ div = context.createElement("div");
- // If the DOM is already ready
- if ( jQuery.isReady )
- // Execute the function immediately
- fn.call( document, jQuery );
+ // Go to html and back, then peel off extra wrappers
+ div.innerHTML = wrap[1] + elem + wrap[2];
- // Otherwise, remember the function for later
- else
- // Add the function to the wait list
- jQuery.readyList.push( fn );
+ // Move to the right depth
+ while ( depth-- ) {
+ div = div.lastChild;
+ }
- return this;
- },
-
- live: function( type, fn ){
- var proxy = jQuery.event.proxy( fn );
- proxy.guid += this.selector + type;
+ // Remove IE's autoinserted <tbody> from table fragments
+ if ( !jQuery.support.tbody ) {
+
+ // String was a <table>, *may* have spurious <tbody>
+ var hasBody = rtbody.test(elem),
+ tbody = tag === "table" && !hasBody ?
+ div.firstChild && div.firstChild.childNodes :
- jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );
+ // String was a bare <thead> or <tfoot>
+ wrap[1] === "<table>" && !hasBody ?
+ div.childNodes :
+ [];
- return this;
+ for ( var j = tbody.length - 1; j >= 0 ; --j ) {
+ if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
+ tbody[ j ].parentNode.removeChild( tbody[ j ] );
+ }
+ }
+
+ }
+
+ // IE completely kills leading whitespace when innerHTML is used
+ if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
+ div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
+ }
+
+ elem = jQuery.makeArray( div.childNodes );
+ }
+
+ if ( elem.nodeType ) {
+ ret.push( elem );
+ } else {
+ ret = jQuery.merge( ret, elem );
+ }
+
+ });
+
+ if ( fragment ) {
+ for ( var i = 0; ret[i]; i++ ) {
+ if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
+ scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
+ } else {
+ if ( ret[i].nodeType === 1 ) {
+ ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
+ }
+ fragment.appendChild( ret[i] );
+ }
+ }
+ }
+
+ return ret;
},
- die: function( type, fn ){
- jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null );
- return this;
+ cleanData: function( elems ) {
+ for ( var i = 0, elem, id; (elem = elems[i]) != null; i++ ) {
+ jQuery.event.remove( elem );
+ jQuery.removeData( elem );
+ }
}
});
+// exclude the following css properties to add px
+var rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
+ ralpha = /alpha\([^)]*\)/,
+ ropacity = /opacity=([^)]*)/,
+ rfloat = /float/i,
+ rdashAlpha = /-([a-z])/ig,
+ rupper = /([A-Z])/g,
+ rnumpx = /^-?\d+(?:px)?$/i,
+ rnum = /^-?\d/,
+
+ cssShow = { position: "absolute", visibility: "hidden", display:"block" },
+ cssWidth = [ "Left", "Right" ],
+ cssHeight = [ "Top", "Bottom" ],
+
+ // cache check for defaultView.getComputedStyle
+ getComputedStyle = document.defaultView && document.defaultView.getComputedStyle,
+ // normalize float css property
+ styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat",
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
-function liveHandler( event ){
- var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
- stop = true,
- elems = [];
-
- jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
- if ( check.test(fn.type) ) {
- var elem = jQuery(event.target).closest(fn.data)[0];
- if ( elem )
- elems.push({ elem: elem, fn: fn });
+jQuery.fn.css = function( name, value ) {
+ return access( this, name, value, true, function( elem, name, value ) {
+ if ( value === undefined ) {
+ return jQuery.curCSS( elem, name );
+ }
+
+ if ( typeof value === "number" && !rexclude.test(name) ) {
+ value += "px";
}
- });
- elems.sort(function(a,b) {
- return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");
- });
-
- jQuery.each(elems, function(){
- if ( this.fn.call(this.elem, event, this.fn.data) === false )
- return (stop = false);
+ jQuery.style( elem, name, value );
});
+};
- return stop;
-}
+jQuery.extend({
+ style: function( elem, name, value ) {
+ // don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return undefined;
+ }
-function liveConvert(type, selector){
- return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join(".");
-}
+ // ignore negative width and height values #1599
+ if ( (name === "width" || name === "height") && parseFloat(value) < 0 ) {
+ value = undefined;
+ }
-jQuery.extend({
- isReady: false,
- readyList: [],
- // Handle when the DOM is ready
- ready: function() {
- // Make sure that the DOM is not already loaded
- if ( !jQuery.isReady ) {
- // Remember that the DOM is ready
- jQuery.isReady = true;
+ var style = elem.style || elem, set = value !== undefined;
- // If there are functions bound, to execute
- if ( jQuery.readyList ) {
- // Execute all of them
- jQuery.each( jQuery.readyList, function(){
- this.call( document, jQuery );
- });
+ // IE uses filters for opacity
+ if ( !jQuery.support.opacity && name === "opacity" ) {
+ if ( set ) {
+ // IE has trouble with opacity if it does not have layout
+ // Force it by setting the zoom level
+ style.zoom = 1;
- // Reset the list of functions
- jQuery.readyList = null;
+ // Set the alpha filter to set the opacity
+ var opacity = parseInt( value, 10 ) + "" === "NaN" ? "" : "alpha(opacity=" + value * 100 + ")";
+ var filter = style.filter || jQuery.curCSS( elem, "filter" ) || "";
+ style.filter = ralpha.test(filter) ? filter.replace(ralpha, opacity) : opacity;
}
- // Trigger any bound ready events
- jQuery(document).triggerHandler("ready");
+ return style.filter && style.filter.indexOf("opacity=") >= 0 ?
+ (parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":
+ "";
}
- }
-});
-var readyBound = false;
+ // Make sure we're using the right name for getting the float value
+ if ( rfloat.test( name ) ) {
+ name = styleFloat;
+ }
-function bindReady(){
- if ( readyBound ) return;
- readyBound = true;
+ name = name.replace(rdashAlpha, fcamelCase);
- // Mozilla, Opera and webkit nightlies currently support this event
- if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", function(){
- document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
- jQuery.ready();
- }, false );
+ if ( set ) {
+ style[ name ] = value;
+ }
+
+ return style[ name ];
+ },
+
+ css: function( elem, name, force, extra ) {
+ if ( name === "width" || name === "height" ) {
+ var val, props = cssShow, which = name === "width" ? cssWidth : cssHeight;
+
+ function getWH() {
+ val = name === "width" ? elem.offsetWidth : elem.offsetHeight;
+
+ if ( extra === "border" ) {
+ return;
+ }
- // If IE event model is used
- } else if ( document.attachEvent ) {
- // ensure firing before onload,
- // maybe late but safe also for iframes
- document.attachEvent("onreadystatechange", function(){
- if ( document.readyState === "complete" ) {
- document.detachEvent( "onreadystatechange", arguments.callee );
- jQuery.ready();
+ jQuery.each( which, function() {
+ if ( !extra ) {
+ val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
+ }
+
+ if ( extra === "margin" ) {
+ val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
+ } else {
+ val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
+ }
+ });
}
- });
- // If IE and not an iframe
- // continually check to see if the document is ready
- if ( document.documentElement.doScroll && window == window.top ) (function(){
- if ( jQuery.isReady ) return;
+ if ( elem.offsetWidth !== 0 ) {
+ getWH();
+ } else {
+ jQuery.swap( elem, props, getWH );
+ }
- try {
- // If IE is used, use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- document.documentElement.doScroll("left");
- } catch( error ) {
- setTimeout( arguments.callee, 0 );
- return;
+ return Math.max(0, Math.round(val));
+ }
+
+ return jQuery.curCSS( elem, name, force );
+ },
+
+ curCSS: function( elem, name, force ) {
+ var ret, style = elem.style, filter;
+
+ // IE uses filters for opacity
+ if ( !jQuery.support.opacity && name === "opacity" && elem.currentStyle ) {
+ ret = ropacity.test(elem.currentStyle.filter || "") ?
+ (parseFloat(RegExp.$1) / 100) + "" :
+ "";
+
+ return ret === "" ?
+ "1" :
+ ret;
+ }
+
+ // Make sure we're using the right name for getting the float value
+ if ( rfloat.test( name ) ) {
+ name = styleFloat;
+ }
+
+ if ( !force && style && style[ name ] ) {
+ ret = style[ name ];
+
+ } else if ( getComputedStyle ) {
+
+ // Only "float" is needed here
+ if ( rfloat.test( name ) ) {
+ name = "float";
}
- // and execute any waiting functions
- jQuery.ready();
- })();
- }
+ name = name.replace( rupper, "-$1" ).toLowerCase();
- // A fallback to window.onload, that will always work
- jQuery.event.add( window, "load", jQuery.ready );
-}
+ var defaultView = elem.ownerDocument.defaultView;
-jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
- "mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
- "change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){
+ if ( !defaultView ) {
+ return null;
+ }
- // Handle event binding
- jQuery.fn[name] = function(fn){
- return fn ? this.bind(name, fn) : this.trigger(name);
- };
-});
+ var computedStyle = defaultView.getComputedStyle( elem, null );
-// Prevent memory leaks in IE
-// And prevent errors on refresh with events like mouseover in other browsers
-// Window isn't included so as not to unbind existing unload events
-jQuery( window ).bind( 'unload', function(){
- for ( var id in jQuery.cache )
- // Skip the window
- if ( id != 1 && jQuery.cache[ id ].handle )
- jQuery.event.remove( jQuery.cache[ id ].handle.elem );
-});
-(function(){
+ if ( computedStyle ) {
+ ret = computedStyle.getPropertyValue( name );
+ }
- jQuery.support = {};
+ // We should always get a number back from opacity
+ if ( name === "opacity" && ret === "" ) {
+ ret = "1";
+ }
- var root = document.documentElement,
- script = document.createElement("script"),
- div = document.createElement("div"),
- id = "script" + (new Date).getTime();
+ } else if ( elem.currentStyle ) {
+ var camelCase = name.replace(rdashAlpha, fcamelCase);
- div.style.display = "none";
- div.innerHTML = ' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
+ ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
- var all = div.getElementsByTagName("*"),
- a = div.getElementsByTagName("a")[0];
+ // From the awesome hack by Dean Edwards
+ // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
- // Can't get basic test support
- if ( !all || !all.length || !a ) {
- return;
- }
+ // If we're not dealing with a regular pixel number
+ // but a number that has a weird ending, we need to convert it to pixels
+ if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
+ // Remember the original values
+ var left = style.left, rsLeft = elem.runtimeStyle.left;
- jQuery.support = {
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: div.firstChild.nodeType == 3,
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
-
- // Make sure that you can get all elements in an <object> element
- // IE 7 always returns no results
- objectAll: !!div.getElementsByTagName("object")[0]
- .getElementsByTagName("*").length,
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
-
- // Get the style information from getAttribute
- // (IE uses .cssText insted)
- style: /red/.test( a.getAttribute("style") ),
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: a.getAttribute("href") === "/a",
-
- // Make sure that element opacity exists
- // (IE uses filter instead)
- opacity: a.style.opacity === "0.5",
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
+ // Put in the new values to get a computed value out
+ elem.runtimeStyle.left = elem.currentStyle.left;
+ style.left = camelCase === "fontSize" ? "1em" : (ret || 0);
+ ret = style.pixelLeft + "px";
- // Will be defined later
- scriptEval: false,
- noCloneEvent: true,
- boxModel: null
- };
-
- script.type = "text/javascript";
- try {
- script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
- } catch(e){}
+ // Revert the changed values
+ style.left = left;
+ elem.runtimeStyle.left = rsLeft;
+ }
+ }
- root.insertBefore( script, root.firstChild );
-
- // Make sure that the execution of code works by injecting a script
- // tag with appendChild/createTextNode
- // (IE doesn't support this, fails, and uses .text instead)
- if ( window[ id ] ) {
- jQuery.support.scriptEval = true;
- delete window[ id ];
- }
+ return ret;
+ },
- root.removeChild( script );
+ // A method for quickly swapping in/out CSS properties to get correct calculations
+ swap: function( elem, options, callback ) {
+ var old = {};
- if ( div.attachEvent && div.fireEvent ) {
- div.attachEvent("onclick", function(){
- // Cloning a node shouldn't copy over any
- // bound event handlers (IE does this)
- jQuery.support.noCloneEvent = false;
- div.detachEvent("onclick", arguments.callee);
- });
- div.cloneNode(true).fireEvent("onclick");
+ // Remember the old values, and insert the new ones
+ for ( var name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ callback.call( elem );
+
+ // Revert the old values
+ for ( var name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
}
+});
- // Figure out if the W3C box model works as expected
- // document.body must exist before we can do this
- jQuery(function(){
- var div = document.createElement("div");
- div.style.width = div.style.paddingLeft = "1px";
+if ( jQuery.expr && jQuery.expr.filters ) {
+ jQuery.expr.filters.hidden = function( elem ) {
+ var width = elem.offsetWidth, height = elem.offsetHeight,
+ skip = elem.nodeName.toLowerCase() === "tr";
- document.body.appendChild( div );
- jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
- document.body.removeChild( div ).style.display = 'none';
- });
-})();
+ return width === 0 && height === 0 && !skip ?
+ true :
+ width > 0 && height > 0 && !skip ?
+ false :
+ jQuery.curCSS(elem, "display") === "none";
+ };
-var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";
+ jQuery.expr.filters.visible = function( elem ) {
+ return !jQuery.expr.filters.hidden( elem );
+ };
+}
+var jsc = now(),
+ rscript = /<script(.|\s)*?\/script>/gi,
+ rselectTextarea = /select|textarea/i,
+ rinput = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,
+ jsre = /=\?(&|$)/,
+ rquery = /\?/,
+ rts = /(\?|&)_=.*?(&|$)/,
+ rurl = /^(\w+:)?\/\/([^\/?#]+)/,
+ r20 = /%20/g;
-jQuery.props = {
- "for": "htmlFor",
- "class": "className",
- "float": styleFloat,
- cssFloat: styleFloat,
- styleFloat: styleFloat,
- readonly: "readOnly",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- rowspan: "rowSpan",
- tabindex: "tabIndex"
-};
jQuery.fn.extend({
// Keep a copy of the old load
_load: jQuery.fn.load,
load: function( url, params, callback ) {
- if ( typeof url !== "string" )
+ if ( typeof url !== "string" ) {
return this._load( url );
+ // Don't do a request if no elements are being requested
+ } else if ( !this.length ) {
+ return this;
+ }
+
var off = url.indexOf(" ");
if ( off >= 0 ) {
var selector = url.slice(off, url.length);
@@ -3239,7 +4639,7 @@ jQuery.fn.extend({
var type = "GET";
// If the second parameter was provided
- if ( params )
+ if ( params ) {
// If it's a function
if ( jQuery.isFunction( params ) ) {
// We assume that it's the callback
@@ -3247,10 +4647,11 @@ jQuery.fn.extend({
params = null;
// Otherwise, build a param string
- } else if( typeof params === "object" ) {
- params = jQuery.param( params );
+ } else if ( typeof params === "object" ) {
+ params = jQuery.param( params, jQuery.ajaxSettings.traditional );
type = "POST";
}
+ }
var self = this;
@@ -3260,27 +4661,30 @@ jQuery.fn.extend({
type: type,
dataType: "html",
data: params,
- complete: function(res, status){
+ complete: function( res, status ) {
// If successful, inject the HTML into all the matched elements
- if ( status == "success" || status == "notmodified" )
+ if ( status === "success" || status === "notmodified" ) {
// See if a selector was specified
self.html( selector ?
// Create a dummy div to hold the results
- jQuery("<div/>")
+ jQuery("<div />")
// inject the contents of the document in, removing the scripts
// to avoid any 'Permission Denied' errors in IE
- .append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))
+ .append(res.responseText.replace(rscript, ""))
// Locate the specified elements
.find(selector) :
// If not, just inject the full result
res.responseText );
+ }
- if( callback )
+ if ( callback ) {
self.each( callback, [res.responseText, status, res] );
+ }
}
});
+
return this;
},
@@ -3288,40 +4692,41 @@ jQuery.fn.extend({
return jQuery.param(this.serializeArray());
},
serializeArray: function() {
- return this.map(function(){
+ return this.map(function() {
return this.elements ? jQuery.makeArray(this.elements) : this;
})
- .filter(function(){
+ .filter(function() {
return this.name && !this.disabled &&
- (this.checked || /select|textarea/i.test(this.nodeName) ||
- /text|hidden|password|search/i.test(this.type));
+ (this.checked || rselectTextarea.test(this.nodeName) ||
+ rinput.test(this.type));
})
- .map(function(i, elem){
+ .map(function( i, elem ) {
var val = jQuery(this).val();
- return val == null ? null :
+
+ return val == null ?
+ null :
jQuery.isArray(val) ?
- jQuery.map( val, function(val, i){
- return {name: elem.name, value: val};
+ jQuery.map( val, function( val, i ) {
+ return { name: elem.name, value: val };
}) :
- {name: elem.name, value: val};
+ { name: elem.name, value: val };
}).get();
}
});
// Attach a bunch of functions for handling common AJAX events
-jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){
- jQuery.fn[o] = function(f){
+jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) {
+ jQuery.fn[o] = function( f ) {
return this.bind(o, f);
};
});
-var jsc = now();
-
jQuery.extend({
-
+
get: function( url, data, callback, type ) {
- // shift arguments if data argument was ommited
+ // shift arguments if data argument was omited
if ( jQuery.isFunction( data ) ) {
+ type = type || callback;
callback = data;
data = null;
}
@@ -3344,7 +4749,9 @@ jQuery.extend({
},
post: function( url, data, callback, type ) {
+ // shift arguments if data argument was omited
if ( jQuery.isFunction( data ) ) {
+ type = type || callback;
callback = data;
data = {};
}
@@ -3374,13 +4781,21 @@ jQuery.extend({
data: null,
username: null,
password: null,
+ traditional: false,
*/
// Create the request object; Microsoft failed to properly
- // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
+ // implement the XMLHttpRequest in IE7 (can't request local files),
+ // so we use the ActiveXObject when it is available
// This function can be overriden by calling jQuery.ajaxSetup
- xhr:function(){
- return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
- },
+ xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ?
+ function() {
+ return new window.XMLHttpRequest();
+ } :
+ function() {
+ try {
+ return new window.ActiveXObject("Microsoft.XMLHTTP");
+ } catch(e) {}
+ },
accepts: {
xml: "application/xml, text/xml",
html: "text/html",
@@ -3393,36 +4808,41 @@ jQuery.extend({
// Last-Modified header cache for next request
lastModified: {},
+ etag: {},
- ajax: function( s ) {
- // Extend the settings, but re-extend 's' so that it can be
- // checked again later (in the test suite, specifically)
- s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
-
- var jsonp, jsre = /=\?(&|$)/g, status, data,
+ ajax: function( origSettings ) {
+ var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);
+
+ var jsonp, status, data,
+ callbackContext = origSettings && origSettings.context || s,
type = s.type.toUpperCase();
// convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" )
- s.data = jQuery.param(s.data);
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
// Handle JSONP Parameter Callbacks
- if ( s.dataType == "jsonp" ) {
- if ( type == "GET" ) {
- if ( !s.url.match(jsre) )
- s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?";
- } else if ( !s.data || !s.data.match(jsre) )
+ if ( s.dataType === "jsonp" ) {
+ if ( type === "GET" ) {
+ if ( !jsre.test( s.url ) ) {
+ s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?";
+ }
+ } else if ( !s.data || !jsre.test(s.data) ) {
s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
+ }
s.dataType = "json";
}
// Build temporary JSONP function
- if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) {
- jsonp = "jsonp" + jsc++;
+ if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) {
+ jsonp = s.jsonpCallback || ("jsonp" + jsc++);
// Replace the =? sequence both in the query string and the data
- if ( s.data )
+ if ( s.data ) {
s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
+ }
+
s.url = s.url.replace(jsre, "=" + jsonp + "$1");
// We need to make sure
@@ -3430,75 +4850,85 @@ jQuery.extend({
s.dataType = "script";
// Handle JSONP-style loading
- window[ jsonp ] = function(tmp){
+ window[ jsonp ] = window[ jsonp ] || function( tmp ) {
data = tmp;
success();
complete();
// Garbage collect
window[ jsonp ] = undefined;
- try{ delete window[ jsonp ]; } catch(e){}
- if ( head )
+
+ try {
+ delete window[ jsonp ];
+ } catch(e) {}
+
+ if ( head ) {
head.removeChild( script );
+ }
};
}
- if ( s.dataType == "script" && s.cache == null )
+ if ( s.dataType === "script" && s.cache === null ) {
s.cache = false;
+ }
- if ( s.cache === false && type == "GET" ) {
+ if ( s.cache === false && type === "GET" ) {
var ts = now();
+
// try replacing _= if it is there
- var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
+ var ret = s.url.replace(rts, "$1_=" + ts + "$2");
+
// if nothing was replaced, add timestamp to the end
- s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : "");
+ s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
}
// If data is available, append data to url for get requests
- if ( s.data && type == "GET" ) {
- s.url += (s.url.match(/\?/) ? "&" : "?") + s.data;
-
- // IE likes to send both get and post data, prevent this
- s.data = null;
+ if ( s.data && type === "GET" ) {
+ s.url += (rquery.test(s.url) ? "&" : "?") + s.data;
}
// Watch for a new set of requests
- if ( s.global && ! jQuery.active++ )
+ if ( s.global && ! jQuery.active++ ) {
jQuery.event.trigger( "ajaxStart" );
+ }
// Matches an absolute URL, and saves the domain
- var parts = /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );
+ var parts = rurl.exec( s.url ),
+ remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host);
// If we're requesting a remote document
// and trying to load JSON or Script with a GET
- if ( s.dataType == "script" && type == "GET" && parts
- && ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){
-
- var head = document.getElementsByTagName("head")[0];
+ if ( s.dataType === "script" && type === "GET" && remote ) {
+ var head = document.getElementsByTagName("head")[0] || document.documentElement;
var script = document.createElement("script");
script.src = s.url;
- if (s.scriptCharset)
+ if ( s.scriptCharset ) {
script.charset = s.scriptCharset;
+ }
// Handle Script loading
if ( !jsonp ) {
var done = false;
// Attach handlers for all browsers
- script.onload = script.onreadystatechange = function(){
+ script.onload = script.onreadystatechange = function() {
if ( !done && (!this.readyState ||
- this.readyState == "loaded" || this.readyState == "complete") ) {
+ this.readyState === "loaded" || this.readyState === "complete") ) {
done = true;
success();
complete();
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
- head.removeChild( script );
+ if ( head && script.parentNode ) {
+ head.removeChild( script );
+ }
}
};
}
- head.appendChild(script);
+ // Use insertBefore instead of appendChild to circumvent an IE6 bug.
+ // This arises when a base node is used (#2709 and #4378).
+ head.insertBefore( script, head.firstChild );
// We handle everything using the script element injection
return undefined;
@@ -3509,158 +4939,197 @@ jQuery.extend({
// Create the request object
var xhr = s.xhr();
+ if ( !xhr ) {
+ return;
+ }
+
// Open the socket
// Passing null username, generates a login popup on Opera (#2865)
- if( s.username )
+ if ( s.username ) {
xhr.open(type, s.url, s.async, s.username, s.password);
- else
+ } else {
xhr.open(type, s.url, s.async);
+ }
// Need an extra try/catch for cross domain requests in Firefox 3
try {
// Set the correct header, if data is being sent
- if ( s.data )
+ if ( s.data || origSettings && origSettings.contentType ) {
xhr.setRequestHeader("Content-Type", s.contentType);
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[s.url] ) {
+ xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]);
+ }
- // Set the If-Modified-Since header, if ifModified mode.
- if ( s.ifModified )
- xhr.setRequestHeader("If-Modified-Since",
- jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );
+ if ( jQuery.etag[s.url] ) {
+ xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);
+ }
+ }
// Set header so the called script knows that it's an XMLHttpRequest
- xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
+ // Only send the header if it's not a remote XHR
+ if ( !remote ) {
+ xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
+ }
// Set the Accepts header for the server, depending on the dataType
xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?
s.accepts[ s.dataType ] + ", */*" :
s.accepts._default );
- } catch(e){}
+ } catch(e) {}
// Allow custom headers/mimetypes and early abort
- if ( s.beforeSend && s.beforeSend(xhr, s) === false ) {
+ if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) === false ) {
// Handle the global AJAX counter
- if ( s.global && ! --jQuery.active )
+ if ( s.global && ! --jQuery.active ) {
jQuery.event.trigger( "ajaxStop" );
+ }
+
// close opended socket
xhr.abort();
return false;
}
- if ( s.global )
- jQuery.event.trigger("ajaxSend", [xhr, s]);
+ if ( s.global ) {
+ trigger("ajaxSend", [xhr, s]);
+ }
// Wait for a response to come back
- var onreadystatechange = function(isTimeout){
- // The request was aborted, clear the interval and decrement jQuery.active
- if (xhr.readyState == 0) {
- if (ival) {
- // clear poll interval
- clearInterval(ival);
- ival = null;
- // Handle the global AJAX counter
- if ( s.global && ! --jQuery.active )
- jQuery.event.trigger( "ajaxStop" );
+ var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) {
+ // The request was aborted
+ if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) {
+ // Opera doesn't call onreadystatechange before this point
+ // so we simulate the call
+ if ( !requestDone ) {
+ complete();
+ }
+
+ requestDone = true;
+ if ( xhr ) {
+ xhr.onreadystatechange = jQuery.noop;
}
+
// The transfer is complete and the data is available, or the request timed out
- } else if ( !requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout") ) {
+ } else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) {
requestDone = true;
+ xhr.onreadystatechange = jQuery.noop;
- // clear poll interval
- if (ival) {
- clearInterval(ival);
- ival = null;
- }
+ status = isTimeout === "timeout" ?
+ "timeout" :
+ !jQuery.httpSuccess( xhr ) ?
+ "error" :
+ s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?
+ "notmodified" :
+ "success";
- status = isTimeout == "timeout" ? "timeout" :
- !jQuery.httpSuccess( xhr ) ? "error" :
- s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? "notmodified" :
- "success";
+ var errMsg;
- if ( status == "success" ) {
+ if ( status === "success" ) {
// Watch for, and catch, XML document parse errors
try {
// process the data (runs the xml through httpData regardless of callback)
data = jQuery.httpData( xhr, s.dataType, s );
- } catch(e) {
+ } catch(err) {
status = "parsererror";
+ errMsg = err;
}
}
// Make sure that the request was successful or notmodified
- if ( status == "success" ) {
- // Cache Last-Modified header, if ifModified mode.
- var modRes;
- try {
- modRes = xhr.getResponseHeader("Last-Modified");
- } catch(e) {} // swallow exception thrown by FF if header is not available
-
- if ( s.ifModified && modRes )
- jQuery.lastModified[s.url] = modRes;
-
+ if ( status === "success" || status === "notmodified" ) {
// JSONP handles its own success callback
- if ( !jsonp )
+ if ( !jsonp ) {
success();
- } else
- jQuery.handleError(s, xhr, status);
+ }
+ } else {
+ jQuery.handleError(s, xhr, status, errMsg);
+ }
// Fire the complete handlers
complete();
- if ( isTimeout )
+ if ( isTimeout === "timeout" ) {
xhr.abort();
+ }
// Stop memory leaks
- if ( s.async )
+ if ( s.async ) {
xhr = null;
+ }
}
};
- if ( s.async ) {
- // don't attach the handler to the request, just poll it instead
- var ival = setInterval(onreadystatechange, 13);
+ // Override the abort handler, if we can (IE doesn't allow it, but that's OK)
+ // Opera doesn't fire onreadystatechange at all on abort
+ try {
+ var oldAbort = xhr.abort;
+ xhr.abort = function() {
+ if ( xhr ) {
+ oldAbort.call( xhr );
+ }
- // Timeout checker
- if ( s.timeout > 0 )
- setTimeout(function(){
- // Check to see if the request is still happening
- if ( xhr && !requestDone )
- onreadystatechange( "timeout" );
- }, s.timeout);
+ onreadystatechange( "abort" );
+ };
+ } catch(e) { }
+
+ // Timeout checker
+ if ( s.async && s.timeout > 0 ) {
+ setTimeout(function() {
+ // Check to see if the request is still happening
+ if ( xhr && !requestDone ) {
+ onreadystatechange( "timeout" );
+ }
+ }, s.timeout);
}
// Send the data
try {
- xhr.send(s.data);
+ xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null );
} catch(e) {
jQuery.handleError(s, xhr, null, e);
+ // Fire the complete handlers
+ complete();
}
// firefox 1.5 doesn't fire statechange for sync requests
- if ( !s.async )
+ if ( !s.async ) {
onreadystatechange();
+ }
- function success(){
+ function success() {
// If a local callback was specified, fire it and pass it the data
- if ( s.success )
- s.success( data, status );
+ if ( s.success ) {
+ s.success.call( callbackContext, data, status, xhr );
+ }
// Fire the global callback
- if ( s.global )
- jQuery.event.trigger( "ajaxSuccess", [xhr, s] );
+ if ( s.global ) {
+ trigger( "ajaxSuccess", [xhr, s] );
+ }
}
- function complete(){
+ function complete() {
// Process result
- if ( s.complete )
- s.complete(xhr, status);
+ if ( s.complete ) {
+ s.complete.call( callbackContext, xhr, status);
+ }
// The request was completed
- if ( s.global )
- jQuery.event.trigger( "ajaxComplete", [xhr, s] );
+ if ( s.global ) {
+ trigger( "ajaxComplete", [xhr, s] );
+ }
// Handle the global AJAX counter
- if ( s.global && ! --jQuery.active )
+ if ( s.global && ! --jQuery.active ) {
jQuery.event.trigger( "ajaxStop" );
+ }
+ }
+
+ function trigger(type, args) {
+ (s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);
}
// return XMLHttpRequest to allow aborting the request etc.
@@ -3669,11 +5138,14 @@ jQuery.extend({
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
- if ( s.error ) s.error( xhr, status, e );
+ if ( s.error ) {
+ s.error.call( s.context || s, xhr, status, e );
+ }
// Fire the global callback
- if ( s.global )
- jQuery.event.trigger( "ajaxError", [xhr, s, e] );
+ if ( s.global ) {
+ (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
+ }
},
// Counter for holding the number of active queries
@@ -3683,86 +5155,131 @@ jQuery.extend({
httpSuccess: function( xhr ) {
try {
// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
- return !xhr.status && location.protocol == "file:" ||
- ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;
- } catch(e){}
+ return !xhr.status && location.protocol === "file:" ||
+ // Opera returns 0 when status is 304
+ ( xhr.status >= 200 && xhr.status < 300 ) ||
+ xhr.status === 304 || xhr.status === 1223 || xhr.status === 0;
+ } catch(e) {}
+
return false;
},
// Determines if an XMLHttpRequest returns NotModified
httpNotModified: function( xhr, url ) {
- try {
- var xhrRes = xhr.getResponseHeader("Last-Modified");
+ var lastModified = xhr.getResponseHeader("Last-Modified"),
+ etag = xhr.getResponseHeader("Etag");
- // Firefox always returns 200. check Last-Modified date
- return xhr.status == 304 || xhrRes == jQuery.lastModified[url];
- } catch(e){}
- return false;
+ if ( lastModified ) {
+ jQuery.lastModified[url] = lastModified;
+ }
+
+ if ( etag ) {
+ jQuery.etag[url] = etag;
+ }
+
+ // Opera returns 0 when status is 304
+ return xhr.status === 304 || xhr.status === 0;
},
httpData: function( xhr, type, s ) {
- var ct = xhr.getResponseHeader("content-type"),
- xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,
+ var ct = xhr.getResponseHeader("content-type") || "",
+ xml = type === "xml" || !type && ct.indexOf("xml") >= 0,
data = xml ? xhr.responseXML : xhr.responseText;
- if ( xml && data.documentElement.tagName == "parsererror" )
- throw "parsererror";
-
+ if ( xml && data.documentElement.nodeName === "parsererror" ) {
+ jQuery.error( "parsererror" );
+ }
+
// Allow a pre-filtering function to sanitize the response
- // s != null is checked to keep backwards compatibility
- if( s && s.dataFilter )
+ // s is checked to keep backwards compatibility
+ if ( s && s.dataFilter ) {
data = s.dataFilter( data, type );
+ }
// The filter can actually parse the response
- if( typeof data === "string" ){
+ if ( typeof data === "string" ) {
+ // Get the JavaScript object, if JSON is used.
+ if ( type === "json" || !type && ct.indexOf("json") >= 0 ) {
+ data = jQuery.parseJSON( data );
// If the type is "script", eval it in global context
- if ( type == "script" )
+ } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) {
jQuery.globalEval( data );
-
- // Get the JavaScript object, if JSON is used.
- if ( type == "json" )
- data = window["eval"]("(" + data + ")");
+ }
}
-
+
return data;
},
// Serialize an array of form elements or a set of
// key/values into a query string
- param: function( a ) {
- var s = [ ];
-
- function add( key, value ){
- s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(value);
- };
-
- // If an array was passed in, assume that it is an array
- // of form elements
- if ( jQuery.isArray(a) || a.jquery )
+ param: function( a, traditional ) {
+ var s = [];
+
+ // Set traditional to true for jQuery <= 1.3.2 behavior.
+ if ( traditional === undefined ) {
+ traditional = jQuery.ajaxSettings.traditional;
+ }
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( jQuery.isArray(a) || a.jquery ) {
// Serialize the form elements
- jQuery.each( a, function(){
+ jQuery.each( a, function() {
add( this.name, this.value );
});
-
- // Otherwise, assume that it's an object of key/value pairs
- else
- // Serialize the key/values
- for ( var j in a )
- // If the value is an array then the key names need to be repeated
- if ( jQuery.isArray(a[j]) )
- jQuery.each( a[j], function(){
- add( j, this );
- });
- else
- add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );
+
+ } else {
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( var prefix in a ) {
+ buildParams( prefix, a[prefix] );
+ }
+ }
// Return the resulting serialization
- return s.join("&").replace(/%20/g, "+");
- }
+ return s.join("&").replace(r20, "+");
+
+ function buildParams( prefix, obj ) {
+ if ( jQuery.isArray(obj) ) {
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional ) {
+ // Treat each array item as a scalar.
+ add( prefix, v );
+ } else {
+ // If array item is non-scalar (array or object), encode its
+ // numeric index to resolve deserialization ambiguity issues.
+ // Note that rack (as of 1.0.0) can't currently deserialize
+ // nested arrays properly, and attempting to do so may cause
+ // a server error. Possible fixes are to modify rack's
+ // deserialization algorithm or to provide an option or flag
+ // to force array serialization to be shallow.
+ buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v );
+ }
+ });
+
+ } else if ( !traditional && obj != null && typeof obj === "object" ) {
+ // Serialize object item.
+ jQuery.each( obj, function( k, v ) {
+ buildParams( prefix + "[" + k + "]", v );
+ });
+
+ } else {
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+ }
+ function add( key, value ) {
+ // If value is a function, invoke it and return its value
+ value = jQuery.isFunction(value) ? value() : value;
+ s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
+ }
+ }
});
var elemdisplay = {},
+ rfxtypes = /toggle|show|hide/,
+ rfxnum = /^([+-]=)?([\d+-.]+)(.*)$/,
timerId,
fxAttrs = [
// height animations
@@ -3773,69 +5290,67 @@ var elemdisplay = {},
[ "opacity" ]
];
-function genFx( type, num ){
- var obj = {};
- jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){
- obj[ this ] = type;
- });
- return obj;
-}
-
jQuery.fn.extend({
- show: function(speed,callback){
- if ( speed ) {
+ show: function( speed, callback ) {
+ if ( speed || speed === 0) {
return this.animate( genFx("show", 3), speed, callback);
+
} else {
- for ( var i = 0, l = this.length; i < l; i++ ){
+ for ( var i = 0, l = this.length; i < l; i++ ) {
var old = jQuery.data(this[i], "olddisplay");
-
+
this[i].style.display = old || "";
-
+
if ( jQuery.css(this[i], "display") === "none" ) {
- var tagName = this[i].tagName, display;
-
- if ( elemdisplay[ tagName ] ) {
- display = elemdisplay[ tagName ];
+ var nodeName = this[i].nodeName, display;
+
+ if ( elemdisplay[ nodeName ] ) {
+ display = elemdisplay[ nodeName ];
+
} else {
- var elem = jQuery("<" + tagName + " />").appendTo("body");
-
+ var elem = jQuery("<" + nodeName + " />").appendTo("body");
+
display = elem.css("display");
- if ( display === "none" )
+
+ if ( display === "none" ) {
display = "block";
-
+ }
+
elem.remove();
-
- elemdisplay[ tagName ] = display;
+
+ elemdisplay[ nodeName ] = display;
}
-
+
jQuery.data(this[i], "olddisplay", display);
}
}
// Set the display of the elements in a second loop
// to avoid the constant reflow
- for ( var i = 0, l = this.length; i < l; i++ ){
- this[i].style.display = jQuery.data(this[i], "olddisplay") || "";
+ for ( var j = 0, k = this.length; j < k; j++ ) {
+ this[j].style.display = jQuery.data(this[j], "olddisplay") || "";
}
-
+
return this;
}
},
- hide: function(speed,callback){
- if ( speed ) {
+ hide: function( speed, callback ) {
+ if ( speed || speed === 0 ) {
return this.animate( genFx("hide", 3), speed, callback);
+
} else {
- for ( var i = 0, l = this.length; i < l; i++ ){
+ for ( var i = 0, l = this.length; i < l; i++ ) {
var old = jQuery.data(this[i], "olddisplay");
- if ( !old && old !== "none" )
+ if ( !old && old !== "none" ) {
jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
+ }
}
// Set the display of the elements in a second loop
// to avoid the constant reflow
- for ( var i = 0, l = this.length; i < l; i++ ){
- this[i].style.display = "none";
+ for ( var j = 0, k = this.length; j < k; j++ ) {
+ this[j].style.display = "none";
}
return this;
@@ -3845,77 +5360,107 @@ jQuery.fn.extend({
// Save the old toggle function
_toggle: jQuery.fn.toggle,
- toggle: function( fn, fn2 ){
+ toggle: function( fn, fn2 ) {
var bool = typeof fn === "boolean";
- return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
- this._toggle.apply( this, arguments ) :
- fn == null || bool ?
- this.each(function(){
- var state = bool ? fn : jQuery(this).is(":hidden");
- jQuery(this)[ state ? "show" : "hide" ]();
- }) :
- this.animate(genFx("toggle", 3), fn, fn2);
+ if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
+ this._toggle.apply( this, arguments );
+
+ } else if ( fn == null || bool ) {
+ this.each(function() {
+ var state = bool ? fn : jQuery(this).is(":hidden");
+ jQuery(this)[ state ? "show" : "hide" ]();
+ });
+
+ } else {
+ this.animate(genFx("toggle", 3), fn, fn2);
+ }
+
+ return this;
},
- fadeTo: function(speed,to,callback){
- return this.animate({opacity: to}, speed, callback);
+ fadeTo: function( speed, to, callback ) {
+ return this.filter(":hidden").css("opacity", 0).show().end()
+ .animate({opacity: to}, speed, callback);
},
animate: function( prop, speed, easing, callback ) {
var optall = jQuery.speed(speed, easing, callback);
- return this[ optall.queue === false ? "each" : "queue" ](function(){
-
+ if ( jQuery.isEmptyObject( prop ) ) {
+ return this.each( optall.complete );
+ }
+
+ return this[ optall.queue === false ? "each" : "queue" ](function() {
var opt = jQuery.extend({}, optall), p,
- hidden = this.nodeType == 1 && jQuery(this).is(":hidden"),
+ hidden = this.nodeType === 1 && jQuery(this).is(":hidden"),
self = this;
-
+
for ( p in prop ) {
- if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
+ var name = p.replace(rdashAlpha, fcamelCase);
+
+ if ( p !== name ) {
+ prop[ name ] = prop[ p ];
+ delete prop[ p ];
+ p = name;
+ }
+
+ if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) {
return opt.complete.call(this);
+ }
- if ( ( p == "height" || p == "width" ) && this.style ) {
+ if ( ( p === "height" || p === "width" ) && this.style ) {
// Store display property
opt.display = jQuery.css(this, "display");
// Make sure that nothing sneaks out
opt.overflow = this.style.overflow;
}
+
+ if ( jQuery.isArray( prop[p] ) ) {
+ // Create (if needed) and add to specialEasing
+ (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1];
+ prop[p] = prop[p][0];
+ }
}
- if ( opt.overflow != null )
+ if ( opt.overflow != null ) {
this.style.overflow = "hidden";
+ }
opt.curAnim = jQuery.extend({}, prop);
- jQuery.each( prop, function(name, val){
+ jQuery.each( prop, function( name, val ) {
var e = new jQuery.fx( self, opt, name );
- if ( /toggle|show|hide/.test(val) )
- e[ val == "toggle" ? hidden ? "show" : "hide" : val ]( prop );
- else {
- var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
+ if ( rfxtypes.test(val) ) {
+ e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop );
+
+ } else {
+ var parts = rfxnum.exec(val),
start = e.cur(true) || 0;
if ( parts ) {
- var end = parseFloat(parts[2]),
+ var end = parseFloat( parts[2] ),
unit = parts[3] || "px";
// We need to compute starting value
- if ( unit != "px" ) {
+ if ( unit !== "px" ) {
self.style[ name ] = (end || 1) + unit;
start = ((end || 1) / e.cur(true)) * start;
self.style[ name ] = start + unit;
}
// If a +=/-= token was provided, we're doing a relative animation
- if ( parts[1] )
- end = ((parts[1] == "-=" ? -1 : 1) * end) + start;
+ if ( parts[1] ) {
+ end = ((parts[1] === "-=" ? -1 : 1) * end) + start;
+ }
e.custom( start, end, unit );
- } else
+
+ } else {
e.custom( start, val, "" );
+ }
}
});
@@ -3924,26 +5469,31 @@ jQuery.fn.extend({
});
},
- stop: function(clearQueue, gotoEnd){
+ stop: function( clearQueue, gotoEnd ) {
var timers = jQuery.timers;
- if (clearQueue)
+ if ( clearQueue ) {
this.queue([]);
+ }
- this.each(function(){
+ this.each(function() {
// go in reverse order so anything added to the queue during the loop is ignored
- for ( var i = timers.length - 1; i >= 0; i-- )
- if ( timers[i].elem == this ) {
- if (gotoEnd)
+ for ( var i = timers.length - 1; i >= 0; i-- ) {
+ if ( timers[i].elem === this ) {
+ if (gotoEnd) {
// force the next step to be the last
timers[i](true);
+ }
+
timers.splice(i, 1);
}
+ }
});
// start the next in the queue if the last step wasn't forced
- if (!gotoEnd)
+ if ( !gotoEnd ) {
this.dequeue();
+ }
return this;
}
@@ -3957,16 +5507,15 @@ jQuery.each({
slideToggle: genFx("toggle", 1),
fadeIn: { opacity: "show" },
fadeOut: { opacity: "hide" }
-}, function( name, props ){
- jQuery.fn[ name ] = function( speed, callback ){
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, callback ) {
return this.animate( props, speed, callback );
};
});
jQuery.extend({
-
- speed: function(speed, easing, fn) {
- var opt = typeof speed === "object" ? speed : {
+ speed: function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? speed : {
complete: fn || !fn && easing ||
jQuery.isFunction( speed ) && speed,
duration: speed,
@@ -3978,11 +5527,13 @@ jQuery.extend({
// Queueing
opt.old = opt.complete;
- opt.complete = function(){
- if ( opt.queue !== false )
+ opt.complete = function() {
+ if ( opt.queue !== false ) {
jQuery(this).dequeue();
- if ( jQuery.isFunction( opt.old ) )
+ }
+ if ( jQuery.isFunction( opt.old ) ) {
opt.old.call( this );
+ }
};
return opt;
@@ -3999,42 +5550,45 @@ jQuery.extend({
timers: [],
- fx: function( elem, options, prop ){
+ fx: function( elem, options, prop ) {
this.options = options;
this.elem = elem;
this.prop = prop;
- if ( !options.orig )
+ if ( !options.orig ) {
options.orig = {};
+ }
}
});
jQuery.fx.prototype = {
-
// Simple function for setting a style value
- update: function(){
- if ( this.options.step )
+ update: function() {
+ if ( this.options.step ) {
this.options.step.call( this.elem, this.now, this );
+ }
(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
// Set display property to block for height/width animations
- if ( ( this.prop == "height" || this.prop == "width" ) && this.elem.style )
+ if ( ( this.prop === "height" || this.prop === "width" ) && this.elem.style ) {
this.elem.style.display = "block";
+ }
},
// Get the current size
- cur: function(force){
- if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) )
+ cur: function( force ) {
+ if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) {
return this.elem[ this.prop ];
+ }
var r = parseFloat(jQuery.css(this.elem, this.prop, force));
return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
},
// Start an animation from one number to another
- custom: function(from, to, unit){
+ custom: function( from, to, unit ) {
this.startTime = now();
this.start = from;
this.end = to;
@@ -4043,47 +5597,36 @@ jQuery.fx.prototype = {
this.pos = this.state = 0;
var self = this;
- function t(gotoEnd){
+ function t( gotoEnd ) {
return self.step(gotoEnd);
}
t.elem = this.elem;
if ( t() && jQuery.timers.push(t) && !timerId ) {
- timerId = setInterval(function(){
- var timers = jQuery.timers;
-
- for ( var i = 0; i < timers.length; i++ )
- if ( !timers[i]() )
- timers.splice(i--, 1);
-
- if ( !timers.length ) {
- clearInterval( timerId );
- timerId = undefined;
- }
- }, 13);
+ timerId = setInterval(jQuery.fx.tick, 13);
}
},
// Simple 'show' function
- show: function(){
+ show: function() {
// Remember where we started, so that we can go back to it later
- this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
+ this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
this.options.show = true;
// Begin the animation
// Make sure that we start at a small width/height to avoid any
// flash of content
- this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());
+ this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur());
// Start by showing the element
- jQuery(this.elem).show();
+ jQuery( this.elem ).show();
},
// Simple 'hide' function
- hide: function(){
+ hide: function() {
// Remember where we started, so that we can go back to it later
- this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
+ this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
this.options.hide = true;
// Begin the animation
@@ -4091,8 +5634,8 @@ jQuery.fx.prototype = {
},
// Each step of an animation
- step: function(gotoEnd){
- var t = now();
+ step: function( gotoEnd ) {
+ var t = now(), done = true;
if ( gotoEnd || t >= this.options.duration + this.startTime ) {
this.now = this.end;
@@ -4101,10 +5644,11 @@ jQuery.fx.prototype = {
this.options.curAnim[ this.prop ] = true;
- var done = true;
- for ( var i in this.options.curAnim )
- if ( this.options.curAnim[i] !== true )
+ for ( var i in this.options.curAnim ) {
+ if ( this.options.curAnim[i] !== true ) {
done = false;
+ }
+ }
if ( done ) {
if ( this.options.display != null ) {
@@ -4112,31 +5656,40 @@ jQuery.fx.prototype = {
this.elem.style.overflow = this.options.overflow;
// Reset the display
- this.elem.style.display = this.options.display;
- if ( jQuery.css(this.elem, "display") == "none" )
+ var old = jQuery.data(this.elem, "olddisplay");
+ this.elem.style.display = old ? old : this.options.display;
+
+ if ( jQuery.css(this.elem, "display") === "none" ) {
this.elem.style.display = "block";
+ }
}
// Hide the element if the "hide" operation was done
- if ( this.options.hide )
+ if ( this.options.hide ) {
jQuery(this.elem).hide();
+ }
// Reset the properties, if the item has been hidden or shown
- if ( this.options.hide || this.options.show )
- for ( var p in this.options.curAnim )
- jQuery.attr(this.elem.style, p, this.options.orig[p]);
-
+ if ( this.options.hide || this.options.show ) {
+ for ( var p in this.options.curAnim ) {
+ jQuery.style(this.elem, p, this.options.orig[p]);
+ }
+ }
+
// Execute the complete function
this.options.complete.call( this.elem );
}
return false;
+
} else {
var n = t - this.startTime;
this.state = n / this.options.duration;
// Perform the easing function, defaults to swing
- this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);
+ var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop];
+ var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear");
+ this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration);
this.now = this.start + ((this.end - this.start) * this.pos);
// Perform the next step of the animation
@@ -4145,232 +5698,382 @@ jQuery.fx.prototype = {
return true;
}
-
};
jQuery.extend( jQuery.fx, {
- speeds:{
+ tick: function() {
+ var timers = jQuery.timers;
+
+ for ( var i = 0; i < timers.length; i++ ) {
+ if ( !timers[i]() ) {
+ timers.splice(i--, 1);
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ },
+
+ stop: function() {
+ clearInterval( timerId );
+ timerId = null;
+ },
+
+ speeds: {
slow: 600,
fast: 200,
// Default speed
_default: 400
},
- step: {
- opacity: function(fx){
- jQuery.attr(fx.elem.style, "opacity", fx.now);
+ step: {
+ opacity: function( fx ) {
+ jQuery.style(fx.elem, "opacity", fx.now);
},
- _default: function(fx){
- if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
- fx.elem.style[ fx.prop ] = fx.now + fx.unit;
- else
+ _default: function( fx ) {
+ if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
+ fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
+ } else {
fx.elem[ fx.prop ] = fx.now;
+ }
}
}
});
-if ( document.documentElement["getBoundingClientRect"] )
- jQuery.fn.offset = function() {
- if ( !this[0] ) return { top: 0, left: 0 };
- if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
- var box = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement,
+
+if ( jQuery.expr && jQuery.expr.filters ) {
+ jQuery.expr.filters.animated = function( elem ) {
+ return jQuery.grep(jQuery.timers, function( fn ) {
+ return elem === fn.elem;
+ }).length;
+ };
+}
+
+function genFx( type, num ) {
+ var obj = {};
+
+ jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() {
+ obj[ this ] = type;
+ });
+
+ return obj;
+}
+if ( "getBoundingClientRect" in document.documentElement ) {
+ jQuery.fn.offset = function( options ) {
+ var elem = this[0];
+
+ if ( options ) {
+ return this.each(function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ });
+ }
+
+ if ( !elem || !elem.ownerDocument ) {
+ return null;
+ }
+
+ if ( elem === elem.ownerDocument.body ) {
+ return jQuery.offset.bodyOffset( elem );
+ }
+
+ var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement,
clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
- top = box.top + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop,
- left = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
+ top = box.top + (self.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop,
+ left = box.left + (self.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
+
return { top: top, left: left };
};
-else
- jQuery.fn.offset = function() {
- if ( !this[0] ) return { top: 0, left: 0 };
- if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
- jQuery.offset.initialized || jQuery.offset.initialize();
- var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem,
+} else {
+ jQuery.fn.offset = function( options ) {
+ var elem = this[0];
+
+ if ( options ) {
+ return this.each(function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ });
+ }
+
+ if ( !elem || !elem.ownerDocument ) {
+ return null;
+ }
+
+ if ( elem === elem.ownerDocument.body ) {
+ return jQuery.offset.bodyOffset( elem );
+ }
+
+ jQuery.offset.initialize();
+
+ var offsetParent = elem.offsetParent, prevOffsetParent = elem,
doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
body = doc.body, defaultView = doc.defaultView,
- prevComputedStyle = defaultView.getComputedStyle(elem, null),
+ prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
top = elem.offsetTop, left = elem.offsetLeft;
while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
- computedStyle = defaultView.getComputedStyle(elem, null);
- top -= elem.scrollTop, left -= elem.scrollLeft;
+ if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
+ break;
+ }
+
+ computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
+ top -= elem.scrollTop;
+ left -= elem.scrollLeft;
+
if ( elem === offsetParent ) {
- top += elem.offsetTop, left += elem.offsetLeft;
- if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)) )
- top += parseInt( computedStyle.borderTopWidth, 10) || 0,
- left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
+ top += elem.offsetTop;
+ left += elem.offsetLeft;
+
+ if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.nodeName)) ) {
+ top += parseFloat( computedStyle.borderTopWidth ) || 0;
+ left += parseFloat( computedStyle.borderLeftWidth ) || 0;
+ }
+
prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;
}
- if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" )
- top += parseInt( computedStyle.borderTopWidth, 10) || 0,
- left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
+
+ if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
+ top += parseFloat( computedStyle.borderTopWidth ) || 0;
+ left += parseFloat( computedStyle.borderLeftWidth ) || 0;
+ }
+
prevComputedStyle = computedStyle;
}
- if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" )
- top += body.offsetTop,
+ if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
+ top += body.offsetTop;
left += body.offsetLeft;
+ }
- if ( prevComputedStyle.position === "fixed" )
- top += Math.max(docElem.scrollTop, body.scrollTop),
- left += Math.max(docElem.scrollLeft, body.scrollLeft);
+ if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
+ top += Math.max( docElem.scrollTop, body.scrollTop );
+ left += Math.max( docElem.scrollLeft, body.scrollLeft );
+ }
return { top: top, left: left };
};
+}
jQuery.offset = {
initialize: function() {
- if ( this.initialized ) return;
- var body = document.body, container = document.createElement('div'), innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop,
- html = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
+ var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0,
+ html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
- rules = { position: 'absolute', top: 0, left: 0, margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' };
- for ( prop in rules ) container.style[prop] = rules[prop];
+ jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } );
container.innerHTML = html;
- body.insertBefore(container, body.firstChild);
- innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;
+ body.insertBefore( container, body.firstChild );
+ innerDiv = container.firstChild;
+ checkDiv = innerDiv.firstChild;
+ td = innerDiv.nextSibling.firstChild.firstChild;
this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
this.doesAddBorderForTableAndCells = (td.offsetTop === 5);
- innerDiv.style.overflow = 'hidden', innerDiv.style.position = 'relative';
+ checkDiv.style.position = "fixed", checkDiv.style.top = "20px";
+ // safari subtracts parent border width here which is 5px
+ this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);
+ checkDiv.style.position = checkDiv.style.top = "";
+
+ innerDiv.style.overflow = "hidden", innerDiv.style.position = "relative";
this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);
- body.style.marginTop = '1px';
- this.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0);
- body.style.marginTop = bodyMarginTop;
+ this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
- body.removeChild(container);
- this.initialized = true;
+ body.removeChild( container );
+ body = container = innerDiv = checkDiv = table = td = null;
+ jQuery.offset.initialize = jQuery.noop;
},
- bodyOffset: function(body) {
- jQuery.offset.initialized || jQuery.offset.initialize();
+ bodyOffset: function( body ) {
var top = body.offsetTop, left = body.offsetLeft;
- if ( jQuery.offset.doesNotIncludeMarginInBodyOffset )
- top += parseInt( jQuery.curCSS(body, 'marginTop', true), 10 ) || 0,
- left += parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || 0;
+
+ jQuery.offset.initialize();
+
+ if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
+ top += parseFloat( jQuery.curCSS(body, "marginTop", true) ) || 0;
+ left += parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;
+ }
+
return { top: top, left: left };
+ },
+
+ setOffset: function( elem, options, i ) {
+ // set position first, in-case top/left are set even on static elem
+ if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {
+ elem.style.position = "relative";
+ }
+ var curElem = jQuery( elem ),
+ curOffset = curElem.offset(),
+ curTop = parseInt( jQuery.curCSS( elem, "top", true ), 10 ) || 0,
+ curLeft = parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || 0;
+
+ if ( jQuery.isFunction( options ) ) {
+ options = options.call( elem, i, curOffset );
+ }
+
+ var props = {
+ top: (options.top - curOffset.top) + curTop,
+ left: (options.left - curOffset.left) + curLeft
+ };
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+ } else {
+ curElem.css( props );
+ }
}
};
jQuery.fn.extend({
position: function() {
- var left = 0, top = 0, results;
-
- if ( this[0] ) {
- // Get *real* offsetParent
- var offsetParent = this.offsetParent(),
-
- // Get correct offsets
- offset = this.offset(),
- parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();
-
- // Subtract element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- offset.top -= num( this, 'marginTop' );
- offset.left -= num( this, 'marginLeft' );
-
- // Add offsetParent borders
- parentOffset.top += num( offsetParent, 'borderTopWidth' );
- parentOffset.left += num( offsetParent, 'borderLeftWidth' );
-
- // Subtract the two offsets
- results = {
- top: offset.top - parentOffset.top,
- left: offset.left - parentOffset.left
- };
+ if ( !this[0] ) {
+ return null;
}
- return results;
+ var elem = this[0],
+
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent(),
+
+ // Get correct offsets
+ offset = this.offset(),
+ parentOffset = /^body|html$/i.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
+
+ // Subtract element margins
+ // note: when an element has margin: auto the offsetLeft and marginLeft
+ // are the same in Safari causing offset.left to incorrectly be 0
+ offset.top -= parseFloat( jQuery.curCSS(elem, "marginTop", true) ) || 0;
+ offset.left -= parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) || 0;
+
+ // Add offsetParent borders
+ parentOffset.top += parseFloat( jQuery.curCSS(offsetParent[0], "borderTopWidth", true) ) || 0;
+ parentOffset.left += parseFloat( jQuery.curCSS(offsetParent[0], "borderLeftWidth", true) ) || 0;
+
+ // Subtract the two offsets
+ return {
+ top: offset.top - parentOffset.top,
+ left: offset.left - parentOffset.left
+ };
},
offsetParent: function() {
- var offsetParent = this[0].offsetParent || document.body;
- while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )
- offsetParent = offsetParent.offsetParent;
- return jQuery(offsetParent);
+ return this.map(function() {
+ var offsetParent = this.offsetParent || document.body;
+ while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+ return offsetParent;
+ });
}
});
// Create scrollLeft and scrollTop methods
-jQuery.each( ['Left', 'Top'], function(i, name) {
- var method = 'scroll' + name;
-
- jQuery.fn[ method ] = function(val) {
- if (!this[0]) return null;
+jQuery.each( ["Left", "Top"], function( i, name ) {
+ var method = "scroll" + name;
- return val !== undefined ?
+ jQuery.fn[ method ] = function(val) {
+ var elem = this[0], win;
+
+ if ( !elem ) {
+ return null;
+ }
+ if ( val !== undefined ) {
// Set the scroll offset
- this.each(function() {
- this == window || this == document ?
- window.scrollTo(
- !i ? val : jQuery(window).scrollLeft(),
- i ? val : jQuery(window).scrollTop()
- ) :
+ return this.each(function() {
+ win = getWindow( this );
+
+ if ( win ) {
+ win.scrollTo(
+ !i ? val : jQuery(win).scrollLeft(),
+ i ? val : jQuery(win).scrollTop()
+ );
+
+ } else {
this[ method ] = val;
- }) :
+ }
+ });
+ } else {
+ win = getWindow( elem );
// Return the scroll offset
- this[0] == window || this[0] == document ?
- self[ i ? 'pageYOffset' : 'pageXOffset' ] ||
- jQuery.boxModel && document.documentElement[ method ] ||
- document.body[ method ] :
- this[0][ method ];
+ return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
+ jQuery.support.boxModel && win.document.documentElement[ method ] ||
+ win.document.body[ method ] :
+ elem[ method ];
+ }
};
});
+
+function getWindow( elem ) {
+ return ("scrollTo" in elem && elem.document) ?
+ elem :
+ elem.nodeType === 9 ?
+ elem.defaultView || elem.parentWindow :
+ false;
+}
// Create innerHeight, innerWidth, outerHeight and outerWidth methods
-jQuery.each([ "Height", "Width" ], function(i, name){
+jQuery.each([ "Height", "Width" ], function( i, name ) {
- var tl = i ? "Left" : "Top", // top or left
- br = i ? "Right" : "Bottom", // bottom or right
- lower = name.toLowerCase();
+ var type = name.toLowerCase();
// innerHeight and innerWidth
- jQuery.fn["inner" + name] = function(){
+ jQuery.fn["inner" + name] = function() {
return this[0] ?
- jQuery.css( this[0], lower, false, "padding" ) :
+ jQuery.css( this[0], type, false, "padding" ) :
null;
};
// outerHeight and outerWidth
- jQuery.fn["outer" + name] = function(margin) {
+ jQuery.fn["outer" + name] = function( margin ) {
return this[0] ?
- jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :
+ jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :
null;
};
-
- var type = name.toLowerCase();
jQuery.fn[ type ] = function( size ) {
// Get window width or height
- return this[0] == window ?
+ var elem = this[0];
+ if ( !elem ) {
+ return size == null ? null : this;
+ }
+
+ if ( jQuery.isFunction( size ) ) {
+ return this.each(function( i ) {
+ var self = jQuery( this );
+ self[ type ]( size.call( this, i, self[ type ]() ) );
+ });
+ }
+
+ return ("scrollTo" in elem && elem.document) ? // does it walk and quack like a window?
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
- document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] ||
- document.body[ "client" + name ] :
+ elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
+ elem.document.body[ "client" + name ] :
// Get document width or height
- this[0] == document ?
+ (elem.nodeType === 9) ? // is it a document
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
Math.max(
- document.documentElement["client" + name],
- document.body["scroll" + name], document.documentElement["scroll" + name],
- document.body["offset" + name], document.documentElement["offset" + name]
+ elem.documentElement["client" + name],
+ elem.body["scroll" + name], elem.documentElement["scroll" + name],
+ elem.body["offset" + name], elem.documentElement["offset" + name]
) :
// Get or set width or height on the element
size === undefined ?
// Get width or height on the element
- (this.length ? jQuery.css( this[0], type ) : null) :
+ jQuery.css( elem, type ) :
// Set the width or height on the element (default to pixels if value is unitless)
this.css( type, typeof size === "string" ? size : size + "px" );
};
});
-})();
+// Expose jQuery to the global object
+window.jQuery = window.$ = jQuery;
+
+})(window);
+
diff --git a/js/jquery.min.js b/js/jquery.min.js
index b1ae21d8b..950198f47 100644
--- a/js/jquery.min.js
+++ b/js/jquery.min.js
@@ -1,19 +1,153 @@
-/*
- * jQuery JavaScript Library v1.3.2
+/*!
+ * jQuery JavaScript Library v1.4.1
* http://jquery.com/
*
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
*
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
- */
-(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
-/*
- * Sizzle CSS Selector Engine - v0.9.3
- * Copyright 2009, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Jan 25 19:43:33 2010 -0500
*/
-(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file
+(function(z,v){function la(){if(!c.isReady){try{r.documentElement.doScroll("left")}catch(a){setTimeout(la,1);return}c.ready()}}function Ma(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,i){var j=a.length;if(typeof b==="object"){for(var n in b)X(a,n,b[n],f,e,d);return a}if(d!==v){f=!i&&f&&c.isFunction(d);for(n=0;n<j;n++)e(a[n],b,f?d.call(a[n],n,e(a[n],b)):d,i);return a}return j?
+e(a[0],b):null}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function ma(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function na(a){var b,d=[],f=[],e=arguments,i,j,n,o,m,s,x=c.extend({},c.data(this,"events").live);if(!(a.button&&a.type==="click")){for(o in x){j=x[o];if(j.live===a.type||j.altLive&&c.inArray(a.type,j.altLive)>-1){i=j.data;i.beforeFilter&&i.beforeFilter[a.type]&&!i.beforeFilter[a.type](a)||f.push(j.selector)}else delete x[o]}i=c(a.target).closest(f,
+a.currentTarget);m=0;for(s=i.length;m<s;m++)for(o in x){j=x[o];n=i[m].elem;f=null;if(i[m].selector===j.selector){if(j.live==="mouseenter"||j.live==="mouseleave")f=c(a.relatedTarget).closest(j.selector)[0];if(!f||f!==n)d.push({elem:n,fn:j})}}m=0;for(s=d.length;m<s;m++){i=d[m];a.currentTarget=i.elem;a.data=i.fn.data;if(i.fn.apply(i.elem,e)===false){b=false;break}}return b}}function oa(a,b){return"live."+(a?a+".":"")+b.replace(/\./g,"`").replace(/ /g,"&")}function pa(a){return!a||!a.parentNode||a.parentNode.nodeType===
+11}function qa(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var i in f)for(var j in f[i])c.event.add(this,i,f[i][j],f[i][j].data)}}})}function ra(a,b,d){var f,e,i;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&a[0].indexOf("<option")<0&&(c.support.checkClone||!sa.test(a[0]))){e=true;if(i=c.fragments[a[0]])if(i!==1)f=i}if(!f){b=b&&b[0]?b[0].ownerDocument||b[0]:r;f=b.createDocumentFragment();
+c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=i?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(ta.concat.apply([],ta.slice(0,b)),function(){d[this]=a});return d}function ua(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Na=z.jQuery,Oa=z.$,r=z.document,S,Pa=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Qa=/^.[^:#\[\.,]*$/,Ra=/\S/,Sa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Ta=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,O=navigator.userAgent,
+va=false,P=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,Q=Array.prototype.slice,wa=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(typeof a==="string")if((d=Pa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:r;if(a=Ta.exec(a))if(c.isPlainObject(b)){a=[r.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=ra([d[1]],
+[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}}else{if(b=r.getElementById(d[2])){if(b.id!==d[2])return S.find(a);this.length=1;this[0]=b}this.context=r;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=r;a=r.getElementsByTagName(a)}else return!b||b.jquery?(b||S).find(a):c(b).find(a);else if(c.isFunction(a))return S.ready(a);if(a.selector!==v){this.selector=a.selector;this.context=a.context}return c.isArray(a)?this.setArray(a):c.makeArray(a,
+this)},selector:"",jquery:"1.4.1",length:0,size:function(){return this.length},toArray:function(){return Q.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){a=c(a||null);a.prevObject=this;a.context=this.context;if(b==="find")a.selector=this.selector+(this.selector?" ":"")+d;else if(b)a.selector=this.selector+"."+b+"("+d+")";return a},setArray:function(a){this.length=0;ba.apply(this,a);return this},each:function(a,b){return c.each(this,
+a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(r,c);else P&&P.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(Q.apply(this,arguments),"slice",Q.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};
+c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,i,j,n;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(i in e){j=a[i];n=e[i];if(a!==n)if(f&&n&&(c.isPlainObject(n)||c.isArray(n))){j=j&&(c.isPlainObject(j)||c.isArray(j))?j:c.isArray(n)?[]:{};a[i]=c.extend(f,j,n)}else if(n!==v)a[i]=n}return a};c.extend({noConflict:function(a){z.$=
+Oa;if(a)z.jQuery=Na;return c},isReady:false,ready:function(){if(!c.isReady){if(!r.body)return setTimeout(c.ready,13);c.isReady=true;if(P){for(var a,b=0;a=P[b++];)a.call(r,c);P=null}c.fn.triggerHandler&&c(r).triggerHandler("ready")}},bindReady:function(){if(!va){va=true;if(r.readyState==="complete")return c.ready();if(r.addEventListener){r.addEventListener("DOMContentLoaded",L,false);z.addEventListener("load",c.ready,false)}else if(r.attachEvent){r.attachEvent("onreadystatechange",L);z.attachEvent("onload",
+c.ready);var a=false;try{a=z.frameElement==null}catch(b){}r.documentElement.doScroll&&a&&la()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===v||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;
+return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return z.JSON&&z.JSON.parse?z.JSON.parse(a):(new Function("return "+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Ra.test(a)){var b=r.getElementsByTagName("head")[0]||
+r.documentElement,d=r.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(r.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,i=a.length,j=i===v||c.isFunction(a);if(d)if(j)for(f in a){if(b.apply(a[f],d)===false)break}else for(;e<i;){if(b.apply(a[e++],d)===false)break}else if(j)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=
+a[0];e<i&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Sa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==
+v;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,i=a.length;e<i;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,i=0,j=a.length;i<j;i++){e=b(a[i],i,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=v}else if(b&&!c.isFunction(b)){d=b;b=v}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},
+uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});O=c.uaMatch(O);if(O.browser){c.browser[O.browser]=true;c.browser.version=O.version}if(c.browser.webkit)c.browser.safari=true;if(wa)c.inArray=function(a,b){return wa.call(b,a)};S=c(r);if(r.addEventListener)L=function(){r.removeEventListener("DOMContentLoaded",
+L,false);c.ready()};else if(r.attachEvent)L=function(){if(r.readyState==="complete"){r.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=r.documentElement,b=r.createElement("script"),d=r.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=d.getElementsByTagName("*"),i=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!i)){c.support=
+{leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(i.getAttribute("style")),hrefNormalized:i.getAttribute("href")==="/a",opacity:/^0.55$/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:r.createElement("select").appendChild(r.createElement("option")).selected,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};
+b.type="text/javascript";try{b.appendChild(r.createTextNode("window."+f+"=1;"))}catch(j){}a.insertBefore(b,a.firstChild);if(z[f]){c.support.scriptEval=true;delete z[f]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function n(){c.support.noCloneEvent=false;d.detachEvent("onclick",n)});d.cloneNode(true).fireEvent("onclick")}d=r.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=r.createDocumentFragment();a.appendChild(d.firstChild);
+c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var n=r.createElement("div");n.style.width=n.style.paddingLeft="1px";r.body.appendChild(n);c.boxModel=c.support.boxModel=n.offsetWidth===2;r.body.removeChild(n).style.display="none"});a=function(n){var o=r.createElement("div");n="on"+n;var m=n in o;if(!m){o.setAttribute(n,"return;");m=typeof o[n]==="function"}return m};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=i=null}})();c.props=
+{"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ua=0,xa={},Va={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var f=a[G],e=c.cache;if(!b&&!f)return null;f||(f=++Ua);if(typeof b==="object"){a[G]=f;e=e[f]=c.extend(true,
+{},b)}else e=e[f]?e[f]:typeof d==="undefined"?Va:(e[f]={});if(d!==v){a[G]=f;e[b]=d}return typeof b==="string"?e[b]:e}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{try{delete a[G]}catch(i){a.removeAttribute&&a.removeAttribute(G)}delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,
+a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===v){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===v&&this.length)f=c.data(this[0],a);return f===v&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);
+return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===v)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||
+a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var ya=/[\n\t]/g,ca=/\s+/,Wa=/\r/g,Xa=/href|src|style/,Ya=/(button|input)/i,Za=/(button|input|object|select|textarea)/i,$a=/^(a|area)$/i,za=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=
+c(this);m.addClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className)for(var i=" "+e.className+" ",j=0,n=b.length;j<n;j++){if(i.indexOf(" "+b[j]+" ")<0)e.className+=" "+b[j]}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=c(this);m.removeClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string"||a===v)for(var b=(a||"").split(ca),
+d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var i=(" "+e.className+" ").replace(ya," "),j=0,n=b.length;j<n;j++)i=i.replace(" "+b[j]+" "," ");e.className=i.substring(1,i.length-1)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var i=c(this);i.toggleClass(a.call(this,e,i.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,i=0,j=c(this),n=b,o=
+a.split(ca);e=o[i++];){n=f?n:!j.hasClass(e);j[n?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(ya," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===v){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||
+{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var i=b?d:0;for(d=b?d+1:e.length;i<d;i++){var j=e[i];if(j.selected){a=c(j).val();if(b)return a;f.push(a)}}return f}if(za.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Wa,"")}return v}var n=c.isFunction(a);return this.each(function(o){var m=c(this),s=a;if(this.nodeType===1){if(n)s=a.call(this,o,m.val());
+if(typeof s==="number")s+="";if(c.isArray(s)&&za.test(this.type))this.checked=c.inArray(m.val(),s)>=0;else if(c.nodeName(this,"select")){var x=c.makeArray(s);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),x)>=0});if(!x.length)this.selectedIndex=-1}else this.value=s}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return v;if(f&&b in c.attrFn)return c(a)[b](d);
+f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==v;b=f&&c.props[b]||b;if(a.nodeType===1){var i=Xa.test(b);if(b in a&&f&&!i){if(e){b==="type"&&Ya.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Za.test(a.nodeName)||$a.test(a.nodeName)&&a.href?0:v;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=
+""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&i?a.getAttribute(b,2):a.getAttribute(b);return a===null?v:a}return c.style(a,b,d)}});var ab=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==z&&!a.frameElement)a=z;if(!d.guid)d.guid=c.guid++;if(f!==v){d=c.proxy(d);d.data=f}var e=c.data(a,"events")||c.data(a,"events",{}),i=c.data(a,"handle"),j;if(!i){j=
+function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(j.elem,arguments):v};i=c.data(a,"handle",j)}if(i){i.elem=a;b=b.split(/\s+/);for(var n,o=0;n=b[o++];){var m=n.split(".");n=m.shift();if(o>1){d=c.proxy(d);if(f!==v)d.data=f}d.type=m.slice(0).sort().join(".");var s=e[n],x=this.special[n]||{};if(!s){s=e[n]={};if(!x.setup||x.setup.call(a,f,m,d)===false)if(a.addEventListener)a.addEventListener(n,i,false);else a.attachEvent&&a.attachEvent("on"+n,i)}if(x.add)if((m=x.add.call(a,
+d,f,m,s))&&c.isFunction(m)){m.guid=m.guid||d.guid;m.data=m.data||d.data;m.type=m.type||d.type;d=m}s[d.guid]=d;this.global[n]=true}a=null}}},global:{},remove:function(a,b,d){if(!(a.nodeType===3||a.nodeType===8)){var f=c.data(a,"events"),e,i,j;if(f){if(b===v||typeof b==="string"&&b.charAt(0)===".")for(i in f)this.remove(a,i+(b||""));else{if(b.type){d=b.handler;b=b.type}b=b.split(/\s+/);for(var n=0;i=b[n++];){var o=i.split(".");i=o.shift();var m=!o.length,s=c.map(o.slice(0).sort(),ab);s=new RegExp("(^|\\.)"+
+s.join("\\.(?:.*\\.)?")+"(\\.|$)");var x=this.special[i]||{};if(f[i]){if(d){j=f[i][d.guid];delete f[i][d.guid]}else for(var A in f[i])if(m||s.test(f[i][A].type))delete f[i][A];x.remove&&x.remove.call(a,o,j);for(e in f[i])break;if(!e){if(!x.teardown||x.teardown.call(a,o)===false)if(a.removeEventListener)a.removeEventListener(i,c.data(a,"handle"),false);else a.detachEvent&&a.detachEvent("on"+i,c.data(a,"handle"));e=null;delete f[i]}}}}for(e in f)break;if(!e){if(A=c.data(a,"handle"))A.elem=null;c.removeData(a,
+"events");c.removeData(a,"handle")}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();this.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return v;a.result=v;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,
+b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(i){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){d=a.target;var j;if(!(c.nodeName(d,"a")&&e==="click")&&!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()])){try{if(d[e]){if(j=d["on"+e])d["on"+e]=null;this.triggered=true;d[e]()}}catch(n){}if(j)d["on"+e]=j;this.triggered=false}}},handle:function(a){var b,
+d;a=arguments[0]=c.event.fix(a||z.event);a.currentTarget=this;d=a.type.split(".");a.type=d.shift();b=!d.length&&!a.exclusive;var f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)");d=(c.data(this,"events")||{})[a.type];for(var e in d){var i=d[e];if(b||f.test(i.type)){a.handler=i;a.data=i.data;i=i.apply(this,arguments);if(i!==v){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||r;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=r.documentElement;d=r.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==v)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a,b){c.extend(a,b||{});a.guid+=b.selector+b.live;b.liveProxy=a;c.event.add(this,b.live,na,b)},remove:function(a){if(a.length){var b=
+0,d=new RegExp("(^|\\.)"+a[0]+"(\\.|$)");c.each(c.data(this,"events").live||{},function(){d.test(this.type)&&b++});b<1&&c.event.remove(this,a[0],na)}},special:{}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};
+c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y};var Aa=function(a){for(var b=
+a.relatedTarget;b&&b!==this;)try{b=b.parentNode}catch(d){break}if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}},Ba=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ba:Aa,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ba:Aa)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(a,b,d){if(this.nodeName.toLowerCase()!==
+"form"){c.event.add(this,"click.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="submit"||i==="image")&&c(e).closest("form").length)return ma("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="text"||i==="password")&&c(e).closest("form").length&&f.keyCode===13)return ma("submit",this,arguments)})}else return false},remove:function(a,b){c.event.remove(this,"click.specialSubmit"+(b?"."+b.guid:""));c.event.remove(this,
+"keypress.specialSubmit"+(b?"."+b.guid:""))}};if(!c.support.changeBubbles){var da=/textarea|input|select/i;function Ca(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d}function ea(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Ca(d);if(a.type!=="focusout"||
+d.type!=="radio")c.data(d,"_change_data",e);if(!(f===v||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}}c.event.special.change={filters:{focusout:ea,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return ea.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return ea.call(this,a)},beforeactivate:function(a){a=
+a.target;a.nodeName.toLowerCase()==="input"&&a.type==="radio"&&c.data(a,"_change_data",Ca(a))}},setup:function(a,b,d){for(var f in T)c.event.add(this,f+".specialChange."+d.guid,T[f]);return da.test(this.nodeName)},remove:function(a,b){for(var d in T)c.event.remove(this,d+".specialChange"+(b?"."+b.guid:""),T[d]);return da.test(this.nodeName)}};var T=c.event.special.change.filters}r.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,
+f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var i in d)this[b](i,f,d[i],e);return this}if(c.isFunction(f)){e=f;f=v}var j=b==="one"?c.proxy(e,function(n){c(this).unbind(n,j);return e.apply(this,arguments)}):e;return d==="unload"&&b!=="one"?this.one(d,f,e):this.each(function(){c.event.add(this,d,j,f)})}});c.fn.extend({unbind:function(a,
+b){if(typeof a==="object"&&!a.preventDefault){for(var d in a)this.unbind(d,a[d]);return this}return this.each(function(){c.event.remove(this,a,b)})},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+
+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e){var i,j=0;if(c.isFunction(f)){e=f;f=v}for(d=(d||"").split(/\s+/);(i=d[j++])!=null;){i=i==="focus"?"focusin":i==="blur"?"focusout":i==="hover"?d.push("mouseleave")&&"mouseenter":i;b==="live"?c(this.context).bind(oa(i,this.selector),{data:f,selector:this.selector,
+live:i},e):c(this.context).unbind(oa(i,this.selector),e?{guid:e.guid+this.selector+i}:null)}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});z.attachEvent&&!z.addEventListener&&z.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
+(function(){function a(g){for(var h="",k,l=0;g[l];l++){k=g[l];if(k.nodeType===3||k.nodeType===4)h+=k.nodeValue;else if(k.nodeType!==8)h+=a(k.childNodes)}return h}function b(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===k){y=l[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=k;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}l[q]=y}}}function d(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===
+k){y=l[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=k;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(o.filter(h,[t]).length>0){y=t;break}}t=t[g]}l[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,i=Object.prototype.toString,j=false,n=true;[0,0].sort(function(){n=false;return 0});var o=function(g,h,k,l){k=k||[];var q=h=h||r;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||
+typeof g!=="string")return k;for(var p=[],u,t,y,R,H=true,M=w(h),I=g;(f.exec(""),u=f.exec(I))!==null;){I=u[3];p.push(u[1]);if(u[2]){R=u[3];break}}if(p.length>1&&s.exec(g))if(p.length===2&&m.relative[p[0]])t=fa(p[0]+p[1],h);else for(t=m.relative[p[0]]?[h]:o(p.shift(),h);p.length;){g=p.shift();if(m.relative[g])g+=p.shift();t=fa(g,t)}else{if(!l&&p.length>1&&h.nodeType===9&&!M&&m.match.ID.test(p[0])&&!m.match.ID.test(p[p.length-1])){u=o.find(p.shift(),h,M);h=u.expr?o.filter(u.expr,u.set)[0]:u.set[0]}if(h){u=
+l?{expr:p.pop(),set:A(l)}:o.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=u.expr?o.filter(u.expr,u.set):u.set;if(p.length>0)y=A(t);else H=false;for(;p.length;){var D=p.pop();u=D;if(m.relative[D])u=p.pop();else D="";if(u==null)u=h;m.relative[D](y,u,M)}}else y=[]}y||(y=t);y||o.error(D||g);if(i.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))k.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&
+y[g].nodeType===1&&k.push(t[g]);else k.push.apply(k,y);else A(y,k);if(R){o(R,q,k,l);o.uniqueSort(k)}return k};o.uniqueSort=function(g){if(C){j=n;g.sort(C);if(j)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};o.matches=function(g,h){return o(g,null,null,h)};o.find=function(g,h,k){var l,q;if(!g)return[];for(var p=0,u=m.order.length;p<u;p++){var t=m.order[p];if(q=m.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");l=m.find[t](q,
+h,k);if(l!=null){g=g.replace(m.match[t],"");break}}}}l||(l=h.getElementsByTagName("*"));return{set:l,expr:g}};o.filter=function(g,h,k,l){for(var q=g,p=[],u=h,t,y,R=h&&h[0]&&w(h[0]);g&&h.length;){for(var H in m.filter)if((t=m.leftMatch[H].exec(g))!=null&&t[2]){var M=m.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(u===p)p=[];if(m.preFilter[H])if(t=m.preFilter[H](t,u,k,p,l,R)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=u[U])!=null;U++)if(D){I=M(D,t,U,u);var Da=
+l^!!I;if(k&&I!=null)if(Da)y=true;else u[U]=false;else if(Da){p.push(D);y=true}}if(I!==v){k||(u=p);g=g.replace(m.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)o.error(g);else break;q=g}return u};o.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var m=o.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
+TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,h){var k=typeof h==="string",l=k&&!/\W/.test(h);k=k&&!l;if(l)h=h.toLowerCase();l=0;for(var q=g.length,
+p;l<q;l++)if(p=g[l]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[l]=k||p&&p.nodeName.toLowerCase()===h?p||false:p===h}k&&o.filter(h,g,true)},">":function(g,h){var k=typeof h==="string";if(k&&!/\W/.test(h)){h=h.toLowerCase();for(var l=0,q=g.length;l<q;l++){var p=g[l];if(p){k=p.parentNode;g[l]=k.nodeName.toLowerCase()===h?k:false}}}else{l=0;for(q=g.length;l<q;l++)if(p=g[l])g[l]=k?p.parentNode:p.parentNode===h;k&&o.filter(h,g,true)}},"":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=
+h=h.toLowerCase();q=b}q("parentNode",h,l,g,p,k)},"~":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,l,g,p,k)}},find:{ID:function(g,h,k){if(typeof h.getElementById!=="undefined"&&!k)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var k=[];h=h.getElementsByName(g[1]);for(var l=0,q=h.length;l<q;l++)h[l].getAttribute("name")===g[1]&&k.push(h[l]);return k.length===0?null:k}},
+TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,k,l,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var u;(u=h[p])!=null;p++)if(u)if(q^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))k||l.push(u);else if(k)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&
+"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,k,l,q,p){h=g[1].replace(/\\/g,"");if(!p&&m.attrMap[h])g[1]=m.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,k,l,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=o(g[3],null,null,h);else{g=o.filter(g[3],h,k,true^q);k||l.push.apply(l,g);return false}else if(m.match.POS.test(g[0])||m.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);
+return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,k){return!!o(k[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===
+g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,k,l){return h===l.length-1},even:function(g,h){return h%2===
+0},odd:function(g,h){return h%2===1},lt:function(g,h,k){return h<k[3]-0},gt:function(g,h,k){return h>k[3]-0},nth:function(g,h,k){return k[3]-0===h},eq:function(g,h,k){return k[3]-0===h}},filter:{PSEUDO:function(g,h,k,l){var q=h[1],p=m.filters[q];if(p)return p(g,k,h,l);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];k=0;for(l=h.length;k<l;k++)if(h[k]===g)return false;return true}else o.error("Syntax error, unrecognized expression: "+
+q)},CHILD:function(g,h){var k=h[1],l=g;switch(k){case "only":case "first":for(;l=l.previousSibling;)if(l.nodeType===1)return false;if(k==="first")return true;l=g;case "last":for(;l=l.nextSibling;)if(l.nodeType===1)return false;return true;case "nth":k=h[2];var q=h[3];if(k===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var u=0;for(l=p.firstChild;l;l=l.nextSibling)if(l.nodeType===1)l.nodeIndex=++u;p.sizcache=h}g=g.nodeIndex-q;return k===0?g===0:g%k===0&&g/k>=
+0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var k=h[1];g=m.attrHandle[k]?m.attrHandle[k](g):g[k]!=null?g[k]:g.getAttribute(k);k=g+"";var l=h[2];h=h[4];return g==null?l==="!=":l==="="?k===h:l==="*="?k.indexOf(h)>=0:l==="~="?(" "+k+" ").indexOf(h)>=0:!h?k&&g!==false:l==="!="?k!==h:l==="^="?
+k.indexOf(h)===0:l==="$="?k.substr(k.length-h.length)===h:l==="|="?k===h||k.substr(0,h.length+1)===h+"-":false},POS:function(g,h,k,l){var q=m.setFilters[h[2]];if(q)return q(g,k,h,l)}}},s=m.match.POS;for(var x in m.match){m.match[x]=new RegExp(m.match[x].source+/(?![^\[]*\])(?![^\(]*\))/.source);m.leftMatch[x]=new RegExp(/(^(?:.|\r|\n)*?)/.source+m.match[x].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var A=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};
+try{Array.prototype.slice.call(r.documentElement.childNodes,0)}catch(B){A=function(g,h){h=h||[];if(i.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var k=0,l=g.length;k<l;k++)h.push(g[k]);else for(k=0;g[k];k++)h.push(g[k]);return h}}var C;if(r.documentElement.compareDocumentPosition)C=function(g,h){if(!g.compareDocumentPosition||!h.compareDocumentPosition){if(g==h)j=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===
+h?0:1;if(g===0)j=true;return g};else if("sourceIndex"in r.documentElement)C=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)j=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)j=true;return g};else if(r.createRange)C=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)j=true;return g.ownerDocument?-1:1}var k=g.ownerDocument.createRange(),l=h.ownerDocument.createRange();k.setStart(g,0);k.setEnd(g,0);l.setStart(h,0);l.setEnd(h,0);g=k.compareBoundaryPoints(Range.START_TO_END,
+l);if(g===0)j=true;return g};(function(){var g=r.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var k=r.documentElement;k.insertBefore(g,k.firstChild);if(r.getElementById(h)){m.find.ID=function(l,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(l[1]))?q.id===l[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===l[1]?[q]:v:[]};m.filter.ID=function(l,q){var p=typeof l.getAttributeNode!=="undefined"&&l.getAttributeNode("id");
+return l.nodeType===1&&p&&p.nodeValue===q}}k.removeChild(g);k=g=null})();(function(){var g=r.createElement("div");g.appendChild(r.createComment(""));if(g.getElementsByTagName("*").length>0)m.find.TAG=function(h,k){k=k.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var l=0;k[l];l++)k[l].nodeType===1&&h.push(k[l]);k=h}return k};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")m.attrHandle.href=function(h){return h.getAttribute("href",
+2)};g=null})();r.querySelectorAll&&function(){var g=o,h=r.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){o=function(l,q,p,u){q=q||r;if(!u&&q.nodeType===9&&!w(q))try{return A(q.querySelectorAll(l),p)}catch(t){}return g(l,q,p,u)};for(var k in g)o[k]=g[k];h=null}}();(function(){var g=r.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
+0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){m.order.splice(1,0,"CLASS");m.find.CLASS=function(h,k,l){if(typeof k.getElementsByClassName!=="undefined"&&!l)return k.getElementsByClassName(h[1])};g=null}}})();var E=r.compareDocumentPosition?function(g,h){return g.compareDocumentPosition(h)&16}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},w=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},fa=function(g,h){var k=[],
+l="",q;for(h=h.nodeType?[h]:h;q=m.match.PSEUDO.exec(g);){l+=q[0];g=g.replace(m.match.PSEUDO,"")}g=m.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)o(g,h[q],k);return o.filter(l,k)};c.find=o;c.expr=o.selectors;c.expr[":"]=c.expr.filters;c.unique=o.uniqueSort;c.getText=a;c.isXMLDoc=w;c.contains=E})();var bb=/Until$/,cb=/^(?:parents|prevUntil|prevAll)/,db=/,/;Q=Array.prototype.slice;var Ea=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,i){return!!b.call(e,i,e)===d});else if(b.nodeType)return c.grep(a,
+function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Qa.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;c.find(a,this[f],b);if(f>0)for(var i=d;i<b.length;i++)for(var j=0;j<d;j++)if(b[j]===b[i]){b.splice(i--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=
+0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ea(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ea(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,i={},j;if(f&&a.length){e=0;for(var n=a.length;e<n;e++){j=a[e];i[j]||(i[j]=c.expr.match.POS.test(j)?c(j,b||this.context):j)}for(;f&&f.ownerDocument&&f!==b;){for(j in i){e=i[j];if(e.jquery?e.index(f)>
+-1:c(f).is(e)){d.push({selector:j,elem:f});delete i[j]}}f=f.parentNode}}return d}var o=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(m,s){for(;s&&s.ownerDocument&&s!==b;){if(o?o.index(s)>-1:c(s).is(a))return s;s=s.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),
+a);return this.pushStack(pa(a[0])||pa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},
+nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);bb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):
+e;if((this.length>1||db.test(f))&&cb.test(a))e=e.reverse();return this.pushStack(e,a,Q.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===v||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==
+b&&d.push(a);return d}});var Fa=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ga=/(<([\w:]+)[^>]*?)\/>/g,eb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,Ha=/<([\w:]+)/,fb=/<tbody/i,gb=/<|&\w+;/,sa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ia=function(a,b,d){return eb.test(d)?a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
+col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==v)return this.empty().append((this[0]&&this[0].ownerDocument||r).createTextNode(a));return c.getText(this)},
+wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?
+d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,
+false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&
+!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Fa,"").replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){qa(this,b);qa(this.find("*"),b.find("*"))}return b},html:function(a){if(a===v)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Fa,""):null;else if(typeof a==="string"&&!/<script/i.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(Ha.exec(a)||
+["",""])[1].toLowerCase()]){a=a.replace(Ga,Ia);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var i=c(this),j=i.html();i.empty().append(function(){return a.call(this,e,j)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,
+b,f))});else a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(s){return c.nodeName(s,"table")?s.getElementsByTagName("tbody")[0]||s.appendChild(s.ownerDocument.createElement("tbody")):s}var e,i,j=a[0],n=[];if(!c.support.checkClone&&arguments.length===3&&typeof j===
+"string"&&sa.test(j))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(j))return this.each(function(s){var x=c(this);a[0]=j.call(this,s,b?x.html():v);x.domManip(a,b,d)});if(this[0]){e=a[0]&&a[0].parentNode&&a[0].parentNode.nodeType===11?{fragment:a[0].parentNode}:ra(a,this,n);if(i=e.fragment.firstChild){b=b&&c.nodeName(i,"tr");for(var o=0,m=this.length;o<m;o++)d.call(b?f(this[o],i):this[o],e.cacheable||this.length>1||o>0?e.fragment.cloneNode(true):e.fragment)}n&&c.each(n,
+Ma)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);for(var e=0,i=d.length;e<i;e++){var j=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),j);f=f.concat(j)}return this.pushStack(f,a,d.selector)}});c.each({remove:function(a,b){if(!a||c.filter(a,[this]).length){if(!b&&this.nodeType===1){c.cleanData(this.getElementsByTagName("*"));c.cleanData([this])}this.parentNode&&
+this.parentNode.removeChild(this)}},empty:function(){for(this.nodeType===1&&c.cleanData(this.getElementsByTagName("*"));this.firstChild;)this.removeChild(this.firstChild)}},function(a,b){c.fn[a]=function(){return this.each(b,arguments)}});c.extend({clean:function(a,b,d,f){b=b||r;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||r;var e=[];c.each(a,function(i,j){if(typeof j==="number")j+="";if(j){if(typeof j==="string"&&!gb.test(j))j=b.createTextNode(j);else if(typeof j===
+"string"){j=j.replace(Ga,Ia);var n=(Ha.exec(j)||["",""])[1].toLowerCase(),o=F[n]||F._default,m=o[0];i=b.createElement("div");for(i.innerHTML=o[1]+j+o[2];m--;)i=i.lastChild;if(!c.support.tbody){m=fb.test(j);n=n==="table"&&!m?i.firstChild&&i.firstChild.childNodes:o[1]==="<table>"&&!m?i.childNodes:[];for(o=n.length-1;o>=0;--o)c.nodeName(n[o],"tbody")&&!n[o].childNodes.length&&n[o].parentNode.removeChild(n[o])}!c.support.leadingWhitespace&&V.test(j)&&i.insertBefore(b.createTextNode(V.exec(j)[0]),i.firstChild);
+j=c.makeArray(i.childNodes)}if(j.nodeType)e.push(j);else e=c.merge(e,j)}});if(d)for(a=0;e[a];a++)if(f&&c.nodeName(e[a],"script")&&(!e[a].type||e[a].type.toLowerCase()==="text/javascript"))f.push(e[a].parentNode?e[a].parentNode.removeChild(e[a]):e[a]);else{e[a].nodeType===1&&e.splice.apply(e,[a+1,0].concat(c.makeArray(e[a].getElementsByTagName("script"))));d.appendChild(e[a])}return e},cleanData:function(a){for(var b=0,d;(d=a[b])!=null;b++){c.event.remove(d);c.removeData(d)}}});var hb=/z-?index|font-?weight|opacity|zoom|line-?height/i,
+Ja=/alpha\([^)]*\)/,Ka=/opacity=([^)]*)/,ga=/float/i,ha=/-([a-z])/ig,ib=/([A-Z])/g,jb=/^-?\d+(?:px)?$/i,kb=/^-?\d/,lb={position:"absolute",visibility:"hidden",display:"block"},mb=["Left","Right"],nb=["Top","Bottom"],ob=r.defaultView&&r.defaultView.getComputedStyle,La=c.support.cssFloat?"cssFloat":"styleFloat",ia=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===v)return c.curCSS(d,f);if(typeof e==="number"&&!hb.test(f))e+="px";c.style(d,f,e)})};
+c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return v;if((b==="width"||b==="height")&&parseFloat(d)<0)d=v;var f=a.style||a,e=d!==v;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Ja.test(a)?a.replace(Ja,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Ka.exec(f.filter)[1])/100+"":""}if(ga.test(b))b=La;b=b.replace(ha,ia);if(e)f[b]=d;return f[b]},css:function(a,
+b,d,f){if(b==="width"||b==="height"){var e,i=b==="width"?mb:nb;function j(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(i,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?j():c.swap(a,lb,j);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&
+a.currentStyle){f=Ka.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ga.test(b))b=La;if(!d&&e&&e[b])f=e[b];else if(ob){if(ga.test(b))b="float";b=b.replace(ib,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ha,ia);f=a.currentStyle[b]||a.currentStyle[d];if(!jb.test(f)&&kb.test(f)){b=e.left;var i=a.runtimeStyle.left;a.runtimeStyle.left=
+a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=i}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var pb=
+J(),qb=/<script(.|\s)*?\/script>/gi,rb=/select|textarea/i,sb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ja=/\?/,tb=/(\?|&)_=.*?(&|$)/,ub=/^(\w+:)?\/\/([^\/?#]+)/,vb=/%20/g;c.fn.extend({_load:c.fn.load,load:function(a,b,d){if(typeof a!=="string")return this._load(a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=
+c.param(b,c.ajaxSettings.traditional);f="POST"}var i=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(j,n){if(n==="success"||n==="notmodified")i.html(e?c("<div />").append(j.responseText.replace(qb,"")).find(e):j.responseText);d&&i.each(d,[j.responseText,n,j])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&
+(this.checked||rb.test(this.nodeName)||sb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,
+b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:z.XMLHttpRequest&&(z.location.protocol!=="file:"||!z.ActiveXObject)?function(){return new z.XMLHttpRequest}:
+function(){try{return new z.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(o,n,j,w);e.global&&f("ajaxSuccess",[w,e])}function d(){e.complete&&e.complete.call(o,w,j);e.global&&f("ajaxComplete",[w,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}
+function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),i,j,n,o=a&&a.context||e,m=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(m==="GET")N.test(e.url)||(e.url+=(ja.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||
+N.test(e.url))){i=e.jsonpCallback||"jsonp"+pb++;if(e.data)e.data=(e.data+"").replace(N,"="+i+"$1");e.url=e.url.replace(N,"="+i+"$1");e.dataType="script";z[i]=z[i]||function(q){n=q;b();d();z[i]=v;try{delete z[i]}catch(p){}A&&A.removeChild(B)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&m==="GET"){var s=J(),x=e.url.replace(tb,"$1_="+s+"$2");e.url=x+(x===e.url?(ja.test(e.url)?"&":"?")+"_="+s:"")}if(e.data&&m==="GET")e.url+=(ja.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&
+c.event.trigger("ajaxStart");s=(s=ub.exec(e.url))&&(s[1]&&s[1]!==location.protocol||s[2]!==location.host);if(e.dataType==="script"&&m==="GET"&&s){var A=r.getElementsByTagName("head")[0]||r.documentElement,B=r.createElement("script");B.src=e.url;if(e.scriptCharset)B.charset=e.scriptCharset;if(!i){var C=false;B.onload=B.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;b();d();B.onload=B.onreadystatechange=null;A&&B.parentNode&&
+A.removeChild(B)}}}A.insertBefore(B,A.firstChild);return v}var E=false,w=e.xhr();if(w){e.username?w.open(m,e.url,e.async,e.username,e.password):w.open(m,e.url,e.async);try{if(e.data||a&&a.contentType)w.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&w.setRequestHeader("If-None-Match",c.etag[e.url])}s||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",
+e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(fa){}if(e.beforeSend&&e.beforeSend.call(o,w,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");w.abort();return false}e.global&&f("ajaxSend",[w,e]);var g=w.onreadystatechange=function(q){if(!w||w.readyState===0||q==="abort"){E||d();E=true;if(w)w.onreadystatechange=c.noop}else if(!E&&w&&(w.readyState===4||q==="timeout")){E=true;w.onreadystatechange=c.noop;j=q==="timeout"?"timeout":!c.httpSuccess(w)?
+"error":e.ifModified&&c.httpNotModified(w,e.url)?"notmodified":"success";var p;if(j==="success")try{n=c.httpData(w,e.dataType,e)}catch(u){j="parsererror";p=u}if(j==="success"||j==="notmodified")i||b();else c.handleError(e,w,j,p);d();q==="timeout"&&w.abort();if(e.async)w=null}};try{var h=w.abort;w.abort=function(){w&&h.call(w);g("abort")}}catch(k){}e.async&&e.timeout>0&&setTimeout(function(){w&&!E&&g("timeout")},e.timeout);try{w.send(m==="POST"||m==="PUT"||m==="DELETE"?e.data:null)}catch(l){c.handleError(e,
+w,null,l);d()}e.async||g();return w}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=
+f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(j,n){if(c.isArray(n))c.each(n,
+function(o,m){b?f(j,m):d(j+"["+(typeof m==="object"||c.isArray(m)?o:"")+"]",m)});else!b&&n!=null&&typeof n==="object"?c.each(n,function(o,m){d(j+"["+o+"]",m)}):f(j,n)}function f(j,n){n=c.isFunction(n)?n():n;e[e.length]=encodeURIComponent(j)+"="+encodeURIComponent(n)}var e=[];if(b===v)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var i in a)d(i,a[i]);return e.join("&").replace(vb,"+")}});var ka={},wb=/toggle|show|hide/,xb=/^([+-]=)?([\d+-.]+)(.*)$/,
+W,ta=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(ka[d])f=ka[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();
+ka[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&
+c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var i=c.extend({},e),j,n=this.nodeType===1&&c(this).is(":hidden"),
+o=this;for(j in a){var m=j.replace(ha,ia);if(j!==m){a[m]=a[j];delete a[j];j=m}if(a[j]==="hide"&&n||a[j]==="show"&&!n)return i.complete.call(this);if((j==="height"||j==="width")&&this.style){i.display=c.css(this,"display");i.overflow=this.style.overflow}if(c.isArray(a[j])){(i.specialEasing=i.specialEasing||{})[j]=a[j][1];a[j]=a[j][0]}}if(i.overflow!=null)this.style.overflow="hidden";i.curAnim=c.extend({},a);c.each(a,function(s,x){var A=new c.fx(o,i,s);if(wb.test(x))A[x==="toggle"?n?"show":"hide":x](a);
+else{var B=xb.exec(x),C=A.cur(true)||0;if(B){x=parseFloat(B[2]);var E=B[3]||"px";if(E!=="px"){o.style[s]=(x||1)+E;C=(x||1)/A.cur(true)*C;o.style[s]=C+E}if(B[1])x=(B[1]==="-="?-1:1)*x+C;A.custom(C,x,E)}else A.custom(C,x,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",
+1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,
+b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==
+null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(i){return e.step(i)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop===
+"width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=
+this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=
+c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=
+null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in r.documentElement?function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),
+f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=
+b,e=b.ownerDocument,i,j=e.documentElement,n=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var o=b.offsetTop,m=b.offsetLeft;(b=b.parentNode)&&b!==n&&b!==j;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;i=e?e.getComputedStyle(b,null):b.currentStyle;o-=b.scrollTop;m-=b.scrollLeft;if(b===d){o+=b.offsetTop;m+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){o+=parseFloat(i.borderTopWidth)||
+0;m+=parseFloat(i.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&i.overflow!=="visible"){o+=parseFloat(i.borderTopWidth)||0;m+=parseFloat(i.borderLeftWidth)||0}f=i}if(f.position==="relative"||f.position==="static"){o+=n.offsetTop;m+=n.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){o+=Math.max(j.scrollTop,n.scrollTop);m+=Math.max(j.scrollLeft,n.scrollLeft)}return{top:o,left:m}};c.offset={initialize:function(){var a=r.body,b=r.createElement("div"),
+d,f,e,i=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);
+d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i;a.removeChild(b);c.offset.initialize=c.noop},
+bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),i=parseInt(c.curCSS(a,"top",true),10)||0,j=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+i,left:b.left-
+e.left+j};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=
+this.offsetParent||r.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],i;if(!e)return null;if(f!==v)return this.each(function(){if(i=ua(this))i.scrollTo(!a?f:c(i).scrollLeft(),a?f:c(i).scrollTop());else this[d]=f});else return(i=ua(e))?"pageXOffset"in i?i[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&i.document.documentElement[d]||i.document.body[d]:e[d]}});
+c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(i){var j=c(this);j[d](f.call(this,i,j[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||
+e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===v?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});z.jQuery=z.$=c})(window);
+
diff --git a/js/util.js b/js/util.js
index b864867fd..c6a9682de 100644
--- a/js/util.js
+++ b/js/util.js
@@ -143,87 +143,85 @@ var SN = { // StatusNet
SN.U.Counter(form);
},
- FormXHR: function(f) {
- if (jQuery.data(f[0], "ElementData") === undefined) {
- jQuery.data(f[0], "ElementData", {Bind:'submit'});
- f.bind('submit', function(e) {
- form_id = $(this)[0].id;
- $.ajax({
- type: 'POST',
- dataType: 'xml',
- url: $(this)[0].action,
- data: $(this).serialize() + '&ajax=1',
- beforeSend: function(xhr) {
- $('#'+form_id).addClass(SN.C.S.Processing);
- $('#'+form_id+' .submit').addClass(SN.C.S.Disabled);
- $('#'+form_id+' .submit').attr(SN.C.S.Disabled, SN.C.S.Disabled);
- },
- error: function (xhr, textStatus, errorThrown) {
- alert(errorThrown || textStatus);
- },
- success: function(data, textStatus) {
- if (typeof($('form', data)[0]) != 'undefined') {
- form_new = document._importNode($('form', data)[0], true);
- $('#'+form_id).replaceWith(form_new);
- $('#'+form_new.id).each(function() { SN.U.FormXHR($(this)); });
- }
- else {
- $('#'+form_id).replaceWith(document._importNode($('p', data)[0], true));
- }
- }
- });
- return false;
- });
- }
+ FormXHR: function(form) {
+ $.ajax({
+ type: 'POST',
+ dataType: 'xml',
+ url: form.attr('action'),
+ data: form.serialize() + '&ajax=1',
+ beforeSend: function(xhr) {
+ form
+ .addClass(SN.C.S.Processing)
+ .find('.submit')
+ .addClass(SN.C.S.Disabled)
+ .attr(SN.C.S.Disabled, SN.C.S.Disabled);
+ },
+ error: function (xhr, textStatus, errorThrown) {
+ alert(errorThrown || textStatus);
+ },
+ success: function(data, textStatus) {
+ if (typeof($('form', data)[0]) != 'undefined') {
+ form_new = document._importNode($('form', data)[0], true);
+ form.replaceWith(form_new);
+ }
+ else {
+ form.replaceWith(document._importNode($('p', data)[0], true));
+ }
+ }
+ });
},
FormNoticeXHR: function(form) {
- var NDG, NLat, NLon, NLNS, NLID;
+ SN.C.I.NoticeDataGeo = {};
form_id = form.attr('id');
form.append('<input type="hidden" name="ajax" value="1"/>');
form.ajaxForm({
dataType: 'xml',
timeout: '60000',
beforeSend: function(formData) {
- if ($('#'+form_id+' #'+SN.C.S.NoticeDataText)[0].value.length === 0) {
+ if (form.find('#'+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');
+ form
+ .addClass(SN.C.S.Processing)
+ .find('#'+SN.C.S.NoticeActionSubmit)
+ .addClass(SN.C.S.Disabled)
+ .attr(SN.C.S.Disabled, SN.C.S.Disabled);
+
+ SN.C.I.NoticeDataGeo.NLat = $('#'+SN.C.S.NoticeLat).val();
+ SN.C.I.NoticeDataGeo.NLon = $('#'+SN.C.S.NoticeLon).val();
+ SN.C.I.NoticeDataGeo.NLNS = $('#'+SN.C.S.NoticeLocationNs).val();
+ SN.C.I.NoticeDataGeo.NLID = $('#'+SN.C.S.NoticeLocationId).val();
+ SN.C.I.NoticeDataGeo.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();
+ SN.C.I.NoticeDataGeo.NLat = $('#'+SN.C.S.NoticeLat).val(cookieValue.NLat).val();
+ SN.C.I.NoticeDataGeo.NLon = $('#'+SN.C.S.NoticeLon).val(cookieValue.NLon).val();
if ($('#'+SN.C.S.NoticeLocationNs).val(cookieValue.NLNS)) {
- NLNS = $('#'+SN.C.S.NoticeLocationNs).val(cookieValue.NLNS).val();
- NLID = $('#'+SN.C.S.NoticeLocationId).val(cookieValue.NLID).val();
+ SN.C.I.NoticeDataGeo.NLNS = $('#'+SN.C.S.NoticeLocationNs).val(cookieValue.NLNS).val();
+ SN.C.I.NoticeDataGeo.NLID = $('#'+SN.C.S.NoticeLocationId).val(cookieValue.NLID).val();
}
}
if (cookieValue == 'disabled') {
- NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', false).attr('checked');
+ SN.C.I.NoticeDataGeo.NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', false).attr('checked');
}
else {
- NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', true).attr('checked');
+ SN.C.I.NoticeDataGeo.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).removeClass(SN.C.S.Disabled);
- $('#'+form_id+' #'+SN.C.S.NoticeActionSubmit).removeAttr(SN.C.S.Disabled, SN.C.S.Disabled);
- $('#'+form_id+' .form_response').remove();
+ form
+ .removeClass(SN.C.S.Processing)
+ .find('#'+SN.C.S.NoticeActionSubmit)
+ .removeClass(SN.C.S.Disabled)
+ .removeAttr(SN.C.S.Disabled, SN.C.S.Disabled);
+ form.find('.form_response').remove();
if (textStatus == 'timeout') {
form.append('<p class="form_response error">Sorry! We had trouble sending your notice. The servers are overloaded. Please try again, and contact the site administrator if this problem persists.</p>');
}
@@ -233,9 +231,10 @@ var SN = { // StatusNet
}
else {
if (parseInt(xhr.status) === 0 || jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) >= 0) {
- $('#'+form_id).resetForm();
- $('#'+form_id+' #'+SN.C.S.NoticeDataAttachSelected).remove();
- SN.U.FormNoticeEnhancements($('#'+form_id));
+ form
+ .resetForm()
+ .find('#'+SN.C.S.NoticeDataAttachSelected).remove();
+ SN.U.FormNoticeEnhancements(form);
}
else {
form.append('<p class="form_response error">(Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.</p>');
@@ -244,7 +243,7 @@ var SN = { // StatusNet
}
},
success: function(data, textStatus) {
- $('#'+form_id+' .form_response').remove();
+ form.find('.form_response').remove();
var result;
if ($('#'+SN.C.S.Error, data).length > 0) {
result = document._importNode($('p', data)[0], true);
@@ -277,11 +276,11 @@ var SN = { // StatusNet
else {
notices.prepend(notice);
}
- $('#'+notice.id).css({display:'none'});
- $('#'+notice.id).fadeIn(2500);
+ $('#'+notice.id)
+ .css({display:'none'})
+ .fadeIn(2500);
SN.U.NoticeWithAttachment($('#'+notice.id));
SN.U.NoticeReplyTo($('#'+notice.id));
- SN.U.FormXHR($('#'+notice.id+' .form_favor'));
}
}
else {
@@ -290,24 +289,26 @@ var SN = { // StatusNet
form.append('<p class="form_response success">'+result_title+'</p>');
}
}
- $('#'+form_id).resetForm();
- $('#'+form_id+' #'+SN.C.S.NoticeInReplyTo).val('');
- $('#'+form_id+' #'+SN.C.S.NoticeDataAttachSelected).remove();
- SN.U.FormNoticeEnhancements($('#'+form_id));
+ form.resetForm();
+ form.find('#'+SN.C.S.NoticeInReplyTo).val('');
+ form.find('#'+SN.C.S.NoticeDataAttachSelected).remove();
+ SN.U.FormNoticeEnhancements(form);
}
},
complete: function(xhr, textStatus) {
- 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);
+ form
+ .removeClass(SN.C.S.Processing)
+ .find('#'+SN.C.S.NoticeActionSubmit)
+ .removeAttr(SN.C.S.Disabled)
+ .removeClass(SN.C.S.Disabled);
+
+ $('#'+SN.C.S.NoticeLat).val(SN.C.I.NoticeDataGeo.NLat);
+ $('#'+SN.C.S.NoticeLon).val(SN.C.I.NoticeDataGeo.NLon);
if ($('#'+SN.C.S.NoticeLocationNs)) {
- $('#'+SN.C.S.NoticeLocationNs).val(NLNS);
- $('#'+SN.C.S.NoticeLocationId).val(NLID);
+ $('#'+SN.C.S.NoticeLocationNs).val(SN.C.I.NoticeDataGeo.NLNS);
+ $('#'+SN.C.S.NoticeLocationId).val(SN.C.I.NoticeDataGeo.NLID);
}
- $('#'+SN.C.S.NoticeDataGeo).attr('checked', NDG);
+ $('#'+SN.C.S.NoticeDataGeo).attr('checked', SN.C.I.NoticeDataGeo.NDG);
}
});
},
@@ -350,14 +351,15 @@ var SN = { // StatusNet
},
NoticeFavor: function() {
- $('.form_favor').each(function() { SN.U.FormXHR($(this)); });
- $('.form_disfavor').each(function() { SN.U.FormXHR($(this)); });
+ $('.form_favor').live('click', function() { SN.U.FormXHR($(this)); return false; });
+ $('.form_disfavor').live('click', function() { SN.U.FormXHR($(this)); return false; });
},
NoticeRepeat: function() {
- $('.form_repeat').each(function() {
+ $('.form_repeat').live('click', function() {
SN.U.FormXHR($(this));
SN.U.NoticeRepeatConfirmation($(this));
+ return false;
});
},
@@ -639,7 +641,7 @@ var SN = { // StatusNet
NDM.bind('click', function() {
var NDMF = $('.entity_send-a-message form');
if (NDMF.length === 0) {
- $(this).addClass('processing');
+ $(this).addClass(SN.C.S.Processing);
$.get(NDM.attr('href'), null, function(data) {
$('.entity_send-a-message').append(document._importNode($('form', data)[0], true));
NDMF = $('.entity_send-a-message .form_notice');
@@ -650,7 +652,7 @@ var SN = { // StatusNet
NDMF.hide();
return false;
});
- NDM.removeClass('processing');
+ NDM.removeClass(SN.C.S.Processing);
});
}
else {
@@ -695,11 +697,11 @@ var SN = { // StatusNet
EntityActions: function() {
if ($('body.user_in').length > 0) {
- $('.form_user_subscribe').each(function() { SN.U.FormXHR($(this)); });
- $('.form_user_unsubscribe').each(function() { SN.U.FormXHR($(this)); });
- $('.form_group_join').each(function() { SN.U.FormXHR($(this)); });
- $('.form_group_leave').each(function() { SN.U.FormXHR($(this)); });
- $('.form_user_nudge').each(function() { SN.U.FormXHR($(this)); });
+ $('.form_user_subscribe').live('click', function() { SN.U.FormXHR($(this)); return false; });
+ $('.form_user_unsubscribe').live('click', function() { SN.U.FormXHR($(this)); return false; });
+ $('.form_group_join').live('click', function() { SN.U.FormXHR($(this)); return false; });
+ $('.form_group_leave').live('click', function() { SN.U.FormXHR($(this)); return false; });
+ $('.form_user_nudge').live('click', function() { SN.U.FormXHR($(this)); return false; });
SN.U.NewDirectMessage();
}
diff --git a/lib/adminpanelaction.php b/lib/adminpanelaction.php
index f62bfa458..f05627b31 100644
--- a/lib/adminpanelaction.php
+++ b/lib/adminpanelaction.php
@@ -327,9 +327,14 @@ class AdminPanelNav extends Widget
_('Access configuration'), $action_name == 'accessadminpanel', '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');
+ if ($this->canAdmin('paths')) {
+ $this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
+ _('Paths configuration'), $action_name == 'pathsadminpanel', 'nav_design_admin_panel');
+ }
+
+ if ($this->canAdmin('sessions')) {
+ $this->out->menuItem(common_local_url('sessionsadminpanel'), _('Sessions'),
+ _('Sessions configuration'), $action_name == 'sessionsadminpanel', 'nav_design_admin_panel');
}
Event::handle('EndAdminPanelNav', array($this));
diff --git a/lib/api.php b/lib/api.php
index 825262b4c..7d94eaee4 100644
--- a/lib/api.php
+++ b/lib/api.php
@@ -299,7 +299,7 @@ class ApiAction extends Action
}
}
- if ($include_user) {
+ if ($include_user && $profile) {
# Don't get notice (recursive!)
$twitter_user = $this->twitterUserArray($profile, false);
$twitter_status['user'] = $twitter_user;
@@ -1250,10 +1250,27 @@ class ApiAction extends Action
case 'api':
break;
default:
+
+ $name = null;
+ $url = null;
+
$ns = Notice_source::staticGet($source);
+
if ($ns) {
- $source_name = '<a href="' . $ns->url . '">' . $ns->name . '</a>';
+ $name = $ns->name;
+ $url = $ns->url;
+ } else {
+ $app = Oauth_application::staticGet('name', $source);
+ if ($app) {
+ $name = $app->name;
+ $url = $app->source_url;
+ }
+ }
+
+ if (!empty($name) && !empty($url)) {
+ $source_name = '<a href="' . $url . '">' . $name . '</a>';
}
+
break;
}
return $source_name;
diff --git a/lib/apiauth.php b/lib/apiauth.php
index d441014ad..262f4b966 100644
--- a/lib/apiauth.php
+++ b/lib/apiauth.php
@@ -55,11 +55,10 @@ class ApiAuthAction extends ApiAction
{
var $auth_user_nickname = null;
var $auth_user_password = null;
- var $access_token = null;
- var $oauth_source = null;
/**
- * Take arguments for running, and output basic auth header if needed
+ * Take arguments for running, looks for an OAuth request,
+ * and outputs basic auth header if needed
*
* @param array $args $_REQUEST args
*
@@ -71,26 +70,23 @@ class ApiAuthAction extends ApiAction
{
parent::prepare($args);
- $this->consumer_key = $this->arg('oauth_consumer_key');
- $this->access_token = $this->arg('oauth_token');
-
// NOTE: $this->auth_user has to get set in prepare(), not handle(),
// because subclasses do stuff with it in their prepares.
if ($this->requiresAuth()) {
- if (!empty($this->access_token)) {
- $this->checkOAuthRequest();
- } else {
+
+ $oauthReq = $this->getOAuthRequest();
+
+ if (!$oauthReq) {
$this->checkBasicAuthUser(true);
+ } else {
+ $this->checkOAuthRequest($oauthReq);
}
} else {
// Check to see if a basic auth user is there even
// if one's not required
-
- if (empty($this->access_token)) {
- $this->checkBasicAuthUser(false);
- }
+ $this->checkBasicAuthUser(false);
}
// Reject API calls with the wrong access level
@@ -110,12 +106,44 @@ class ApiAuthAction extends ApiAction
return true;
}
- function handle($args)
+ /**
+ * Determine whether the request is an OAuth request.
+ * This is to avoid doign any unnecessary DB lookups.
+ *
+ * @return mixed the OAuthRequest or false
+ *
+ */
+
+ function getOAuthRequest()
{
- parent::handle($args);
+ ApiOauthAction::cleanRequest();
+
+ $req = OAuthRequest::from_request();
+
+ $consumer = $req->get_parameter('oauth_consumer_key');
+ $accessToken = $req->get_parameter('oauth_token');
+
+ // XXX: Is it good enough to assume it's not meant to be an
+ // OAuth request if there is no consumer or token? --Z
+
+ if (empty($consumer) || empty($accessToken)) {
+ return false;
+ }
+
+ return $req;
}
- function checkOAuthRequest()
+ /**
+ * Verifies the OAuth request signature, sets the auth user
+ * and access type (read-only or read-write)
+ *
+ * @param OAuthRequest $request the OAuth Request
+ *
+ * @return nothing
+ *
+ */
+
+ function checkOAuthRequest($request)
{
$datastore = new ApiStatusNetOAuthDataStore();
$server = new OAuthServer($datastore);
@@ -123,22 +151,19 @@ class ApiAuthAction extends ApiAction
$server->add_signature_method($hmac_method);
- ApiOauthAction::cleanRequest();
-
try {
- $req = OAuthRequest::from_request();
- $server->verify_request($req);
+ $server->verify_request($request);
- $app = Oauth_application::getByConsumerKey($this->consumer_key);
+ $consumer = $request->get_parameter('oauth_consumer_key');
+ $access_token = $request->get_parameter('oauth_token');
- if (empty($app)) {
+ $app = Oauth_application::getByConsumerKey($consumer);
- // this should probably not happen
+ if (empty($app)) {
common_log(LOG_WARNING,
'Couldn\'t find the OAuth app for consumer key: ' .
- $this->consumer_key);
-
+ $consumer);
throw new OAuthException('No application for that consumer key.');
}
@@ -146,11 +171,7 @@ class ApiAuthAction extends ApiAction
$this->oauth_source = $app->name;
- $appUser = Oauth_application_user::staticGet('token',
- $this->access_token);
-
- // XXX: Check that app->id and appUser->application_id and consumer all
- // match?
+ $appUser = Oauth_application_user::staticGet('token', $access_token);
if (!empty($appUser)) {
@@ -164,6 +185,8 @@ class ApiAuthAction extends ApiAction
$this->access = ($appUser->access_type & Oauth_application::$writeAccess)
? self::READ_WRITE : self::READ_ONLY;
+ // Set the auth user
+
if (Event::handle('StartSetApiUser', array(&$user))) {
$this->auth_user = User::staticGet('id', $appUser->profile_id);
Event::handle('EndSetApiUser', array($user));
@@ -180,7 +203,6 @@ class ApiAuthAction extends ApiAction
($this->access = self::READ_WRITE) ?
'read-write' : 'read-only'
));
- return;
} else {
throw new OAuthException('Bad access token.');
}
diff --git a/lib/apioauthstore.php b/lib/apioauthstore.php
index 32110d057..1bb11cbca 100644
--- a/lib/apioauthstore.php
+++ b/lib/apioauthstore.php
@@ -159,5 +159,32 @@ class ApiStatusNetOAuthDataStore extends StatusNetOAuthDataStore
}
}
+ /**
+ * Revoke specified access token
+ *
+ * Revokes the token specified by $token_key.
+ * Throws exceptions in case of error.
+ *
+ * @param string $token_key the token to be revoked
+ * @param int $type type of token (0 = req, 1 = access)
+ *
+ * @access public
+ *
+ * @return void
+ */
+
+ public function revoke_token($token_key, $type = 0) {
+ $rt = new Token();
+ $rt->tok = $token_key;
+ $rt->type = $type;
+ $rt->state = 0;
+ if (!$rt->find(true)) {
+ throw new Exception('Tried to revoke unknown token');
+ }
+ if (!$rt->delete()) {
+ throw new Exception('Failed to delete revoked token');
+ }
+ }
+
}
diff --git a/lib/authenticationplugin.php b/lib/authenticationplugin.php
index 17237086c..5be3ea5b9 100644
--- a/lib/authenticationplugin.php
+++ b/lib/authenticationplugin.php
@@ -69,13 +69,17 @@ abstract class AuthenticationPlugin extends Plugin
/**
* 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
+ * @param username username (that is used to login and find the user in the authentication provider) of the user to be registered
+ * @param nickname nickname of the user in the SN system. If nickname is null, then set nickname = username
* @return mixed instance of User, or false (if user couldn't be created)
*/
- function autoRegister($username)
+ function autoRegister($username, $nickname = null)
{
+ if(is_null($nickname)){
+ $nickname = $username;
+ }
$registration_data = array();
- $registration_data['nickname'] = $username ;
+ $registration_data['nickname'] = $nickname ;
return User::register($registration_data);
}
@@ -132,7 +136,7 @@ abstract class AuthenticationPlugin extends Plugin
//someone already exists with the suggested nickname
//not much else we can do
}else{
- $user = $this->autoregister($suggested_nickname);
+ $user = $this->autoRegister($nickname, $suggested_nickname);
if($user){
User_username::register($user,$nickname,$this->provider_name);
return false;
diff --git a/lib/common.php b/lib/common.php
index ada48b339..b95cd1175 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -22,7 +22,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
//exit with 200 response, if this is checking fancy from the installer
if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; }
-define('STATUSNET_VERSION', '0.9.0beta3');
+define('STATUSNET_VERSION', '0.9.0beta5');
define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility
define('STATUSNET_CODENAME', 'Stand');
@@ -115,6 +115,10 @@ function __autoload($cls)
require_once 'Validate.php';
require_once 'markdown.php';
+// XXX: other formats here
+
+define('NICKNAME_FMT', VALIDATE_NUM.VALIDATE_ALPHA_LOWER);
+
require_once INSTALLDIR.'/lib/util.php';
require_once INSTALLDIR.'/lib/action.php';
require_once INSTALLDIR.'/lib/mail.php';
@@ -136,6 +140,3 @@ try {
exit;
}
-// XXX: other formats here
-
-define('NICKNAME_FMT', VALIDATE_NUM.VALIDATE_ALPHA_LOWER);
diff --git a/lib/default.php b/lib/default.php
index a6b9919b2..437f350dd 100644
--- a/lib/default.php
+++ b/lib/default.php
@@ -84,9 +84,12 @@ $default =
'control_channel' => '/topic/statusnet-control', // broadcasts to all queue daemons
'stomp_username' => null,
'stomp_password' => null,
+ 'stomp_persistent' => true, // keep items across queue server restart, if persistence is enabled
+ 'stomp_manual_failover' => true, // if multiple servers are listed, treat them as separate (enqueue on one randomly, listen on all)
'monitor' => null, // URL to monitor ping endpoint (work in progress)
'softlimit' => '90%', // total size or % of memory_limit at which to restart queue threads gracefully
'debug_memory' => false, // true to spit memory usage to log
+ 'inboxes' => true, // true to do inbox distribution & output queueing from in background via 'distrib' queue
),
'license' =>
array('type' => 'cc', # can be 'cc', 'allrightsreserved', 'private'
@@ -265,8 +268,12 @@ $default =
'OpenID' => null),
),
'admin' =>
- array('panels' => array('design', 'site', 'user', 'paths', 'access')),
+ array('panels' => array('design', 'site', 'user', 'paths', 'access', 'sessions')),
'singleuser' =>
array('enabled' => false,
'nickname' => null),
+ 'robotstxt' =>
+ array('crawldelay' => 0,
+ 'disallow' => array('main', 'settings', 'admin', 'search', 'message')
+ ),
);
diff --git a/lib/distribqueuehandler.php b/lib/distribqueuehandler.php
index f458d238d..4477468d0 100644
--- a/lib/distribqueuehandler.php
+++ b/lib/distribqueuehandler.php
@@ -62,23 +62,60 @@ class DistribQueueHandler
{
// XXX: do we need to change this for remote users?
- $notice->saveTags();
+ try {
+ $notice->saveTags();
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
- $groups = $notice->saveGroups();
+ try {
+ $groups = $notice->saveGroups();
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
- $recipients = $notice->saveReplies();
+ try {
+ $recipients = $notice->saveReplies();
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
- $notice->addToInboxes($groups, $recipients);
+ try {
+ $notice->addToInboxes($groups, $recipients);
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
- $notice->saveUrls();
+ try {
+ $notice->saveUrls();
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
- Event::handle('EndNoticeSave', array($notice));
+ try {
+ Event::handle('EndNoticeSave', array($notice));
+ // Enqueue for other handlers
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
- // Enqueue for other handlers
-
- common_enqueue_notice($notice);
+ try {
+ common_enqueue_notice($notice);
+ } catch (Exception $e) {
+ $this->logit($notice, $e);
+ }
return true;
}
+
+ protected function logit($notice, $e)
+ {
+ common_log(LOG_ERR, "Distrib queue exception saving notice $notice->id: " .
+ $e->getMessage() . ' ' .
+ str_replace("\n", " ", $e->getTraceAsString()));
+
+ // We'll still return true so we don't get stuck in a loop
+ // trying to run a bad insert over and over...
+ }
}
diff --git a/lib/liberalstomp.php b/lib/liberalstomp.php
index c9233843a..3d38953fd 100644
--- a/lib/liberalstomp.php
+++ b/lib/liberalstomp.php
@@ -34,6 +34,22 @@ class LiberalStomp extends Stomp
}
/**
+ * Return the host we're currently connected to.
+ *
+ * @return string
+ */
+ function getServer()
+ {
+ $idx = $this->_currentHost;
+ if ($idx >= 0) {
+ $host = $this->_hosts[$idx];
+ return "$host[0]:$host[1]";
+ } else {
+ return '[unconnected]';
+ }
+ }
+
+ /**
* Make socket connection to the server
* We also set the stream to non-blocking mode, since we'll be
* select'ing to wait for updates. In blocking mode it seems
@@ -71,10 +87,12 @@ class LiberalStomp extends Stomp
// @fixme this sometimes hangs in blocking mode...
// shouldn't we have been idle until we found there's more data?
$read = fread($this->_socket, $rb);
- if ($read === false) {
- $this->_reconnect();
+ if ($read === false || ($read === '' && feof($this->_socket))) {
+ // @fixme possibly attempt an auto reconnect as old code?
+ throw new StompException("Error reading");
+ //$this->_reconnect();
// @fixme this will lose prior items
- return $this->readFrames();
+ //return $this->readFrames();
}
$data .= $read;
if (strpos($data, "\x00") !== false) {
diff --git a/lib/mysqlschema.php b/lib/mysqlschema.php
new file mode 100644
index 000000000..1f7c3d092
--- /dev/null
+++ b/lib/mysqlschema.php
@@ -0,0 +1,537 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Database schema utilities
+ *
+ * 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 Database
+ * @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);
+}
+
+/**
+ * Class representing the database schema
+ *
+ * A class representing the database schema. Can be used to
+ * manipulate the schema -- especially for plugins and upgrade
+ * utilities.
+ *
+ * @category Database
+ * @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 MysqlSchema extends Schema
+{
+ static $_single = null;
+ protected $conn = null;
+
+ /**
+ * Constructor. Only run once for singleton object.
+ */
+
+ protected function __construct()
+ {
+ // XXX: there should be an easier way to do this.
+ $user = new User();
+
+ $this->conn = $user->getDatabaseConnection();
+
+ $user->free();
+
+ unset($user);
+ }
+
+ /**
+ * Main public entry point. Use this to get
+ * the singleton object.
+ *
+ * @return Schema the (single) Schema object
+ */
+
+ static function get()
+ {
+ if (empty(self::$_single)) {
+ self::$_single = new Schema();
+ }
+ return self::$_single;
+ }
+
+ /**
+ * Returns a TableDef object for the table
+ * in the schema with the given name.
+ *
+ * Throws an exception if the table is not found.
+ *
+ * @param string $name Name of the table to get
+ *
+ * @return TableDef tabledef for that table.
+ */
+
+ public function getTableDef($name)
+ {
+ $res = $this->conn->query('DESCRIBE ' . $name);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ $td = new TableDef();
+
+ $td->name = $name;
+ $td->columns = array();
+
+ $row = array();
+
+ while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) {
+
+ $cd = new ColumnDef();
+
+ $cd->name = $row['Field'];
+
+ $packed = $row['Type'];
+
+ if (preg_match('/^(\w+)\((\d+)\)$/', $packed, $match)) {
+ $cd->type = $match[1];
+ $cd->size = $match[2];
+ } else {
+ $cd->type = $packed;
+ }
+
+ $cd->nullable = ($row['Null'] == 'YES') ? true : false;
+ $cd->key = $row['Key'];
+ $cd->default = $row['Default'];
+ $cd->extra = $row['Extra'];
+
+ $td->columns[] = $cd;
+ }
+
+ return $td;
+ }
+
+ /**
+ * Gets a ColumnDef object for a single column.
+ *
+ * Throws an exception if the table is not found.
+ *
+ * @param string $table name of the table
+ * @param string $column name of the column
+ *
+ * @return ColumnDef definition of the column or null
+ * if not found.
+ */
+
+ public function getColumnDef($table, $column)
+ {
+ $td = $this->getTableDef($table);
+
+ foreach ($td->columns as $cd) {
+ if ($cd->name == $column) {
+ return $cd;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Creates a table with the given names and columns.
+ *
+ * @param string $name Name of the table
+ * @param array $columns Array of ColumnDef objects
+ * for new table.
+ *
+ * @return boolean success flag
+ */
+
+ public function createTable($name, $columns)
+ {
+ $uniques = array();
+ $primary = array();
+ $indices = array();
+
+ $sql = "CREATE TABLE $name (\n";
+
+ for ($i = 0; $i < count($columns); $i++) {
+
+ $cd =& $columns[$i];
+
+ if ($i > 0) {
+ $sql .= ",\n";
+ }
+
+ $sql .= $this->_columnSql($cd);
+
+ switch ($cd->key) {
+ case 'UNI':
+ $uniques[] = $cd->name;
+ break;
+ case 'PRI':
+ $primary[] = $cd->name;
+ break;
+ case 'MUL':
+ $indices[] = $cd->name;
+ break;
+ }
+ }
+
+ if (count($primary) > 0) { // it really should be...
+ $sql .= ",\nconstraint primary key (" . implode(',', $primary) . ")";
+ }
+
+ foreach ($uniques as $u) {
+ $sql .= ",\nunique index {$name}_{$u}_idx ($u)";
+ }
+
+ foreach ($indices as $i) {
+ $sql .= ",\nindex {$name}_{$i}_idx ($i)";
+ }
+
+ $sql .= "); ";
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Drops a table from the schema
+ *
+ * Throws an exception if the table is not found.
+ *
+ * @param string $name Name of the table to drop
+ *
+ * @return boolean success flag
+ */
+
+ public function dropTable($name)
+ {
+ $res = $this->conn->query("DROP TABLE $name");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Adds an index to a table.
+ *
+ * If no name is provided, a name will be made up based
+ * on the table name and column names.
+ *
+ * Throws an exception on database error, esp. if the table
+ * does not exist.
+ *
+ * @param string $table Name of the table
+ * @param array $columnNames Name of columns to index
+ * @param string $name (Optional) name of the index
+ *
+ * @return boolean success flag
+ */
+
+ public function createIndex($table, $columnNames, $name=null)
+ {
+ if (!is_array($columnNames)) {
+ $columnNames = array($columnNames);
+ }
+
+ if (empty($name)) {
+ $name = "$table_".implode("_", $columnNames)."_idx";
+ }
+
+ $res = $this->conn->query("ALTER TABLE $table ".
+ "ADD INDEX $name (".
+ implode(",", $columnNames).")");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Drops a named index from a table.
+ *
+ * @param string $table name of the table the index is on.
+ * @param string $name name of the index
+ *
+ * @return boolean success flag
+ */
+
+ public function dropIndex($table, $name)
+ {
+ $res = $this->conn->query("ALTER TABLE $table DROP INDEX $name");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Adds a column to a table
+ *
+ * @param string $table name of the table
+ * @param ColumnDef $columndef Definition of the new
+ * column.
+ *
+ * @return boolean success flag
+ */
+
+ public function addColumn($table, $columndef)
+ {
+ $sql = "ALTER TABLE $table ADD COLUMN " . $this->_columnSql($columndef);
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Modifies a column in the schema.
+ *
+ * The name must match an existing column and table.
+ *
+ * @param string $table name of the table
+ * @param ColumnDef $columndef new definition of the column.
+ *
+ * @return boolean success flag
+ */
+
+ public function modifyColumn($table, $columndef)
+ {
+ $sql = "ALTER TABLE $table MODIFY COLUMN " .
+ $this->_columnSql($columndef);
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Drops a column from a table
+ *
+ * The name must match an existing column.
+ *
+ * @param string $table name of the table
+ * @param string $columnName name of the column to drop
+ *
+ * @return boolean success flag
+ */
+
+ public function dropColumn($table, $columnName)
+ {
+ $sql = "ALTER TABLE $table DROP COLUMN $columnName";
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Ensures that a table exists with the given
+ * name and the given column definitions.
+ *
+ * If the table does not yet exist, it will
+ * create the table. If it does exist, it will
+ * alter the table to match the column definitions.
+ *
+ * @param string $tableName name of the table
+ * @param array $columns array of ColumnDef
+ * objects for the table
+ *
+ * @return boolean success flag
+ */
+
+ public function ensureTable($tableName, $columns)
+ {
+ // XXX: DB engine portability -> toilet
+
+ try {
+ $td = $this->getTableDef($tableName);
+ } catch (Exception $e) {
+ if (preg_match('/no such table/', $e->getMessage())) {
+ return $this->createTable($tableName, $columns);
+ } else {
+ throw $e;
+ }
+ }
+
+ $cur = $this->_names($td->columns);
+ $new = $this->_names($columns);
+
+ $toadd = array_diff($new, $cur);
+ $todrop = array_diff($cur, $new);
+ $same = array_intersect($new, $cur);
+ $tomod = array();
+
+ foreach ($same as $m) {
+ $curCol = $this->_byName($td->columns, $m);
+ $newCol = $this->_byName($columns, $m);
+
+ if (!$newCol->equals($curCol)) {
+ $tomod[] = $newCol->name;
+ }
+ }
+
+ if (count($toadd) + count($todrop) + count($tomod) == 0) {
+ // nothing to do
+ return true;
+ }
+
+ // For efficiency, we want this all in one
+ // query, instead of using our methods.
+
+ $phrase = array();
+
+ foreach ($toadd as $columnName) {
+ $cd = $this->_byName($columns, $columnName);
+
+ $phrase[] = 'ADD COLUMN ' . $this->_columnSql($cd);
+ }
+
+ foreach ($todrop as $columnName) {
+ $phrase[] = 'DROP COLUMN ' . $columnName;
+ }
+
+ foreach ($tomod as $columnName) {
+ $cd = $this->_byName($columns, $columnName);
+
+ $phrase[] = 'MODIFY COLUMN ' . $this->_columnSql($cd);
+ }
+
+ $sql = 'ALTER TABLE ' . $tableName . ' ' . implode(', ', $phrase);
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns the array of names from an array of
+ * ColumnDef objects.
+ *
+ * @param array $cds array of ColumnDef objects
+ *
+ * @return array strings for name values
+ */
+
+ private function _names($cds)
+ {
+ $names = array();
+
+ foreach ($cds as $cd) {
+ $names[] = $cd->name;
+ }
+
+ return $names;
+ }
+
+ /**
+ * Get a ColumnDef from an array matching
+ * name.
+ *
+ * @param array $cds Array of ColumnDef objects
+ * @param string $name Name of the column
+ *
+ * @return ColumnDef matching item or null if no match.
+ */
+
+ private function _byName($cds, $name)
+ {
+ foreach ($cds as $cd) {
+ if ($cd->name == $name) {
+ return $cd;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Return the proper SQL for creating or
+ * altering a column.
+ *
+ * Appropriate for use in CREATE TABLE or
+ * ALTER TABLE statements.
+ *
+ * @param ColumnDef $cd column to create
+ *
+ * @return string correct SQL for that column
+ */
+
+ private function _columnSql($cd)
+ {
+ $sql = "{$cd->name} ";
+
+ if (!empty($cd->size)) {
+ $sql .= "{$cd->type}({$cd->size}) ";
+ } else {
+ $sql .= "{$cd->type} ";
+ }
+
+ if (!empty($cd->default)) {
+ $sql .= "default {$cd->default} ";
+ } else {
+ $sql .= ($cd->nullable) ? "null " : "not null ";
+ }
+
+ if (!empty($cd->auto_increment)) {
+ $sql .= " auto_increment ";
+ }
+
+ if (!empty($cd->extra)) {
+ $sql .= "{$cd->extra} ";
+ }
+
+ return $sql;
+ }
+}
diff --git a/lib/noticelist.php b/lib/noticelist.php
index 85c169716..a4a0f2651 100644
--- a/lib/noticelist.php
+++ b/lib/noticelist.php
@@ -486,12 +486,28 @@ class NoticeListItem extends Widget
$this->out->element('span', 'device', $source_name);
break;
default:
+
+ $name = null;
+ $url = null;
+
$ns = Notice_source::staticGet($this->notice->source);
+
if ($ns) {
+ $name = $ns->name;
+ $url = $ns->url;
+ } else {
+ $app = Oauth_application::staticGet('name', $this->notice->source);
+ if ($app) {
+ $name = $app->name;
+ $url = $app->source_url;
+ }
+ }
+
+ if (!empty($name) && !empty($url)) {
$this->out->elementStart('span', 'device');
- $this->out->element('a', array('href' => $ns->url,
+ $this->out->element('a', array('href' => $url,
'rel' => 'external'),
- $ns->name);
+ $name);
$this->out->elementEnd('span');
} else {
$this->out->element('span', 'device', $source_name);
diff --git a/lib/ombqueuehandler.php b/lib/ombqueuehandler.php
index 24896c784..1921c2bac 100644
--- a/lib/ombqueuehandler.php
+++ b/lib/ombqueuehandler.php
@@ -39,7 +39,7 @@ class OmbQueueHandler extends QueueHandler
function handle($notice)
{
if ($this->is_remote($notice)) {
- $this->log(LOG_DEBUG, 'Ignoring remote notice ' . $notice->id);
+ common_log(LOG_DEBUG, 'Ignoring remote notice ' . $notice->id);
return true;
} else {
require_once(INSTALLDIR.'/lib/omb.php');
diff --git a/lib/pgsqlschema.php b/lib/pgsqlschema.php
new file mode 100644
index 000000000..91bc09667
--- /dev/null
+++ b/lib/pgsqlschema.php
@@ -0,0 +1,503 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Database schema utilities
+ *
+ * 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 Database
+ * @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);
+}
+
+/**
+ * Class representing the database schema
+ *
+ * A class representing the database schema. Can be used to
+ * manipulate the schema -- especially for plugins and upgrade
+ * utilities.
+ *
+ * @category Database
+ * @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 PgsqlSchema extends Schema
+{
+
+ /**
+ * Returns a TableDef object for the table
+ * in the schema with the given name.
+ *
+ * Throws an exception if the table is not found.
+ *
+ * @param string $name Name of the table to get
+ *
+ * @return TableDef tabledef for that table.
+ */
+
+ public function getTableDef($name)
+ {
+ $res = $this->conn->query("select *, column_default as default, is_nullable as Null, udt_name as Type, column_name AS Field from INFORMATION_SCHEMA.COLUMNS where table_name = '$name'");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ $td = new TableDef();
+
+ $td->name = $name;
+ $td->columns = array();
+
+ $row = array();
+
+ while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) {
+// var_dump($row);
+ $cd = new ColumnDef();
+
+ $cd->name = $row['field'];
+
+ $packed = $row['type'];
+
+ if (preg_match('/^(\w+)\((\d+)\)$/', $packed, $match)) {
+ $cd->type = $match[1];
+ $cd->size = $match[2];
+ } else {
+ $cd->type = $packed;
+ }
+
+ $cd->nullable = ($row['null'] == 'YES') ? true : false;
+ $cd->key = $row['Key'];
+ $cd->default = $row['default'];
+ $cd->extra = $row['Extra'];
+
+ $td->columns[] = $cd;
+ }
+ return $td;
+ }
+
+ /**
+ * Gets a ColumnDef object for a single column.
+ *
+ * Throws an exception if the table is not found.
+ *
+ * @param string $table name of the table
+ * @param string $column name of the column
+ *
+ * @return ColumnDef definition of the column or null
+ * if not found.
+ */
+
+ public function getColumnDef($table, $column)
+ {
+ $td = $this->getTableDef($table);
+
+ foreach ($td->columns as $cd) {
+ if ($cd->name == $column) {
+ return $cd;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Creates a table with the given names and columns.
+ *
+ * @param string $name Name of the table
+ * @param array $columns Array of ColumnDef objects
+ * for new table.
+ *
+ * @return boolean success flag
+ */
+
+ public function createTable($name, $columns)
+ {
+ $uniques = array();
+ $primary = array();
+ $indices = array();
+
+ $sql = "CREATE TABLE $name (\n";
+
+ for ($i = 0; $i < count($columns); $i++) {
+
+ $cd =& $columns[$i];
+
+ if ($i > 0) {
+ $sql .= ",\n";
+ }
+
+ $sql .= $this->_columnSql($cd);
+
+ switch ($cd->key) {
+ case 'UNI':
+ $uniques[] = $cd->name;
+ break;
+ case 'PRI':
+ $primary[] = $cd->name;
+ break;
+ case 'MUL':
+ $indices[] = $cd->name;
+ break;
+ }
+ }
+
+ if (count($primary) > 0) { // it really should be...
+ $sql .= ",\nconstraint primary key (" . implode(',', $primary) . ")";
+ }
+
+ foreach ($uniques as $u) {
+ $sql .= ",\nunique index {$name}_{$u}_idx ($u)";
+ }
+
+ foreach ($indices as $i) {
+ $sql .= ",\nindex {$name}_{$i}_idx ($i)";
+ }
+
+ $sql .= "); ";
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Drops a table from the schema
+ *
+ * Throws an exception if the table is not found.
+ *
+ * @param string $name Name of the table to drop
+ *
+ * @return boolean success flag
+ */
+
+ public function dropTable($name)
+ {
+ $res = $this->conn->query("DROP TABLE $name");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Adds an index to a table.
+ *
+ * If no name is provided, a name will be made up based
+ * on the table name and column names.
+ *
+ * Throws an exception on database error, esp. if the table
+ * does not exist.
+ *
+ * @param string $table Name of the table
+ * @param array $columnNames Name of columns to index
+ * @param string $name (Optional) name of the index
+ *
+ * @return boolean success flag
+ */
+
+ public function createIndex($table, $columnNames, $name=null)
+ {
+ if (!is_array($columnNames)) {
+ $columnNames = array($columnNames);
+ }
+
+ if (empty($name)) {
+ $name = "$table_".implode("_", $columnNames)."_idx";
+ }
+
+ $res = $this->conn->query("ALTER TABLE $table ".
+ "ADD INDEX $name (".
+ implode(",", $columnNames).")");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Drops a named index from a table.
+ *
+ * @param string $table name of the table the index is on.
+ * @param string $name name of the index
+ *
+ * @return boolean success flag
+ */
+
+ public function dropIndex($table, $name)
+ {
+ $res = $this->conn->query("ALTER TABLE $table DROP INDEX $name");
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Adds a column to a table
+ *
+ * @param string $table name of the table
+ * @param ColumnDef $columndef Definition of the new
+ * column.
+ *
+ * @return boolean success flag
+ */
+
+ public function addColumn($table, $columndef)
+ {
+ $sql = "ALTER TABLE $table ADD COLUMN " . $this->_columnSql($columndef);
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Modifies a column in the schema.
+ *
+ * The name must match an existing column and table.
+ *
+ * @param string $table name of the table
+ * @param ColumnDef $columndef new definition of the column.
+ *
+ * @return boolean success flag
+ */
+
+ public function modifyColumn($table, $columndef)
+ {
+ $sql = "ALTER TABLE $table MODIFY COLUMN " .
+ $this->_columnSql($columndef);
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Drops a column from a table
+ *
+ * The name must match an existing column.
+ *
+ * @param string $table name of the table
+ * @param string $columnName name of the column to drop
+ *
+ * @return boolean success flag
+ */
+
+ public function dropColumn($table, $columnName)
+ {
+ $sql = "ALTER TABLE $table DROP COLUMN $columnName";
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Ensures that a table exists with the given
+ * name and the given column definitions.
+ *
+ * If the table does not yet exist, it will
+ * create the table. If it does exist, it will
+ * alter the table to match the column definitions.
+ *
+ * @param string $tableName name of the table
+ * @param array $columns array of ColumnDef
+ * objects for the table
+ *
+ * @return boolean success flag
+ */
+
+ public function ensureTable($tableName, $columns)
+ {
+ // XXX: DB engine portability -> toilet
+
+ try {
+ $td = $this->getTableDef($tableName);
+ } catch (Exception $e) {
+ if (preg_match('/no such table/', $e->getMessage())) {
+ return $this->createTable($tableName, $columns);
+ } else {
+ throw $e;
+ }
+ }
+
+ $cur = $this->_names($td->columns);
+ $new = $this->_names($columns);
+
+ $toadd = array_diff($new, $cur);
+ $todrop = array_diff($cur, $new);
+ $same = array_intersect($new, $cur);
+ $tomod = array();
+
+ foreach ($same as $m) {
+ $curCol = $this->_byName($td->columns, $m);
+ $newCol = $this->_byName($columns, $m);
+
+ if (!$newCol->equals($curCol)) {
+ $tomod[] = $newCol->name;
+ }
+ }
+
+ if (count($toadd) + count($todrop) + count($tomod) == 0) {
+ // nothing to do
+ return true;
+ }
+
+ // For efficiency, we want this all in one
+ // query, instead of using our methods.
+
+ $phrase = array();
+
+ foreach ($toadd as $columnName) {
+ $cd = $this->_byName($columns, $columnName);
+
+ $phrase[] = 'ADD COLUMN ' . $this->_columnSql($cd);
+ }
+
+ foreach ($todrop as $columnName) {
+ $phrase[] = 'DROP COLUMN ' . $columnName;
+ }
+
+ foreach ($tomod as $columnName) {
+ $cd = $this->_byName($columns, $columnName);
+
+ $phrase[] = 'MODIFY COLUMN ' . $this->_columnSql($cd);
+ }
+
+ $sql = 'ALTER TABLE ' . $tableName . ' ' . implode(', ', $phrase);
+
+ $res = $this->conn->query($sql);
+
+ if (PEAR::isError($res)) {
+ throw new Exception($res->getMessage());
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns the array of names from an array of
+ * ColumnDef objects.
+ *
+ * @param array $cds array of ColumnDef objects
+ *
+ * @return array strings for name values
+ */
+
+ private function _names($cds)
+ {
+ $names = array();
+
+ foreach ($cds as $cd) {
+ $names[] = $cd->name;
+ }
+
+ return $names;
+ }
+
+ /**
+ * Get a ColumnDef from an array matching
+ * name.
+ *
+ * @param array $cds Array of ColumnDef objects
+ * @param string $name Name of the column
+ *
+ * @return ColumnDef matching item or null if no match.
+ */
+
+ private function _byName($cds, $name)
+ {
+ foreach ($cds as $cd) {
+ if ($cd->name == $name) {
+ return $cd;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Return the proper SQL for creating or
+ * altering a column.
+ *
+ * Appropriate for use in CREATE TABLE or
+ * ALTER TABLE statements.
+ *
+ * @param ColumnDef $cd column to create
+ *
+ * @return string correct SQL for that column
+ */
+
+ private function _columnSql($cd)
+ {
+ $sql = "{$cd->name} ";
+
+ if (!empty($cd->size)) {
+ $sql .= "{$cd->type}({$cd->size}) ";
+ } else {
+ $sql .= "{$cd->type} ";
+ }
+
+ if (!empty($cd->default)) {
+ $sql .= "default {$cd->default} ";
+ } else {
+ $sql .= ($cd->nullable) ? "null " : "not null ";
+ }
+
+ if (!empty($cd->auto_increment)) {
+ $sql .= " auto_increment ";
+ }
+
+ if (!empty($cd->extra)) {
+ $sql .= "{$cd->extra} ";
+ }
+
+ return $sql;
+ }
+}
diff --git a/lib/router.php b/lib/router.php
index 03765b39d..987d0152e 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -73,6 +73,8 @@ class Router
if (Event::handle('StartInitializeRouter', array(&$m))) {
+ $m->connect('robots.txt', array('action' => 'robotstxt'));
+
$m->connect('opensearch/people', array('action' => 'opensearch',
'type' => 'people'));
$m->connect('opensearch/notice', array('action' => 'opensearch',
@@ -150,6 +152,10 @@ class Router
array('action' => 'editapplication'),
array('id' => '[0-9]+')
);
+ $m->connect('settings/oauthapps/delete/:id',
+ array('action' => 'deleteapplication'),
+ array('id' => '[0-9]+')
+ );
// search
@@ -637,8 +643,9 @@ class Router
$m->connect('admin/site', array('action' => 'siteadminpanel'));
$m->connect('admin/design', array('action' => 'designadminpanel'));
$m->connect('admin/user', array('action' => 'useradminpanel'));
- $m->connect('admin/access', array('action' => 'accessadminpanel'));
+ $m->connect('admin/access', array('action' => 'accessadminpanel'));
$m->connect('admin/paths', array('action' => 'pathsadminpanel'));
+ $m->connect('admin/sessions', array('action' => 'sessionsadminpanel'));
$m->connect('getfile/:filename',
array('action' => 'getfile'),
@@ -648,7 +655,16 @@ class Router
if (common_config('singleuser', 'enabled')) {
- $nickname = common_config('singleuser', 'nickname');
+ $user = User::siteOwner();
+
+ if (!empty($user)) {
+ $nickname = $user->nickname;
+ } else {
+ $nickname = common_config('singleuser', 'nickname');
+ if (empty($nickname)) {
+ throw new ServerException(_("No single user defined for single-user mode."));
+ }
+ }
foreach (array('subscriptions', 'subscribers',
'all', 'foaf', 'xrds',
@@ -696,6 +712,10 @@ class Router
'nickname' => $nickname),
array('tag' => '[a-zA-Z0-9]+'));
+ $m->connect('rsd.xml',
+ array('action' => 'rsd',
+ 'nickname' => $nickname));
+
$m->connect('',
array('action' => 'showstream',
'nickname' => $nickname));
@@ -710,6 +730,7 @@ class Router
$m->connect('featured', array('action' => 'featured'));
$m->connect('favorited/', array('action' => 'favorited'));
$m->connect('favorited', array('action' => 'favorited'));
+ $m->connect('rsd.xml', array('action' => 'rsd'));
foreach (array('subscriptions', 'subscribers',
'nudge', 'all', 'foaf', 'xrds',
@@ -757,6 +778,10 @@ class Router
array('nickname' => '[a-zA-Z0-9]{1,64}'),
array('tag' => '[a-zA-Z0-9]+'));
+ $m->connect(':nickname/rsd.xml',
+ array('action' => 'rsd'),
+ array('nickname' => '[a-zA-Z0-9]{1,64}'));
+
$m->connect(':nickname',
array('action' => 'showstream'),
array('nickname' => '[a-zA-Z0-9]{1,64}'));
diff --git a/lib/schema.php b/lib/schema.php
index a7f64ebed..137b814e0 100644
--- a/lib/schema.php
+++ b/lib/schema.php
@@ -75,65 +75,15 @@ class Schema
static function get()
{
+ $type = common_config('db', 'type');
if (empty(self::$_single)) {
- self::$_single = new Schema();
+ $schemaClass = ucfirst($type).'Schema';
+ self::$_single = new $schemaClass();
}
return self::$_single;
}
/**
- * Returns a TableDef object for the table
- * in the schema with the given name.
- *
- * Throws an exception if the table is not found.
- *
- * @param string $name Name of the table to get
- *
- * @return TableDef tabledef for that table.
- */
-
- public function getTableDef($name)
- {
- $res = $this->conn->query('DESCRIBE ' . $name);
-
- if (PEAR::isError($res)) {
- throw new Exception($res->getMessage());
- }
-
- $td = new TableDef();
-
- $td->name = $name;
- $td->columns = array();
-
- $row = array();
-
- while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) {
-
- $cd = new ColumnDef();
-
- $cd->name = $row['Field'];
-
- $packed = $row['Type'];
-
- if (preg_match('/^(\w+)\((\d+)\)$/', $packed, $match)) {
- $cd->type = $match[1];
- $cd->size = $match[2];
- } else {
- $cd->type = $packed;
- }
-
- $cd->nullable = ($row['Null'] == 'YES') ? true : false;
- $cd->key = $row['Key'];
- $cd->default = $row['Default'];
- $cd->extra = $row['Extra'];
-
- $td->columns[] = $cd;
- }
-
- return $td;
- }
-
- /**
* Gets a ColumnDef object for a single column.
*
* Throws an exception if the table is not found.
@@ -523,7 +473,7 @@ class Schema
} else {
$sql .= ($cd->nullable) ? "null " : "not null ";
}
-
+
if (!empty($cd->auto_increment)) {
$sql .= " auto_increment ";
}
diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php
index 19e8c49b5..6730cd213 100644
--- a/lib/stompqueuemanager.php
+++ b/lib/stompqueuemanager.php
@@ -29,28 +29,36 @@
*/
require_once 'Stomp.php';
-
+require_once 'Stomp/Exception.php';
class StompQueueManager extends QueueManager
{
- var $server = null;
- var $username = null;
- var $password = null;
- var $base = null;
- var $con = null;
+ protected $servers;
+ protected $username;
+ protected $password;
+ protected $base;
protected $control;
-
+
+ protected $useTransactions = true;
+
protected $sites = array();
protected $subscriptions = array();
- protected $useTransactions = true;
- protected $transaction = null;
- protected $transactionCount = 0;
+ protected $cons = array(); // all open connections
+ protected $disconnect = array();
+ protected $transaction = array();
+ protected $transactionCount = array();
+ protected $defaultIdx = 0;
function __construct()
{
parent::__construct();
- $this->server = common_config('queue', 'stomp_server');
+ $server = common_config('queue', 'stomp_server');
+ if (is_array($server)) {
+ $this->servers = $server;
+ } else {
+ $this->servers = array($server);
+ }
$this->username = common_config('queue', 'stomp_username');
$this->password = common_config('queue', 'stomp_password');
$this->base = common_config('queue', 'queue_basename');
@@ -99,9 +107,9 @@ class StompQueueManager extends QueueManager
$message .= ':' . $param;
}
$this->_connect();
- $result = $this->con->send($this->control,
- $message,
- array ('created' => common_sql_now()));
+ $result = $this->_send($this->control,
+ $message,
+ array ('created' => common_sql_now()));
if ($result) {
$this->_log(LOG_INFO, "Sent control ping to queue daemons: $message");
return true;
@@ -166,28 +174,59 @@ class StompQueueManager extends QueueManager
/**
* Saves a notice object reference into the queue item table.
* @return boolean true on success
+ * @throws StompException on connection or send error
*/
public function enqueue($object, $queue)
{
+ $this->_connect();
+ return $this->_doEnqueue($object, $queue, $this->defaultIdx);
+ }
+
+ /**
+ * Saves a notice object reference into the queue item table
+ * on the given connection.
+ *
+ * @return boolean true on success
+ * @throws StompException on connection or send error
+ */
+ protected function _doEnqueue($object, $queue, $idx)
+ {
$msg = $this->encode($object);
$rep = $this->logrep($object);
- $this->_connect();
-
- // XXX: serialize and send entire notice
+ $props = array('created' => common_sql_now());
+ if ($this->isPersistent($queue)) {
+ $props['persistent'] = 'true';
+ }
- $result = $this->con->send($this->queueName($queue),
- $msg, // BODY of the message
- array ('created' => common_sql_now(),
- 'persistent' => 'true'));
+ $con = $this->cons[$idx];
+ $host = $con->getServer();
+ $result = $con->send($this->queueName($queue), $msg, $props);
if (!$result) {
- common_log(LOG_ERR, "Error sending $rep to $queue queue");
+ common_log(LOG_ERR, "Error sending $rep to $queue queue on $host");
return false;
}
- common_log(LOG_DEBUG, "complete remote queueing $rep for $queue");
+ common_log(LOG_DEBUG, "complete remote queueing $rep for $queue on $host");
$this->stats('enqueued', $queue);
+ return true;
+ }
+
+ /**
+ * Determine whether messages to this queue should be marked as persistent.
+ * Actual persistent storage depends on the queue server's configuration.
+ * @param string $queue
+ * @return bool
+ */
+ protected function isPersistent($queue)
+ {
+ $mode = common_config('queue', 'stomp_persistent');
+ if (is_array($mode)) {
+ return in_array($queue, $mode);
+ } else {
+ return (bool)$mode;
+ }
}
/**
@@ -198,7 +237,29 @@ class StompQueueManager extends QueueManager
*/
public function getSockets()
{
- return array($this->con->getSocket());
+ $sockets = array();
+ foreach ($this->cons as $con) {
+ if ($con) {
+ $sockets[] = $con->getSocket();
+ }
+ }
+ return $sockets;
+ }
+
+ /**
+ * Get the Stomp connection object associated with the given socket.
+ * @param resource $socket
+ * @return int index into connections list
+ * @throws Exception
+ */
+ protected function connectionFromSocket($socket)
+ {
+ foreach ($this->cons as $i => $con) {
+ if ($con && $con->getSocket() === $socket) {
+ return $i;
+ }
+ }
+ throw new Exception(__CLASS__ . " asked to read from unrecognized socket");
}
/**
@@ -210,27 +271,56 @@ class StompQueueManager extends QueueManager
*/
public function handleInput($socket)
{
- assert($socket === $this->con->getSocket());
+ $idx = $this->connectionFromSocket($socket);
+ $con = $this->cons[$idx];
+ $host = $con->getServer();
+
$ok = true;
- $frames = $this->con->readFrames();
+ try {
+ $frames = $con->readFrames();
+ } catch (StompException $e) {
+ common_log(LOG_ERR, "Lost connection to $host: " . $e->getMessage());
+ $this->cons[$idx] = null;
+ $this->transaction[$idx] = null;
+ $this->disconnect[$idx] = time();
+ return false;
+ }
foreach ($frames as $frame) {
$dest = $frame->headers['destination'];
if ($dest == $this->control) {
- if (!$this->handleControlSignal($frame)) {
+ if (!$this->handleControlSignal($idx, $frame)) {
// We got a control event that requests a shutdown;
// close out and stop handling anything else!
break;
}
} else {
- $ok = $ok && $this->handleItem($frame);
+ $ok = $ok && $this->handleItem($idx, $frame);
}
}
return $ok;
}
/**
+ * Attempt to reconnect in background if we lost a connection.
+ */
+ function idle()
+ {
+ $now = time();
+ foreach ($this->cons as $idx => $con) {
+ if (empty($con)) {
+ $age = $now - $this->disconnect[$idx];
+ if ($age >= 60) {
+ $this->_reconnect($idx);
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
* Initialize our connection and subscribe to all the queues
- * we're going to need to handle...
+ * we're going to need to handle... If multiple queue servers
+ * are configured for failover, we'll listen to all of them.
*
* Side effects: in multi-site mode, may reset site configuration.
*
@@ -240,9 +330,14 @@ class StompQueueManager extends QueueManager
public function start($master)
{
parent::start($master);
- $this->_connect();
+ $this->_connectAll();
- $this->con->subscribe($this->control);
+ common_log(LOG_INFO, "Subscribing to $this->control");
+ foreach ($this->cons as $con) {
+ if ($con) {
+ $con->subscribe($this->control);
+ }
+ }
if ($this->sites) {
foreach ($this->sites as $server) {
StatusNet::init($server);
@@ -251,10 +346,14 @@ class StompQueueManager extends QueueManager
} else {
$this->doSubscribe();
}
- $this->begin();
+ foreach ($this->cons as $i => $con) {
+ if ($con) {
+ $this->begin($i);
+ }
+ }
return true;
}
-
+
/**
* Subscribe to all the queues we're going to need to handle...
*
@@ -266,8 +365,12 @@ class StompQueueManager extends QueueManager
{
// If there are any outstanding delivered messages we haven't processed,
// free them for another thread to take.
- $this->rollback();
- $this->con->unsubscribe($this->control);
+ foreach ($this->cons as $i => $con) {
+ if ($con) {
+ $this->rollback($i);
+ $con->unsubscribe($this->control);
+ }
+ }
if ($this->sites) {
foreach ($this->sites as $server) {
StatusNet::init($server);
@@ -289,23 +392,106 @@ class StompQueueManager extends QueueManager
}
/**
- * Lazy open connection to Stomp queue server.
+ * Lazy open a single connection to Stomp queue server.
+ * If multiple servers are configured, we let the Stomp client library
+ * worry about finding a working connection among them.
*/
protected function _connect()
{
- if (empty($this->con)) {
- $this->_log(LOG_INFO, "Connecting to '$this->server' as '$this->username'...");
- $this->con = new LiberalStomp($this->server);
-
- if ($this->con->connect($this->username, $this->password)) {
- $this->_log(LOG_INFO, "Connected.");
+ if (empty($this->cons)) {
+ $list = $this->servers;
+ if (count($list) > 1) {
+ shuffle($list); // Randomize to spread load
+ $url = 'failover://(' . implode(',', $list) . ')';
} else {
- $this->_log(LOG_ERR, 'Failed to connect to queue server');
- throw new ServerException('Failed to connect to queue server');
+ $url = $list[0];
+ }
+ $con = $this->_doConnect($url);
+ $this->cons = array($con);
+ $this->transactionCount = array(0);
+ $this->transaction = array(null);
+ $this->disconnect = array(null);
+ }
+ }
+
+ /**
+ * Lazy open connections to all Stomp servers, if in manual failover
+ * mode. This means the queue servers don't speak to each other, so
+ * we have to listen to all of them to make sure we get all events.
+ */
+ protected function _connectAll()
+ {
+ if (!common_config('queue', 'stomp_manual_failover')) {
+ return $this->_connect();
+ }
+ if (empty($this->cons)) {
+ $this->cons = array();
+ $this->transactionCount = array();
+ $this->transaction = array();
+ foreach ($this->servers as $idx => $server) {
+ try {
+ $this->cons[] = $this->_doConnect($server);
+ $this->disconnect[] = null;
+ } catch (Exception $e) {
+ // s'okay, we'll live
+ $this->cons[] = null;
+ $this->disconnect[] = time();
+ }
+ $this->transactionCount[] = 0;
+ $this->transaction[] = null;
+ }
+ if (empty($this->cons)) {
+ throw new ServerException("No queue servers reachable...");
+ return false;
}
}
}
+ protected function _reconnect($idx)
+ {
+ try {
+ $con = $this->_doConnect($this->servers[$idx]);
+ } catch (Exception $e) {
+ $this->_log(LOG_ERR, $e->getMessage());
+ $con = null;
+ }
+ if ($con) {
+ $this->cons[$idx] = $con;
+ $this->disconnect[$idx] = null;
+
+ // now we have to listen to everything...
+ // @fixme refactor this nicer. :P
+ $host = $con->getServer();
+ $this->_log(LOG_INFO, "Resubscribing to $this->control on $host");
+ $con->subscribe($this->control);
+ foreach ($this->subscriptions as $site => $queues) {
+ foreach ($queues as $queue) {
+ $this->_log(LOG_INFO, "Resubscribing to $queue on $host");
+ $con->subscribe($queue);
+ }
+ }
+ $this->begin($idx);
+ } else {
+ // Try again later...
+ $this->disconnect[$idx] = time();
+ }
+ }
+
+ protected function _doConnect($server)
+ {
+ $this->_log(LOG_INFO, "Connecting to '$server' as '$this->username'...");
+ $con = new LiberalStomp($server);
+
+ if ($con->connect($this->username, $this->password)) {
+ $this->_log(LOG_INFO, "Connected.");
+ } else {
+ $this->_log(LOG_ERR, 'Failed to connect to queue server');
+ throw new ServerException('Failed to connect to queue server');
+ }
+
+ return $con;
+ }
+
/**
* Subscribe to all enabled notice queues for the current site.
*/
@@ -317,7 +503,11 @@ class StompQueueManager extends QueueManager
$rawqueue = $this->queueName($queue);
$this->subscriptions[$site][$queue] = $rawqueue;
$this->_log(LOG_INFO, "Subscribing to $rawqueue");
- $this->con->subscribe($rawqueue);
+ foreach ($this->cons as $con) {
+ if ($con) {
+ $con->subscribe($rawqueue);
+ }
+ }
}
}
@@ -331,7 +521,11 @@ class StompQueueManager extends QueueManager
if (!empty($this->subscriptions[$site])) {
foreach ($this->subscriptions[$site] as $queue => $rawqueue) {
$this->_log(LOG_INFO, "Unsubscribing from $rawqueue");
- $this->con->unsubscribe($rawqueue);
+ foreach ($this->cons as $con) {
+ if ($con) {
+ $con->unsubscribe($rawqueue);
+ }
+ }
unset($this->subscriptions[$site][$queue]);
}
}
@@ -346,27 +540,31 @@ class StompQueueManager extends QueueManager
* Side effects: in multi-site mode, may reset site configuration to
* match the site that queued the event.
*
+ * @param int $idx connection index
* @param StompFrame $frame
* @return bool
*/
- protected function handleItem($frame)
+ protected function handleItem($idx, $frame)
{
+ $this->defaultIdx = $idx;
+
list($site, $queue) = $this->parseDestination($frame->headers['destination']);
if ($site != $this->currentSite()) {
$this->stats('switch');
StatusNet::init($site);
}
+ $host = $this->cons[$idx]->getServer();
if (is_numeric($frame->body)) {
$id = intval($frame->body);
- $info = "notice $id posted at {$frame->headers['created']} in queue $queue";
+ $info = "notice $id posted at {$frame->headers['created']} in queue $queue from $host";
$notice = Notice::staticGet('id', $id);
if (empty($notice)) {
$this->_log(LOG_WARNING, "Skipping missing $info");
- $this->ack($frame);
- $this->commit();
- $this->begin();
+ $this->ack($idx, $frame);
+ $this->commit($idx);
+ $this->begin($idx);
$this->stats('badnotice', $queue);
return false;
}
@@ -374,39 +572,47 @@ class StompQueueManager extends QueueManager
$item = $notice;
} else {
// @fixme should we serialize, or json, or what here?
- $info = "string posted at {$frame->headers['created']} in queue $queue";
+ $info = "string posted at {$frame->headers['created']} in queue $queue from $host";
$item = $frame->body;
}
$handler = $this->getHandler($queue);
if (!$handler) {
$this->_log(LOG_ERR, "Missing handler class; skipping $info");
- $this->ack($frame);
- $this->commit();
- $this->begin();
+ $this->ack($idx, $frame);
+ $this->commit($idx);
+ $this->begin($idx);
$this->stats('badhandler', $queue);
return false;
}
- $ok = $handler->handle($item);
+ // If there's an exception when handling,
+ // log the error and let it get requeued.
+
+ try {
+ $ok = $handler->handle($item);
+ } catch (Exception $e) {
+ $this->_log(LOG_ERR, "Exception on queue $queue: " . $e->getMessage());
+ $ok = false;
+ }
if (!$ok) {
$this->_log(LOG_WARNING, "Failed handling $info");
// FIXME we probably shouldn't have to do
// this kind of queue management ourselves;
// if we don't ack, it should resend...
- $this->ack($frame);
+ $this->ack($idx, $frame);
$this->enqueue($item, $queue);
- $this->commit();
- $this->begin();
+ $this->commit($idx);
+ $this->begin($idx);
$this->stats('requeued', $queue);
return false;
}
$this->_log(LOG_INFO, "Successfully handled $info");
- $this->ack($frame);
- $this->commit();
- $this->begin();
+ $this->ack($idx, $frame);
+ $this->commit($idx);
+ $this->begin($idx);
$this->stats('handled', $queue);
return true;
}
@@ -414,10 +620,11 @@ class StompQueueManager extends QueueManager
/**
* Process a control signal broadcast.
*
+ * @param int $idx connection index
* @param array $frame Stomp frame
* @return bool true to continue; false to stop further processing.
*/
- protected function handleControlSignal($frame)
+ protected function handleControlSignal($idx, $frame)
{
$message = trim($frame->body);
if (strpos($message, ':') !== false) {
@@ -441,12 +648,12 @@ class StompQueueManager extends QueueManager
$this->_log(LOG_ERR, "Ignoring unrecognized control message: $message");
}
- $this->ack($frame);
- $this->commit();
- $this->begin();
+ $this->ack($idx, $frame);
+ $this->commit($idx);
+ $this->begin($idx);
return $shutdown;
}
-
+
/**
* Set us up with queue subscriptions for a new site added at runtime,
* triggered by a broadcast to the 'statusnet-control' topic.
@@ -520,47 +727,49 @@ class StompQueueManager extends QueueManager
common_log($level, 'StompQueueManager: '.$msg);
}
- protected function begin()
+ protected function begin($idx)
{
if ($this->useTransactions) {
- if ($this->transaction) {
+ if (!empty($this->transaction[$idx])) {
throw new Exception("Tried to start transaction in the middle of a transaction");
}
- $this->transactionCount++;
- $this->transaction = $this->master->id . '-' . $this->transactionCount . '-' . time();
- $this->con->begin($this->transaction);
+ $this->transactionCount[$idx]++;
+ $this->transaction[$idx] = $this->master->id . '-' . $this->transactionCount[$idx] . '-' . time();
+ $this->cons[$idx]->begin($this->transaction[$idx]);
}
}
- protected function ack($frame)
+ protected function ack($idx, $frame)
{
if ($this->useTransactions) {
- if (!$this->transaction) {
+ if (empty($this->transaction[$idx])) {
throw new Exception("Tried to ack but not in a transaction");
}
+ $this->cons[$idx]->ack($frame, $this->transaction[$idx]);
+ } else {
+ $this->cons[$idx]->ack($frame);
}
- $this->con->ack($frame, $this->transaction);
}
- protected function commit()
+ protected function commit($idx)
{
if ($this->useTransactions) {
- if (!$this->transaction) {
+ if (empty($this->transaction[$idx])) {
throw new Exception("Tried to commit but not in a transaction");
}
- $this->con->commit($this->transaction);
- $this->transaction = null;
+ $this->cons[$idx]->commit($this->transaction[$idx]);
+ $this->transaction[$idx] = null;
}
}
- protected function rollback()
+ protected function rollback($idx)
{
if ($this->useTransactions) {
- if (!$this->transaction) {
+ if (empty($this->transaction[$idx])) {
throw new Exception("Tried to rollback but not in a transaction");
}
- $this->con->commit($this->transaction);
- $this->transaction = null;
+ $this->cons[$idx]->commit($this->transaction[$idx]);
+ $this->transaction[$idx] = null;
}
}
}
diff --git a/lib/util.php b/lib/util.php
index e60cb6765..9a24d268d 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -178,7 +178,6 @@ function common_ensure_session()
}
if (isset($id)) {
session_id($id);
- setcookie(session_name(), $id);
}
@session_start();
if (!isset($_SESSION['started'])) {
@@ -990,10 +989,16 @@ function common_enqueue_notice($notice)
static $localTransports = array('omb',
'ping');
- static $allTransports = array('sms', 'plugin');
-
- $transports = $allTransports;
+ $transports = array();
+ if (common_config('sms', 'enabled')) {
+ $transports[] = 'sms';
+ }
+ if (Event::hasHandler('HandleQueuedNotice')) {
+ $transports[] = 'plugin';
+ }
+
+ // @fixme move these checks into QueueManager and/or individual handlers
if ($notice->is_local == Notice::LOCAL_PUBLIC ||
$notice->is_local == Notice::LOCAL_NONPUBLIC) {
$transports = array_merge($transports, $localTransports);
diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po
index f6aa348cc..7e61e492d 100644
--- a/locale/ar/LC_MESSAGES/statusnet.po
+++ b/locale/ar/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:20+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:02+0000\n"
"Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n"
"X-Message-Group: out-statusnet\n"
@@ -62,11 +62,12 @@ msgstr "عطّل التسجيل الجديد."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "أرسل"
@@ -96,7 +97,7 @@ msgstr "لا صÙحة كهذه"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -153,7 +154,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -177,7 +178,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -349,11 +350,11 @@ msgstr "لا يمكنك عدم متابعة Ù†Ùسك."
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr ""
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "تعذّر إيجاد المستخدم الهدÙ."
@@ -375,8 +376,8 @@ msgstr ""
msgid "Not a valid nickname."
msgstr "ليس اسمًا مستعارًا صحيحًا."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -388,8 +389,8 @@ msgstr "الصÙحة الرئيسية ليست عنونًا صالحًا."
msgid "Full name is too long (max 255 chars)."
msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرÙًا)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr ""
@@ -466,18 +467,23 @@ msgstr "مجموعات %s"
msgid "groups on %s"
msgstr "مجموعات %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "طلب سيء."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
+
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "حجم غير صالح."
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -488,79 +494,82 @@ msgstr "طلب سيء."
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "اسم/كلمة سر غير صحيحة!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
msgstr "خطأ قاعدة البيانات أثناء حذ٠المستخدم OAuth app"
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+#, fuzzy
+msgid "Database error inserting OAuth application user."
msgstr "خطأ قاعدة البيانات أثناء إدخال المستخدم OAuth app"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "الحساب"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "الاسم المستعار"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "كلمة السر"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "ارÙض"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "اسمح"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -729,8 +738,8 @@ msgstr "الأصلي"
msgid "Preview"
msgstr "عاين"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "احذÙ"
@@ -777,8 +786,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "لا"
@@ -786,9 +796,9 @@ msgstr "لا"
msgid "Do not block this user"
msgstr "لا تمنع هذا المستخدم"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "نعم"
@@ -892,6 +902,49 @@ msgstr "محادثة"
msgid "Notices"
msgstr "الإشعارات"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "يجب أن تكون مسجل الدخول لتعدل تطبيقا."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "لم يوجد رمز التأكيد."
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "أنت لست مالك هذا التطبيق."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "عدّل التطبيق"
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "لا تحذ٠هذا الإشعار"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "احذ٠هذا الإشعار"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -924,7 +977,7 @@ msgstr "أمتأكد من أنك تريد حذ٠هذا الإشعار؟"
msgid "Do not delete this notice"
msgstr "لا تحذ٠هذا الإشعار"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "احذ٠هذا الإشعار"
@@ -1064,7 +1117,7 @@ msgstr "هذا الشعار ليس Ù…Ùضلًا!"
msgid "Add to favorites"
msgstr "أض٠إلى المÙضلات"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "لا مستند كهذا."
@@ -1078,20 +1131,11 @@ msgstr "عدّل التطبيق"
msgid "You must be logged in to edit an application."
msgstr "يجب أن تكون مسجل الدخول لتعدل تطبيقا."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "أنت لست مالك هذا التطبيق."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "لا تطبيق كهذا."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "استخدم هذا النموذج لتعدل تطبيقك."
@@ -1100,43 +1144,47 @@ msgstr "استخدم هذا النموذج لتعدل تطبيقك."
msgid "Name is required."
msgstr "الاسم مطلوب."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "الاسم طويل جدا (الأقصى 255 حرÙا)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+msgid "Name already in use. Try another one."
+msgstr ""
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "الوص٠مطلوب."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "مسار المصدر ليس صحيحا."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "المنظمة مطلوبة."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "المنظمة طويلة جدا (الأقصى 255 حرÙا)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "صÙحة المنظمة الرئيسية مطلوبة."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "لم يمكن تحديث التطبيق."
@@ -1206,8 +1254,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "ألغÙ"
@@ -1991,11 +2039,11 @@ msgstr "يجب أن تكون مسجل الدخول لتسجل تطبيقا."
msgid "Use this form to register a new application."
msgstr "استخدم هذا النموذج لتسجل تطبيقا جديدا."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "لم يمكن إنشاء التطبيق."
@@ -2122,28 +2170,28 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "لست مستخدما لهذا التطبيق."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2511,7 +2559,7 @@ msgid "Full name"
msgstr "الاسم الكامل"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "الصÙحة الرئيسية"
@@ -2635,36 +2683,36 @@ msgstr "المسار الزمني العام، صÙحة %d"
msgid "Public timeline"
msgstr "المسار الزمني العام"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "كن أول من ÙŠÙرسل!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2677,7 +2725,7 @@ msgstr ""
"الآن](%%action.register%%) لتشارك اشعاراتك مع أصدقائك وعائلتك وزملائك! "
"([اقرأ المزيد](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3008,7 +3056,7 @@ msgstr "لا يمكنك تكرار ملاحظتك الشخصية."
msgid "You already repeated that notice."
msgstr "أنت كررت هذه الملاحظة بالÙعل."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "مكرر"
@@ -3068,6 +3116,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "ستاتس نت"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3076,6 +3128,37 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "الجلسات"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "الإعدادات الأساسية لموقع StatusNet هذا."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "تنقيح الجلسة"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "مكّن تنقيح Ù…Ùخرجات الجلسة."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "اذ٠إعدادت الموقع"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "يجب أن تكون مسجل الدخول لرؤية تطبيق."
@@ -3084,21 +3167,21 @@ msgstr "يجب أن تكون مسجل الدخول لرؤية تطبيق."
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "أيقونة"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "الاسم"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "المنظمة"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "الوصÙ"
@@ -3109,42 +3192,42 @@ msgstr "إحصاءات"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "اسمح بالمسار"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3353,25 +3436,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3380,7 +3463,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3388,7 +3471,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "تكرار ل%s"
@@ -3542,10 +3625,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "اذ٠إعدادت الموقع"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "إعدادات الرسائل القصيرة"
@@ -3836,84 +3915,64 @@ msgstr "المستخدم"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "رسالة ترحيب غير صالحة. أقصى طول هو 255 حرÙ."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "المل٠الشخصي"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "حد السيرة"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "مستخدمون جدد"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "ترحيب المستخدمين الجدد"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "نص الترحيب بالمستخدمين الجدد (255 حرÙًا كحد أقصى)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "الاشتراك المبدئي"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "أشرك المستخدمين الجدد بهذا المستخدم تلقائيًا."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "الدعوات"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "الدعوات Ù…ÙÙعلة"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "الجلسات"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "تنقيح الجلسة"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "مكّن تنقيح Ù…Ùخرجات الجلسة."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4052,10 +4111,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "ستاتس نت"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4173,22 +4228,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "مشكلة أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "مشكلة أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تي @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "أهلا بكم ÙÙŠ %1$s يا @%2$s!"
@@ -4460,64 +4515,78 @@ msgstr "ضبط التصميم"
msgid "Paths configuration"
msgstr "ضبط المسارات"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "ضبط التصميم"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "عدّل التطبيق"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr ""
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "ص٠تطبيقك"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "مسار المصدر"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4545,11 +4614,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr "وسوم هذا المرÙÙ‚"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "تغيير كلمة السر Ùشل"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "تغيير كلمة السر غير مسموح به"
@@ -4826,19 +4895,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "اذهب إلى المÙثبّت."
@@ -5399,23 +5468,23 @@ msgstr "غ"
msgid "at"
msgstr "ÙÙŠ"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "ÙÙŠ السياق"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "مكرر بواسطة"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "رÙد على هذا الإشعار"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "رÙد"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "الإشعار مكرر"
@@ -5556,6 +5625,10 @@ msgstr "أأكرّر هذا الإشعار؟ّ"
msgid "Repeat this notice"
msgstr "كرّر هذا الإشعار"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5721,47 +5794,47 @@ msgstr "رسالة"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "قبل لحظات قليلة"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "قبل دقيقة تقريبًا"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "قبل ساعة تقريبًا"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "قبل يوم تقريبا"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "قبل شهر تقريبًا"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "قبل سنة تقريبًا"
diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po
index 9ac285b14..27755a0ce 100644
--- a/locale/arz/LC_MESSAGES/statusnet.po
+++ b/locale/arz/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:23+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:06+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: arz\n"
"X-Message-Group: out-statusnet\n"
@@ -62,11 +62,12 @@ msgstr "عطّل التسجيل الجديد."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "أرسل"
@@ -96,7 +97,7 @@ msgstr "لا صÙحه كهذه"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -153,7 +154,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -177,7 +178,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -349,11 +350,11 @@ msgstr "لا يمكنك عدم متابعه Ù†Ùسك."
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr ""
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "تعذّر إيجاد المستخدم الهدÙ."
@@ -375,8 +376,8 @@ msgstr ""
msgid "Not a valid nickname."
msgstr "ليس اسمًا مستعارًا صحيحًا."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -388,8 +389,8 @@ msgstr "الصÙحه الرئيسيه ليست عنونًا صالحًا."
msgid "Full name is too long (max 255 chars)."
msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرÙًا)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr ""
@@ -466,18 +467,23 @@ msgstr "مجموعات %s"
msgid "groups on %s"
msgstr "مجموعات %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "حجم غير صالح."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -488,79 +494,82 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "اسم/كلمه سر غير صحيحة!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
msgstr "خطأ قاعده البيانات أثناء حذ٠المستخدم OAuth app"
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+#, fuzzy
+msgid "Database error inserting OAuth application user."
msgstr "خطأ قاعده البيانات أثناء إدخال المستخدم OAuth app"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "الحساب"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "الاسم المستعار"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "كلمه السر"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "ارÙض"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "اسمح"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -729,8 +738,8 @@ msgstr "الأصلي"
msgid "Preview"
msgstr "عاين"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "احذÙ"
@@ -777,8 +786,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "لا"
@@ -786,9 +796,9 @@ msgstr "لا"
msgid "Do not block this user"
msgstr "لا تمنع هذا المستخدم"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "نعم"
@@ -892,6 +902,49 @@ msgstr "محادثة"
msgid "Notices"
msgstr "الإشعارات"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "يجب أن تكون مسجل الدخول لتعدل تطبيقا."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "لم يوجد رمز التأكيد."
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "أنت لست مالك هذا التطبيق."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "لا تطبيق كهذا."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "لا تحذ٠هذا الإشعار"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "احذ٠هذا الإشعار"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -924,7 +977,7 @@ msgstr "أمتأكد من أنك تريد حذ٠هذا الإشعار؟"
msgid "Do not delete this notice"
msgstr "لا تحذ٠هذا الإشعار"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "احذ٠هذا الإشعار"
@@ -1064,7 +1117,7 @@ msgstr "هذا الشعار ليس Ù…Ùضلًا!"
msgid "Add to favorites"
msgstr "أض٠إلى المÙضلات"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "لا مستند كهذا."
@@ -1078,20 +1131,11 @@ msgstr "تطبيقات OAuth"
msgid "You must be logged in to edit an application."
msgstr "يجب أن تكون مسجل الدخول لتعدل تطبيقا."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "أنت لست مالك هذا التطبيق."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "لا تطبيق كهذا."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "استخدم النموذج ده علشان تعدل تطبيقك."
@@ -1100,43 +1144,47 @@ msgstr "استخدم النموذج ده علشان تعدل تطبيقك."
msgid "Name is required."
msgstr "الاسم مطلوب."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "الاسم طويل جدا (الأقصى 255 حرÙا)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+msgid "Name already in use. Try another one."
+msgstr ""
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "الوص٠مطلوب."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "مسار المصدر ليس صحيحا."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "المنظمه طويله جدا (الأقصى 255 حرÙا)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "لم يمكن تحديث التطبيق."
@@ -1206,8 +1254,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "ألغÙ"
@@ -1991,11 +2039,11 @@ msgstr "يجب أن تكون مسجل الدخول لتسجل تطبيقا."
msgid "Use this form to register a new application."
msgstr "استخدم هذا النموذج لتسجل تطبيقا جديدا."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "مش ممكن إنشاء التطبيق."
@@ -2120,28 +2168,28 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "أنت لست مستخدما لهذا التطبيق."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2509,7 +2557,7 @@ msgid "Full name"
msgstr "الاسم الكامل"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "الصÙحه الرئيسية"
@@ -2633,36 +2681,36 @@ msgstr "المسار الزمنى العام، صÙحه %d"
msgid "Public timeline"
msgstr "المسار الزمنى العام"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "كن أول من ÙŠÙرسل!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2675,7 +2723,7 @@ msgstr ""
"الآن](%%action.register%%) لتشارك اشعاراتك مع أصدقائك وعائلتك وزملائك! "
"([اقرأ المزيد](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3006,7 +3054,7 @@ msgstr "لا يمكنك تكرار ملاحظتك الشخصيه."
msgid "You already repeated that notice."
msgstr "أنت كررت هذه الملاحظه بالÙعل."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "مكرر"
@@ -3066,6 +3114,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "ستاتس نت"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3074,6 +3126,37 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "الجلسات"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "الإعدادات الأساسيه لموقع StatusNet هذا."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "تنقيح الجلسة"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "مكّن تنقيح Ù…Ùخرجات الجلسه."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "اذ٠إعدادت الموقع"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "يجب أن تكون مسجل الدخول لرؤيه تطبيق."
@@ -3082,21 +3165,21 @@ msgstr "يجب أن تكون مسجل الدخول لرؤيه تطبيق."
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "الاسم"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "المنظمة"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "الوصÙ"
@@ -3107,42 +3190,42 @@ msgstr "إحصاءات"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "اسمح بالمسار"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3351,25 +3434,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3378,7 +3461,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3386,7 +3469,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "تكرارات %s"
@@ -3540,10 +3623,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "اذ٠إعدادت الموقع"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "إعدادات الرسائل القصيرة"
@@ -3834,84 +3913,64 @@ msgstr "المستخدم"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "رساله ترحيب غير صالحه. أقصى طول هو 255 حرÙ."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "المل٠الشخصي"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "حد السيرة"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "مستخدمون جدد"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "ترحيب المستخدمين الجدد"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "نص الترحيب بالمستخدمين الجدد (255 حرÙًا كحد أقصى)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "الاشتراك المبدئي"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "أشرك المستخدمين الجدد بهذا المستخدم تلقائيًا."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "الدعوات"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "الدعوات Ù…ÙÙعلة"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "الجلسات"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "تنقيح الجلسة"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "مكّن تنقيح Ù…Ùخرجات الجلسه."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4050,10 +4109,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "ستاتس نت"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4171,22 +4226,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "مشكله أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "مشكله أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تى @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "أهلا بكم ÙÙ‰ %1$s يا @%2$s!"
@@ -4458,64 +4513,78 @@ msgstr "ضبط التصميم"
msgid "Paths configuration"
msgstr "ضبط المسارات"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "ضبط التصميم"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr ""
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "اوص٠تطبيقك"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "مسار المصدر"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4543,11 +4612,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr "وسوم هذا المرÙÙ‚"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "تغيير كلمه السر Ùشل"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "تغيير كلمه السر غير مسموح به"
@@ -4824,19 +4893,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "اذهب إلى المÙثبّت."
@@ -5387,23 +5456,23 @@ msgstr "غ"
msgid "at"
msgstr "ÙÙŠ"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "ÙÙ‰ السياق"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "مكرر بواسطة"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "رÙد على هذا الإشعار"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "رÙد"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "الإشعار مكرر"
@@ -5544,6 +5613,10 @@ msgstr "كرر هذا الإشعار؟"
msgid "Repeat this notice"
msgstr "كرر هذا الإشعار"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5709,47 +5782,47 @@ msgstr "رسالة"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "قبل لحظات قليلة"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "قبل دقيقه تقريبًا"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "قبل ساعه تقريبًا"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "قبل يوم تقريبا"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "قبل شهر تقريبًا"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "قبل سنه تقريبًا"
diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po
index f7d2c9b34..4697b8aac 100644
--- a/locale/bg/LC_MESSAGES/statusnet.po
+++ b/locale/bg/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:26+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:09+0000\n"
"Language-Team: Bulgarian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: bg\n"
"X-Message-Group: out-statusnet\n"
@@ -61,11 +61,12 @@ msgstr "Изключване на новите региÑтрации."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Запазване"
@@ -95,7 +96,7 @@ msgstr "ÐÑма такака Ñтраница."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -152,7 +153,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -176,7 +177,7 @@ msgstr "Бележки от %1$s и приÑтели в %2$s."
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -355,12 +356,12 @@ msgstr "Ðе можете да Ñпрете да Ñледите Ñебе Ñи!"
msgid "Two user ids or screen_names must be supplied."
msgstr "ТрÑбва да Ñе дадат два идентификатора или имена на потребители."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Грешка при изтеглÑне на Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº"
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "ЦелевиÑÑ‚ потребител не беше открит."
@@ -384,8 +385,8 @@ msgstr "Опитайте друг пÑевдоним, този вече е заÐ
msgid "Not a valid nickname."
msgstr "Ðеправилен пÑевдоним."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -397,8 +398,8 @@ msgstr "ÐдреÑÑŠÑ‚ на личната Ñтраница не е правил
msgid "Full name is too long (max 255 chars)."
msgstr "Пълното име е твърде дълго (макÑ. 255 знака)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "ОпиÑанието е твърде дълго (до %d Ñимвола)."
@@ -475,18 +476,23 @@ msgstr "Групи на %s"
msgid "groups on %s"
msgstr "групи в %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ðеправилен размер."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -497,83 +503,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Имаше проблем ÑÑŠÑ ÑеÑиÑта ви в Ñайта. МолÑ, опитайте отново!"
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Ðеправилно име или парола."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Грешка в наÑтройките на потребителÑ."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Грешка в базата от данни — отговор при вмъкването: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Ðеочаквано изпращане на форма."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Сметка"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "ПÑевдоним"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Парола"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Ð’Ñички"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -744,8 +751,8 @@ msgstr "Оригинал"
msgid "Preview"
msgstr "Преглед"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Изтриване"
@@ -792,8 +799,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Ðе"
@@ -801,9 +809,9 @@ msgstr "Ðе"
msgid "Do not block this user"
msgstr "Да не Ñе блокира този потребител"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Да"
@@ -910,6 +918,50 @@ msgstr "Разговор"
msgid "Notices"
msgstr "Бележки"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "За да редактирате група, Ñ‚Ñ€Ñбва да Ñте влезли."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Бележката нÑма профил"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Ðе членувате в тази група."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Имаше проблем ÑÑŠÑ ÑеÑиÑта ви в Ñайта."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "ÐÑма такава бележка."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Да не Ñе изтрива бележката"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Изтриване на бележката"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -942,7 +994,7 @@ msgstr "ÐаиÑтина ли иÑкате да изтриете тази бел
msgid "Do not delete this notice"
msgstr "Да не Ñе изтрива бележката"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Изтриване на бележката"
@@ -1087,7 +1139,7 @@ msgstr "Тази бележка не е отбелÑзана като любим
msgid "Add to favorites"
msgstr "ДобавÑне към любимите"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "ÐÑма такъв документ."
@@ -1102,22 +1154,12 @@ msgstr "Други наÑтройки"
msgid "You must be logged in to edit an application."
msgstr "За да редактирате група, Ñ‚Ñ€Ñбва да Ñте влезли."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Ðе членувате в тази група."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "ÐÑма такава бележка."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Имаше проблем ÑÑŠÑ ÑеÑиÑта ви в Ñайта."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1128,47 +1170,52 @@ msgstr "Използвайте тази бланка за Ñъздаване нÐ
msgid "Name is required."
msgstr "Същото като паролата по-горе. Задължително поле."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Пълното име е твърде дълго (макÑ. 255 знака)"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Опитайте друг пÑевдоним, този вече е зает."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "ОпиÑание"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "ÐдреÑÑŠÑ‚ на личната Ñтраница не е правилен URL."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Името на меÑтоположението е твърде дълго (макÑ. 255 знака)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Грешка при обновÑване на групата."
@@ -1244,8 +1291,8 @@ msgstr ""
"Ñпам) за Ñъобщение Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Отказ"
@@ -2101,11 +2148,11 @@ msgstr "За да Ñъздавате група, Ñ‚Ñ€Ñбва да Ñте вле
msgid "Use this form to register a new application."
msgstr "Използвайте тази бланка за Ñъздаване на нова група."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Грешка при отбелÑзване като любима."
@@ -2237,29 +2284,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Ðе членувате в тази група."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2638,7 +2685,7 @@ msgid "Full name"
msgstr "Пълно име"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Лична Ñтраница"
@@ -2765,36 +2812,36 @@ msgstr "Общ поток, Ñтраница %d"
msgid "Public timeline"
msgstr "Общ поток"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ð½Ð° Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ð½Ð° Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ð½Ð° Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2803,7 +2850,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3161,7 +3208,7 @@ msgstr "Ðе можете да повтарÑте ÑобÑтвена бележÐ
msgid "You already repeated that notice."
msgstr "Вече Ñте повторили тази бележка."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Повторено"
@@ -3221,6 +3268,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Отговори до %1$s в %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Бележката е изтрита."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3231,6 +3283,37 @@ msgstr "Ðе може да изпращате ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð¾ този Ð
msgid "User is already sandboxed."
msgstr "ПотребителÑÑ‚ ви е блокирал."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "СеÑии"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "ОÑновни наÑтройки на тази инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Управление на ÑеÑии"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Запазване наÑтройките на Ñайта"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3241,23 +3324,23 @@ msgstr "За напуÑнете група, Ñ‚Ñ€Ñбва да Ñте влезлÐ
msgid "Application profile"
msgstr "Бележката нÑма профил"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "ПÑевдоним"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Страниране"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "ОпиÑание"
@@ -3268,43 +3351,43 @@ msgstr "СтатиÑтики"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "Ðвтор"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3509,25 +3592,25 @@ msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF за %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3536,7 +3619,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3544,7 +3627,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Отговори на %s"
@@ -3700,10 +3783,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Запазване наÑтройките на Ñайта"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4012,88 +4091,68 @@ msgstr "Потребител"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профил"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Ðови потребители"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Ð’Ñички абонаменти"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Ðвтоматично абониране за вÑеки, който Ñе абонира за мен (подходÑщо за "
"ботове)."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Покани"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Поканите Ñа включени"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "СеÑии"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Управление на ÑеÑии"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "ОдобрÑване на абонамента"
@@ -4244,11 +4303,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Бележката е изтрита."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4378,22 +4432,22 @@ msgstr "Забранено ви е да публикувате бележки в
msgid "Problem saving notice."
msgstr "Проблем при запиÑване на бележката."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Проблем при запиÑване на бележката."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Грешка в базата от данни — отговор при вмъкването: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Добре дошли в %1$s, @%2$s!"
@@ -4675,68 +4729,82 @@ msgstr "ÐаÑтройка на оформлението"
msgid "Paths configuration"
msgstr "ÐаÑтройка на пътищата"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "ÐаÑтройка на оформлението"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Опишете групата или темата в до %d букви"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Опишете групата или темата"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Изходен код"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Ñтраница, блог или профил в друг Ñайт на групата"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Ñтраница, блог или профил в друг Ñайт на групата"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4765,12 +4833,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Паролата е запиÑана."
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Паролата е запиÑана."
@@ -5039,19 +5107,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Ðе е открит файл Ñ Ð½Ð°Ñтройки. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "Влизане в Ñайта"
@@ -5624,23 +5692,23 @@ msgstr "З"
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "в контекÑÑ‚"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Повторено от"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "ОтговарÑне на тази бележка"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Отговор"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Бележката е повторена."
@@ -5786,6 +5854,10 @@ msgstr "ПовтарÑне на тази бележка"
msgid "Repeat this notice"
msgstr "ПовтарÑне на тази бележка"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -5959,47 +6031,47 @@ msgstr "Съобщение"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "преди нÑколко Ñекунди"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "преди около минута"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "преди около %d минути"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "преди около чаÑ"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "преди около %d чаÑа"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "преди около ден"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "преди около %d дни"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "преди около меÑец"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "преди около %d меÑеца"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "преди около година"
diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po
index 2ae0c3311..0a6356d6c 100644
--- a/locale/ca/LC_MESSAGES/statusnet.po
+++ b/locale/ca/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:29+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:13+0000\n"
"Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n"
"X-Message-Group: out-statusnet\n"
@@ -63,11 +63,12 @@ msgstr "Inhabilita els nous registres."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Guardar"
@@ -97,7 +98,7 @@ msgstr "No existeix la pàgina."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -156,7 +157,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -180,7 +181,7 @@ msgstr "Actualitzacions de %1$s i amics a %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -365,11 +366,11 @@ msgstr "No podeu suprimir els usuaris."
msgid "Two user ids or screen_names must be supplied."
msgstr "Dos ids d'usuari o screen_names has de ser substituïts."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "No s'ha pogut determinar l'usuari d'origen."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "No es pot trobar cap estatus."
@@ -394,8 +395,8 @@ msgstr "Aquest sobrenom ja existeix. Prova un altre. "
msgid "Not a valid nickname."
msgstr "Sobrenom no vàlid."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -407,8 +408,8 @@ msgstr "La pàgina personal no és un URL vàlid."
msgid "Full name is too long (max 255 chars)."
msgstr "El teu nom és massa llarg (màx. 255 caràcters)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "La descripció és massa llarga (màx. %d caràcters)."
@@ -485,18 +486,23 @@ msgstr "%s grups"
msgid "groups on %s"
msgstr "grups sobre %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Mida invàlida."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -509,84 +515,85 @@ msgstr ""
"Sembla que hi ha hagut un problema amb la teva sessió. Prova-ho de nou, si "
"us plau."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Nom d'usuari o contrasenya invàlids."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Error en configurar l'usuari."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Hashtag de l'error de la base de dades:%s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Enviament de formulari inesperat."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Compte"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Sobrenom"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contrasenya"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
msgstr "Disseny"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Tot"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -758,8 +765,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Vista prèvia"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Suprimeix"
@@ -808,8 +815,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -817,9 +825,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "No bloquis l'usuari"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sí"
@@ -925,6 +933,50 @@ msgstr "Conversa"
msgid "Notices"
msgstr "Avisos"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Heu d'iniciar una sessió per editar un grup."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Avís sense perfil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "No sou un membre del grup."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Ha ocorregut algun problema amb la teva sessió."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "No existeix aquest avís."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "No es pot esborrar la notificació."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Eliminar aquesta nota"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -961,7 +1013,7 @@ msgstr "N'estàs segur que vols eliminar aquesta notificació?"
msgid "Do not delete this notice"
msgstr "No es pot esborrar la notificació."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Eliminar aquesta nota"
@@ -1102,7 +1154,7 @@ msgstr "Aquesta notificació no és un favorit!"
msgid "Add to favorites"
msgstr "Afegeix als preferits"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "No existeix aquest document."
@@ -1117,22 +1169,12 @@ msgstr "Altres opcions"
msgid "You must be logged in to edit an application."
msgstr "Heu d'iniciar una sessió per editar un grup."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "No sou un membre del grup."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "No existeix aquest avís."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Ha ocorregut algun problema amb la teva sessió."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1143,47 +1185,52 @@ msgstr "Utilitza aquest formulari per editar el grup."
msgid "Name is required."
msgstr "Igual a la contrasenya de dalt. Requerit."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "El teu nom és massa llarg (màx. 255 caràcters)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Aquest sobrenom ja existeix. Prova un altre. "
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Descripció"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "La pàgina personal no és un URL vàlid."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "La ubicació és massa llarga (màx. 255 caràcters)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "No s'ha pogut actualitzar el grup."
@@ -1258,8 +1305,8 @@ msgstr ""
"carpeta de spam!) per al missatge amb les instruccions."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancel·la"
@@ -2120,11 +2167,11 @@ msgstr "Has d'haver entrat per crear un grup."
msgid "Use this form to register a new application."
msgstr "Utilitza aquest formulari per crear un nou grup."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "No s'han pogut crear els àlies."
@@ -2257,29 +2304,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "No ets membre d'aquest grup."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2663,7 +2710,7 @@ msgid "Full name"
msgstr "Nom complet"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Pàgina personal"
@@ -2792,19 +2839,19 @@ msgstr "Línia temporal pública, pàgina %d"
msgid "Public timeline"
msgstr "Línia temporal pública"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Flux de canal públic (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Flux de canal públic (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Flux de canal públic (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2813,11 +2860,11 @@ msgstr ""
"Aquesta és la línia temporal pública de %%site.name%%, però ningú no hi ha "
"enviat res encara."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Sigueu el primer en escriure-hi!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2825,7 +2872,7 @@ msgstr ""
"Per què no [registreu un compte](%%action.register%%) i sou el primer en "
"escriure-hi!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2834,7 +2881,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3203,7 +3250,7 @@ msgstr "No pots registrar-te si no estàs d'acord amb la llicència."
msgid "You already repeated that notice."
msgstr "Ja heu blocat l'usuari."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Repetit"
@@ -3265,6 +3312,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respostes a %1$s el %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "S'ha suprimit l'estat."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3275,6 +3327,37 @@ msgstr "No pots enviar un missatge a aquest usuari."
msgid "User is already sandboxed."
msgstr "Un usuari t'ha bloquejat."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessions"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Paràmetres de disseny d'aquest lloc StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Gestiona les sessions"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Depuració de la sessió"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Activa la sortida de depuració per a les sessions."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Desa els paràmetres del lloc"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3285,22 +3368,22 @@ msgstr "Has d'haver entrat per a poder marxar d'un grup."
msgid "Application profile"
msgstr "Avís sense perfil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Nom"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Paginació"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Descripció"
@@ -3311,43 +3394,43 @@ msgstr "Estadístiques"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "Autoria"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3555,27 +3638,27 @@ msgstr "Feed d'avisos de %s"
msgid "FOAF for %s"
msgstr "Safata de sortida per %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"Aquesta és la línia temporal de %s i amics, però ningú hi ha enviat res "
"encara."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3584,7 +3667,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3594,7 +3677,7 @@ msgstr ""
"**%s** té un compte a %%%%site.name%%%%, un servei de [microblogging](http://"
"ca.wikipedia.org/wiki/Microblogging) "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Repetició de %s"
@@ -3751,10 +3834,6 @@ msgstr ""
"Quant de temps cal que esperin els usuaris (en segons) per enviar el mateix "
"de nou."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Desa els paràmetres del lloc"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Paràmetres de l'SMS"
@@ -4068,84 +4147,64 @@ msgstr "Usuari"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Límit de la biografia"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Límit màxim de la biografia d'un perfil (en caràcters)."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Usuaris nous"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Benvinguda als usuaris nous"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Subscripció per defecte"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Subscriviu automàticament els usuaris nous a aquest usuari."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Invitacions"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "S'han habilitat les invitacions"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessions"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Gestiona les sessions"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Depuració de la sessió"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Activa la sortida de depuració per a les sessions."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autoritzar subscripció"
@@ -4297,11 +4356,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "S'ha suprimit l'estat."
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Col·laboració"
@@ -4430,22 +4484,22 @@ msgstr "Ha estat bandejat de publicar notificacions en aquest lloc."
msgid "Problem saving notice."
msgstr "Problema en guardar l'avís."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problema en guardar l'avís."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Error de BD en inserir resposta: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Us donem la benvinguda a %1$s, @%2$s!"
@@ -4723,68 +4777,82 @@ msgstr "Configuració del disseny"
msgid "Paths configuration"
msgstr "Configuració dels camins"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Configuració del disseny"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Descriu el grup amb 140 caràcters"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Descriu el grup amb 140 caràcters"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Font"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL del teu web, blog del grup u tema"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL del teu web, blog del grup u tema"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4813,11 +4881,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr "Etiquetes de l'adjunció"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "El canvi de contrasenya ha fallat"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Contrasenya canviada."
@@ -5087,19 +5155,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "No s'ha trobat cap fitxer de configuració. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Podeu voler executar l'instal·lador per a corregir-ho."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Vés a l'instal·lador."
@@ -5672,23 +5740,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "en context"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Repetit per"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "respondre a aquesta nota"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Respon"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Notificació publicada"
@@ -5834,6 +5902,10 @@ msgstr "Repeteix l'avís"
msgid "Repeat this notice"
msgstr "Repeteix l'avís"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6004,47 +6076,47 @@ msgstr "Missatge"
msgid "Moderate"
msgstr "Modera"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "fa pocs segons"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "fa un minut"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "fa %d minuts"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "fa una hora"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "fa %d hores"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "fa un dia"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "fa %d dies"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "fa un mes"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "fa %d mesos"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "fa un any"
diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po
index 9059001d7..c61d3dbf0 100644
--- a/locale/cs/LC_MESSAGES/statusnet.po
+++ b/locale/cs/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:33+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:16+0000\n"
"Language-Team: Czech\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: cs\n"
"X-Message-Group: out-statusnet\n"
@@ -64,11 +64,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Uložit"
@@ -99,7 +100,7 @@ msgstr "Žádné takové oznámení."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -156,7 +157,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -181,7 +182,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -361,12 +362,12 @@ msgstr "Nelze aktualizovat uživatele"
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Nelze aktualizovat uživatele"
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Nelze aktualizovat uživatele"
@@ -389,8 +390,8 @@ msgstr "Přezdívku již někdo používá. Zkuste jinou"
msgid "Not a valid nickname."
msgstr "Není platnou přezdívkou."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -402,8 +403,8 @@ msgstr "Stránka není platnou URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Jméno je moc dlouhé (maximální délka je 255 znaků)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "Text je příliš dlouhý (maximální délka je 140 zanků)"
@@ -483,18 +484,23 @@ msgstr ""
msgid "groups on %s"
msgstr ""
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Neplatná velikost"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -505,84 +511,85 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Neplatné jméno nebo heslo"
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Chyba nastavení uživatele"
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Chyba v DB při vkládání odpovědi: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "NeÄekaná forma submission."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "O nás"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Přezdívka"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Heslo"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
msgstr "Vzhled"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -758,8 +765,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Odstranit"
@@ -808,8 +815,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Ne"
@@ -818,9 +826,9 @@ msgstr "Ne"
msgid "Do not block this user"
msgstr "Žádný takový uživatel."
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ano"
@@ -929,6 +937,50 @@ msgstr "Umístění"
msgid "Notices"
msgstr "Sdělení"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Nelze aktualizovat uživatele"
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Sdělení nemá profil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Neodeslal jste nám profil"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Žádné takové oznámení."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Žádné takové oznámení."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Odstranit toto oznámení"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -962,7 +1014,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "Žádné takové oznámení."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Odstranit toto oznámení"
@@ -1110,7 +1162,7 @@ msgstr ""
msgid "Add to favorites"
msgstr "Přidat do oblíbených"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Žádný takový dokument."
@@ -1124,22 +1176,12 @@ msgstr "Sdělení nemá profil"
msgid "You must be logged in to edit an application."
msgstr ""
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Neodeslal jste nám profil"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Žádné takové oznámení."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1148,47 +1190,52 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Jméno je moc dlouhé (maximální délka je 255 znaků)"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Přezdívku již někdo používá. Zkuste jinou"
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Odběry"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Stránka není platnou URL."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Umístění příliš dlouhé (maximálně 255 znaků)"
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Nelze aktualizovat uživatele"
@@ -1262,8 +1309,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Zrušit"
@@ -2093,11 +2140,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Nelze uložin informace o obrázku"
@@ -2226,29 +2273,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Neodeslal jste nám profil"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2641,7 +2688,7 @@ msgid "Full name"
msgstr "Celé jméno"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Moje stránky"
@@ -2767,39 +2814,39 @@ msgstr "Veřejné zprávy"
msgid "Public timeline"
msgstr "Veřejné zprávy"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Veřejný Stream Feed"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Veřejný Stream Feed"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Veřejný Stream Feed"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2808,7 +2855,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3153,7 +3200,7 @@ msgstr "Nemůžete se registrovat, pokud nesouhlasíte s licencí."
msgid "You already repeated that notice."
msgstr "Již jste přihlášen"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Vytvořit"
@@ -3215,6 +3262,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Odpovědi na %s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Obrázek nahrán"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3225,6 +3277,37 @@ msgstr "Neodeslal jste nám profil"
msgid "User is already sandboxed."
msgstr "Uživatel nemá profil."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Nastavení"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3234,23 +3317,23 @@ msgstr ""
msgid "Application profile"
msgstr "Sdělení nemá profil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Přezdívka"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Umístění"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "Odběry"
@@ -3262,42 +3345,42 @@ msgstr "Statistiky"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3506,25 +3589,25 @@ msgstr "Feed sdělení pro %s"
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3533,7 +3616,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3541,7 +3624,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Odpovědi na %s"
@@ -3700,11 +3783,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Nastavení"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4013,87 +4091,67 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Všechny odběry"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "Odběr autorizován"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Umístění"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autorizovaný odběr"
@@ -4246,11 +4304,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Obrázek nahrán"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4374,22 +4427,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "Problém při ukládání sdělení"
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problém při ukládání sdělení"
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Chyba v DB při vkládání odpovědi: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4677,68 +4730,82 @@ msgstr "Potvrzení emailové adresy"
msgid "Paths configuration"
msgstr "Potvrzení emailové adresy"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Potvrzení emailové adresy"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Popiš sebe a své zájmy ve 140 znacích"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Popiš sebe a své zájmy ve 140 znacích"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Zdroj"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "Adresa vašich stránek, blogu nebo profilu na jiných stránkách."
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "Adresa vašich stránek, blogu nebo profilu na jiných stránkách."
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4767,12 +4834,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Heslo uloženo"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Heslo uloženo"
@@ -5048,20 +5115,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Žádný potvrzující kód."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5636,26 +5703,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "Žádný obsah!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Vytvořit"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
#, fuzzy
msgid "Reply"
msgstr "odpovÄ›Ä"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Sdělení"
@@ -5802,6 +5869,10 @@ msgstr "Odstranit toto oznámení"
msgid "Repeat this notice"
msgstr "Odstranit toto oznámení"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5978,47 +6049,47 @@ msgstr "Zpráva"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "před pár sekundami"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "asi před minutou"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "asi před %d minutami"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "asi před hodinou"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "asi před %d hodinami"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "asi přede dnem"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "před %d dny"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "asi před měsícem"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "asi před %d mesíci"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "asi před rokem"
diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po
index e000f3406..ca2be97ef 100644
--- a/locale/de/LC_MESSAGES/statusnet.po
+++ b/locale/de/LC_MESSAGES/statusnet.po
@@ -12,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:36+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:19+0000\n"
"Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: out-statusnet\n"
@@ -29,9 +29,8 @@ msgid "Access"
msgstr "Akzeptieren"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Site-Einstellungen speichern"
+msgstr "Zugangseinstellungen speichern"
#: actions/accessadminpanel.php:158
#, fuzzy
@@ -68,11 +67,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Speichern"
@@ -102,7 +102,7 @@ msgstr "Seite nicht vorhanden"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -166,7 +166,7 @@ msgstr ""
"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit "
"zu erregen."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -193,7 +193,7 @@ msgstr "Aktualisierungen von %1$s und Freunden auf %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -368,11 +368,11 @@ msgstr "Du kannst dich nicht selbst entfolgen!"
msgid "Two user ids or screen_names must be supplied."
msgstr "Zwei IDs oder Benutzernamen müssen angegeben werden."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Konnte öffentlichen Stream nicht abrufen."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Konnte keine Statusmeldungen finden."
@@ -396,8 +396,8 @@ msgstr "Nutzername wird bereits verwendet. Suche dir einen anderen aus."
msgid "Not a valid nickname."
msgstr "Ungültiger Nutzername."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -410,8 +410,8 @@ msgstr ""
msgid "Full name is too long (max 255 chars)."
msgstr "Der vollständige Name ist zu lang (maximal 255 Zeichen)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Die Beschreibung ist zu lang (max. %d Zeichen)."
@@ -488,18 +488,23 @@ msgstr "%s Gruppen"
msgid "groups on %s"
msgstr "Gruppen von %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ungültige Größe."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -510,83 +515,83 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Es gab ein Problem mit deinem Sitzungstoken. Bitte versuche es erneut."
-#: actions/apioauthauthorize.php:146
-#, fuzzy
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Benutzername oder Passwort falsch."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Fehler bei den Nutzereinstellungen."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Datenbankfehler beim Einfügen des Hashtags: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Unerwartete Formulareingabe."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Konto"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Nutzername"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Passwort"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Alle"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -759,8 +764,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Vorschau"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Löschen"
@@ -808,8 +813,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Nein"
@@ -817,9 +823,9 @@ msgstr "Nein"
msgid "Do not block this user"
msgstr "Diesen Benutzer freigeben"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
@@ -924,6 +930,50 @@ msgstr "Unterhaltung"
msgid "Notices"
msgstr "Nachrichten"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Du musst angemeldet sein, um eine Gruppe zu bearbeiten."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Nachricht hat kein Profil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Du bist kein Mitglied dieser Gruppe."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Es gab ein Problem mit deinem Sessiontoken."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Unbekannte Nachricht."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Diese Nachricht nicht löschen"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Nachricht löschen"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -958,7 +1008,7 @@ msgstr "Bist du sicher, dass du diese Nachricht löschen möchtest?"
msgid "Do not delete this notice"
msgstr "Diese Nachricht nicht löschen"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Nachricht löschen"
@@ -1100,7 +1150,7 @@ msgstr "Diese Nachricht ist kein Favorit!"
msgid "Add to favorites"
msgstr "Zu Favoriten hinzufügen"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Unbekanntes Dokument."
@@ -1115,22 +1165,12 @@ msgstr "Sonstige Optionen"
msgid "You must be logged in to edit an application."
msgstr "Du musst angemeldet sein, um eine Gruppe zu bearbeiten."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Du bist kein Mitglied dieser Gruppe."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Unbekannte Nachricht."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Es gab ein Problem mit deinem Sessiontoken."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1141,48 +1181,53 @@ msgstr "Benutze dieses Formular, um die Gruppe zu bearbeiten."
msgid "Name is required."
msgstr "Gleiches Passwort wie zuvor. Pflichteingabe."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Der vollständige Name ist zu lang (maximal 255 Zeichen)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Nutzername wird bereits verwendet. Suche dir einen anderen aus."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Beschreibung"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr ""
"Homepage ist keine gültige URL. URL’s müssen ein Präfix wie http enthalten."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Der eingegebene Aufenthaltsort ist zu lang (maximal 255 Zeichen)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Konnte Gruppe nicht aktualisieren."
@@ -1257,8 +1302,8 @@ msgstr ""
"(auch den Spam-Ordner) auf eine Nachricht mit weiteren Instruktionen."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Abbrechen"
@@ -2118,11 +2163,11 @@ msgstr "Du musst angemeldet sein, um eine Gruppe zu erstellen."
msgid "Use this form to register a new application."
msgstr "Benutzer dieses Formular, um eine neue Gruppe zu erstellen."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Konnte keinen Favoriten erstellen."
@@ -2256,29 +2301,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Du bist kein Mitglied dieser Gruppe."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2663,7 +2708,7 @@ msgid "Full name"
msgstr "Vollständiger Name"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Homepage"
@@ -2793,36 +2838,36 @@ msgstr "Öffentliche Zeitleiste, Seite %d"
msgid "Public timeline"
msgstr "Öffentliche Zeitleiste"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Feed des öffentlichen Streams (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Feed des öffentlichen Streams (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Feed des öffentlichen Streams (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2831,7 +2876,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3199,7 +3244,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "Du hast diesen Benutzer bereits blockiert."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Erstellt"
@@ -3266,6 +3311,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Antworten an %1$s auf %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Status gelöscht."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3276,6 +3326,37 @@ msgstr "Du kannst diesem Benutzer keine Nachricht schicken."
msgid "User is already sandboxed."
msgstr "Dieser Benutzer hat dich blockiert."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Design-Einstellungen für diese StatusNet-Website."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Site-Einstellungen speichern"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3286,23 +3367,23 @@ msgstr "Du musst angemeldet sein, um aus einer Gruppe auszutreten."
msgid "Application profile"
msgstr "Nachricht hat kein Profil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Nutzername"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Seitenerstellung"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Beschreibung"
@@ -3313,43 +3394,43 @@ msgstr "Statistiken"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "Autor"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3558,20 +3639,20 @@ msgstr "Feed der Nachrichten von %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF von %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"Dies ist die Zeitleiste für %s und Freunde aber bisher hat niemand etwas "
"gepostet."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, fuzzy, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3581,7 +3662,7 @@ msgstr ""
"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit "
"zu erregen."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3590,7 +3671,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3601,7 +3682,7 @@ msgstr ""
"(http://de.wikipedia.org/wiki/Mikro-blogging) basierend auf der Freien "
"Software [StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Antworten an %s"
@@ -3761,10 +3842,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Site-Einstellungen speichern"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4081,90 +4158,70 @@ msgstr "Benutzer"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Neue Nutzer"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Alle Abonnements"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Abonniere automatisch alle Kontakte, die mich abonnieren (sinnvoll für Nicht-"
"Menschen)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Einladung(en) verschickt"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Einladung(en) verschickt"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Abonnement bestätigen"
@@ -4316,11 +4373,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Status gelöscht."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4450,22 +4502,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "Problem bei Speichern der Nachricht."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problem bei Speichern der Nachricht."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Datenbankfehler beim Einfügen der Antwort: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Herzlich willkommen bei %1$s, @%2$s!"
@@ -4747,68 +4799,82 @@ msgstr "SMS-Konfiguration"
msgid "Paths configuration"
msgstr "SMS-Konfiguration"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS-Konfiguration"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Quellcode"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL der Homepage oder Blogs der Gruppe oder des Themas"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL der Homepage oder Blogs der Gruppe oder des Themas"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4837,12 +4903,12 @@ msgstr "Nachrichten in denen dieser Anhang erscheint"
msgid "Tags for this attachment"
msgstr "Tags für diesen Anhang"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Passwort geändert"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Passwort geändert"
@@ -5107,19 +5173,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Keine Konfigurationsdatei gefunden."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Ich habe an folgenden Stellen nach Konfigurationsdateien gesucht: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "Auf der Seite anmelden"
@@ -5753,24 +5819,24 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "im Zusammenhang"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Erstellt"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Auf diese Nachricht antworten"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Antworten"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Nachricht gelöscht."
@@ -5918,6 +5984,10 @@ msgstr "Auf diese Nachricht antworten"
msgid "Repeat this notice"
msgstr "Auf diese Nachricht antworten"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6092,47 +6162,47 @@ msgstr "Nachricht"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "vor wenigen Sekunden"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "vor einer Minute"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "vor %d Minuten"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "vor einer Stunde"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "vor %d Stunden"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "vor einem Tag"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "vor %d Tagen"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "vor einem Monat"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "vor %d Monaten"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "vor einem Jahr"
diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po
index 23034c0a8..62184c9ef 100644
--- a/locale/el/LC_MESSAGES/statusnet.po
+++ b/locale/el/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:39+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:22+0000\n"
"Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: el\n"
"X-Message-Group: out-statusnet\n"
@@ -61,11 +61,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr ""
@@ -95,7 +96,7 @@ msgstr "Δεν υπάÏχει τέτοια σελίδα"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -152,7 +153,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -176,7 +177,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -355,12 +356,12 @@ msgstr "Δεν μποÏείτε να εμποδίσετε τον εαυτό σα
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Απέτυχε η ενημέÏωση του χÏήστη."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Απέτυχε η εÏÏεση οποιασδήποτε κατάστασης."
@@ -383,8 +384,8 @@ msgstr "Το ψευδώνυμο είναι ήδη σε χÏήση. ΔοκιμάÏ
msgid "Not a valid nickname."
msgstr ""
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -396,8 +397,8 @@ msgstr "Η αÏχική σελίδα δεν είναι έγκυÏο URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Το ονοματεπώνυμο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ (μέγιστο 255 χαÏακτ.)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Η πεÏιγÏαφή είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· (μέγιστο %d χαÏακτ.)."
@@ -474,18 +475,23 @@ msgstr ""
msgid "groups on %s"
msgstr "ομάδες του χÏήστη %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Μήνυμα"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -496,81 +502,82 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr ""
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Σφάλμα στη βάση δεδομένων κατά την εισαγωγή hashtag: %s"
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Σφάλμα στη βάση δεδομένων κατά την εισαγωγή hashtag: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "ΛογαÏιασμός"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Ψευδώνυμο"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Κωδικός"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -741,8 +748,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "ΔιαγÏαφή"
@@ -791,8 +798,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Όχι"
@@ -801,9 +809,9 @@ msgstr "Όχι"
msgid "Do not block this user"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Îαι"
@@ -909,6 +917,50 @@ msgstr "Συζήτηση"
msgid "Notices"
msgstr ""
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Ο κωδικός επιβεβαίωσης δεν βÏέθηκε."
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Ομάδες με τα πεÏισσότεÏα μέλη"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Δεν υπάÏχει τέτοιο σελίδα."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "ΠεÏιγÏάψτε την ομάδα ή το θέμα"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -943,7 +995,7 @@ msgstr "Είσαι σίγουÏος ότι θες να διαγÏάψεις αυ
msgid "Do not delete this notice"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr ""
@@ -1087,7 +1139,7 @@ msgstr ""
msgid "Add to favorites"
msgstr ""
-#: actions/doc.php:155
+#: actions/doc.php:158
#, php-format
msgid "No such document \"%s\""
msgstr ""
@@ -1101,22 +1153,12 @@ msgstr "Δεν υπάÏχει τέτοιο σελίδα."
msgid "You must be logged in to edit an application."
msgstr ""
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Ομάδες με τα πεÏισσότεÏα μέλη"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Δεν υπάÏχει τέτοιο σελίδα."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1125,47 +1167,52 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Το ονοματεπώνυμο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ (μέγιστο 255 χαÏακτ.)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Το ψευδώνυμο είναι ήδη σε χÏήση. Δοκιμάστε κάποιο άλλο."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "ΠεÏιγÏαφή"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Η αÏχική σελίδα δεν είναι έγκυÏο URL."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Η τοποθεσία είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· (μέγιστο 255 χαÏακτ.)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
@@ -1242,8 +1289,8 @@ msgstr ""
"φάκελο spam!) για μήνυμα με πεÏαιτέÏω οδηγίες. "
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "ΑκÏÏωση"
@@ -2054,11 +2101,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
@@ -2184,29 +2231,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Δεν είστε μέλος καμίας ομάδας."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2589,7 +2636,7 @@ msgid "Full name"
msgstr "Ονοματεπώνυμο"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "ΑÏχική σελίδα"
@@ -2719,37 +2766,37 @@ msgstr ""
msgid "Public timeline"
msgstr ""
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Δημόσια Ïοή %s"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2758,7 +2805,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3113,7 +3160,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "ΔημιουÏγία"
@@ -3175,6 +3222,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Η κατάσταση διαγÏάφεται."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3183,6 +3235,37 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Ρυθμίσεις OpenID"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3191,23 +3274,23 @@ msgstr ""
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Ψευδώνυμο"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "ΠÏοσκλήσεις"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "ΠεÏιγÏαφή"
@@ -3218,42 +3301,42 @@ msgstr ""
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3460,25 +3543,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3487,7 +3570,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3495,7 +3578,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr ""
@@ -3651,11 +3734,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Ρυθμίσεις OpenID"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -3955,88 +4033,68 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Îέοι χÏήστες"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Όλες οι συνδÏομές"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Αυτόματα γίνε συνδÏομητής σε όσους γίνονται συνδÏομητές σε μένα (χÏήση "
"κυÏίως από λογισμικό και όχι ανθÏώπους)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "ΠÏοσκλήσεις"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Εξουσιοδοτημένη συνδÏομή"
@@ -4176,11 +4234,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Η κατάσταση διαγÏάφεται."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4302,21 +4355,21 @@ msgstr ""
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:790
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Σφάλμα βάσης δεδομένων κατά την εισαγωγή απάντησης: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4591,65 +4644,79 @@ msgstr "Επιβεβαίωση διεÏθυνσης email"
msgid "Paths configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Επιβεβαίωση διεÏθυνσης email"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "ΠεÏιγÏάψτε την ομάδα ή το θέμα μέχÏι %d χαÏακτήÏες"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "ΠεÏιγÏάψτε την ομάδα ή το θέμα"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr ""
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4677,12 +4744,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Ο κωδικός αποθηκεÏτηκε."
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Ο κωδικός αποθηκεÏτηκε."
@@ -4950,20 +5017,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Ο κωδικός επιβεβαίωσης δεν βÏέθηκε."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5522,23 +5589,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Επαναλαμβάνεται από"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Ρυθμίσεις OpenID"
@@ -5683,6 +5750,10 @@ msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος
msgid "Repeat this notice"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5854,47 +5925,47 @@ msgstr "Μήνυμα"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr ""
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr ""
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr ""
diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po
index 4c5e4efdf..664d647d8 100644
--- a/locale/en_GB/LC_MESSAGES/statusnet.po
+++ b/locale/en_GB/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:42+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:25+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: en-gb\n"
"X-Message-Group: out-statusnet\n"
@@ -62,11 +62,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Save"
@@ -96,7 +97,7 @@ msgstr "No such page"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -158,7 +159,7 @@ msgstr ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -184,7 +185,7 @@ msgstr "Updates from %1$s and friends on %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,11 +363,11 @@ msgstr "You cannot unfollow yourself."
msgid "Two user ids or screen_names must be supplied."
msgstr "Two user ids or screen_names must be supplied."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Could not determine source user."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Could not find target user."
@@ -388,8 +389,8 @@ msgstr "Nickname already in use. Try another one."
msgid "Not a valid nickname."
msgstr "Not a valid nickname."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -401,8 +402,8 @@ msgstr "Homepage is not a valid URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Full name is too long (max 255 chars)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Description is too long (max %d chars)"
@@ -479,18 +480,23 @@ msgstr "%s groups"
msgid "groups on %s"
msgstr "groups on %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Invalid size."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -501,19 +507,21 @@ msgstr "Bad request."
msgid "There was a problem with your session token. Try again, please."
msgstr "There was a problem with your session token. Try again, please."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Invalid nickname / password!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
msgstr "DB error deleting OAuth app user."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+#, fuzzy
+msgid "Database error inserting OAuth application user."
msgstr "DB error inserting OAuth app user."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -522,60 +530,61 @@ msgstr ""
"The request token %s has been authorised. Please exchange it for an access "
"token."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "The request token %s has been denied."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Unexpected form submission."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Account"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Nickname"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Password"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Deny"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Allow"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Allow or deny access to your account information."
@@ -744,8 +753,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Preview"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Delete"
@@ -795,8 +804,9 @@ msgstr ""
"unsubscribed from you, unable to subscribe to you in the future, and you "
"will not be notified of any @-replies from them."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -804,9 +814,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "Do not block this user"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Yes"
@@ -910,6 +920,53 @@ msgstr "Conversation"
msgid "Notices"
msgstr "Notices"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "You must be logged in to create a group."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Notice has no profile"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "You are not a member of this group."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "There was a problem with your session token."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "No such notice."
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Are you sure you want to delete this user? This will clear all data about "
+"the user from the database, without a backup."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Do not delete this notice"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Delete this notice"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -944,7 +1001,7 @@ msgstr "Are you sure you want to delete this notice?"
msgid "Do not delete this notice"
msgstr "Do not delete this notice"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Delete this notice"
@@ -1090,7 +1147,7 @@ msgstr "This notice is not a favourite!"
msgid "Add to favorites"
msgstr "Add to favourites"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "No such document."
@@ -1105,22 +1162,12 @@ msgstr "Other options"
msgid "You must be logged in to edit an application."
msgstr "You must be logged in to create a group."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "You are not a member of this group."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "No such notice."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "There was a problem with your session token."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1131,47 +1178,52 @@ msgstr "Use this form to edit the group."
msgid "Name is required."
msgstr "Same as password above. Required."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Full name is too long (max 255 chars)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Nickname already in use. Try another one."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Description"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Homepage is not a valid URL."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "Organisation is required."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Location is too long (max 255 chars)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "Organisation homepage is required."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Could not update group."
@@ -1245,8 +1297,8 @@ msgstr ""
"a message with further instructions."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancel"
@@ -2114,11 +2166,11 @@ msgstr "You must be logged in to create a group."
msgid "Use this form to register a new application."
msgstr "Use this form to create a new group."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Could not create aliases"
@@ -2252,29 +2304,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "You are not a member of that group."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "You have not authorised any applications to use your account."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2659,7 +2711,7 @@ msgid "Full name"
msgstr "Full name"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Homepage"
@@ -2786,39 +2838,39 @@ msgstr "Public timeline, page %d"
msgid "Public timeline"
msgstr "Public timeline"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Public Stream Feed"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Public Stream Feed"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Public Stream Feed"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2831,7 +2883,7 @@ msgstr ""
"tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3195,7 +3247,7 @@ msgstr "You can't repeat your own notice."
msgid "You already repeated that notice."
msgstr "You have already blocked this user."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Created"
@@ -3260,6 +3312,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Replies to %1$s on %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Status deleted."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "You cannot sandbox users on this site."
@@ -3268,6 +3325,37 @@ msgstr "You cannot sandbox users on this site."
msgid "User is already sandboxed."
msgstr "User is already sandboxed."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Design settings for this StausNet site."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Save site settings"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3278,23 +3366,23 @@ msgstr "You must be logged in to leave a group."
msgid "Application profile"
msgstr "Notice has no profile"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Nickname"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Pagination"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Description"
@@ -3305,42 +3393,42 @@ msgstr "Statistics"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3548,19 +3636,19 @@ msgstr "Notice feed for %s"
msgid "FOAF for %s"
msgstr "FOAF for %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"This is the timeline for %s and friends but no one has posted anything yet."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, fuzzy, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3569,7 +3657,7 @@ msgstr ""
"You can try to [nudge %s](../%s) from his profile or [post something to his "
"or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3578,7 +3666,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3589,7 +3677,7 @@ msgstr ""
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
"[StatusNet](http://status.net/) tool. "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Replies to %s"
@@ -3748,10 +3836,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Save site settings"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4063,88 +4147,68 @@ msgstr "User"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profile"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "New users"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Default subscription"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Automatically subscribe to whoever subscribes to me (best for non-humans)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Invitation(s) sent"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Invitation(s) sent"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Authorise subscription"
@@ -4297,11 +4361,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Status deleted."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4428,22 +4487,22 @@ msgstr "You are banned from posting notices on this site."
msgid "Problem saving notice."
msgstr "Problem saving notice."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problem saving notice."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "DB error inserting reply: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Welcome to %1$s, @%2$s!"
@@ -4724,68 +4783,82 @@ msgstr "Design configuration"
msgid "Paths configuration"
msgstr "SMS confirmation"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Design configuration"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Describe the group or topic in %d characters"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Describe the group or topic"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Source"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL of the homepage or blog of the group or topic"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL of the homepage or blog of the group or topic"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4815,12 +4888,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Password change"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Password change"
@@ -5088,19 +5161,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "No configuration file found"
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Go to the installer."
@@ -5680,24 +5753,24 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "in context"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Created"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Reply to this notice"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Reply"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Notice deleted."
@@ -5843,6 +5916,10 @@ msgstr "Reply to this notice"
msgid "Repeat this notice"
msgstr "Reply to this notice"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Sandbox"
@@ -6011,47 +6088,47 @@ msgstr "Message"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "a few seconds ago"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "about a minute ago"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "about %d minutes ago"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "about an hour ago"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "about %d hours ago"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "about a day ago"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "about %d days ago"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "about a month ago"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "about %d months ago"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "about a year ago"
diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po
index 22d6ccf9d..2946666aa 100644
--- a/locale/es/LC_MESSAGES/statusnet.po
+++ b/locale/es/LC_MESSAGES/statusnet.po
@@ -12,74 +12,68 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:44+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:28+0000\n"
"Language-Team: Spanish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: es\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
-#, fuzzy
msgid "Access"
-msgstr "Aceptar"
+msgstr "Acceder"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Configuración de Avatar"
+msgstr "Configuración de acceso de la web"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "Registrarse"
+msgstr "Registro"
#: actions/accessadminpanel.php:161
-#, fuzzy
msgid "Private"
-msgstr "Privacidad"
+msgstr "Privado"
#: actions/accessadminpanel.php:163
msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr ""
+msgstr "¿Prohibir a los usuarios anónimos (no conectados) ver el sitio ?"
#: actions/accessadminpanel.php:167
-#, fuzzy
msgid "Invite only"
-msgstr "Invitar"
+msgstr "Invitar sólo"
#: actions/accessadminpanel.php:169
msgid "Make registration invitation only."
-msgstr ""
+msgstr "Haz que el registro sea sólo con invitaciones."
#: actions/accessadminpanel.php:173
-#, fuzzy
msgid "Closed"
-msgstr "Bloqueado"
+msgstr "Cerrado"
#: actions/accessadminpanel.php:175
msgid "Disable new registrations."
-msgstr ""
+msgstr "Inhabilitar nuevos registros."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Guardar"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Configuración de Avatar"
+msgstr "Guardar la configuración de acceso"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -102,7 +96,7 @@ msgstr "No existe tal página"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -113,9 +107,9 @@ msgid "No such user."
msgstr "No existe ese usuario."
#: actions/all.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s and friends, page %2$d"
-msgstr "%s y amigos, página %d"
+msgstr "%1$s y amigos, página %2$d"
#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
@@ -159,7 +153,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -183,7 +177,7 @@ msgstr "¡Actualizaciones de %1$s y amigos en %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,11 +356,11 @@ msgstr "No puedes dejar de seguirte a ti mismo."
msgid "Two user ids or screen_names must be supplied."
msgstr "Deben proveerse dos identificaciones de usuario o nombres en pantalla."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "No se pudo determinar el usuario fuente."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "No se pudo encontrar ningún usuario de destino."
@@ -390,8 +384,8 @@ msgstr "El apodo ya existe. Prueba otro."
msgid "Not a valid nickname."
msgstr "Apodo no válido"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -403,8 +397,8 @@ msgstr "La página de inicio no es un URL válido."
msgid "Full name is too long (max 255 chars)."
msgstr "Tu nombre es demasiado largo (max. 255 carac.)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "La descripción es demasiado larga (máx. %d caracteres)."
@@ -482,18 +476,23 @@ msgstr "Grupos %s"
msgid "groups on %s"
msgstr "Grupos en %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Tamaño inválido."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -505,83 +504,84 @@ msgid "There was a problem with your session token. Try again, please."
msgstr ""
"Hubo un problema con tu clave de sesión. Por favor, intenta nuevamente."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Usuario o contraseña inválidos."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Error al configurar el usuario."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Error de la BD al insertar la etiqueta clave: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Envío de formulario inesperado."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Cuenta"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Apodo"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contraseña"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Todo"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -754,8 +754,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Vista previa"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Borrar"
@@ -804,8 +804,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -814,9 +815,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "Desbloquear este usuario"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sí"
@@ -922,6 +923,50 @@ msgstr "Conversación"
msgid "Notices"
msgstr "Avisos"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Debes estar conectado para editar un grupo."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Aviso sin perfil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "No eres miembro de este grupo."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Hubo problemas con tu clave de sesión."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "No existe ese aviso."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "No se puede eliminar este aviso."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Borrar este aviso"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -958,7 +1003,7 @@ msgstr "¿Estás seguro de que quieres eliminar este aviso?"
msgid "Do not delete this notice"
msgstr "No se puede eliminar este aviso."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Borrar este aviso"
@@ -1105,7 +1150,7 @@ msgstr "¡Este aviso no es un favorito!"
msgid "Add to favorites"
msgstr "Agregar a favoritos"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "No existe ese documento."
@@ -1120,22 +1165,12 @@ msgstr "Otras opciones"
msgid "You must be logged in to edit an application."
msgstr "Debes estar conectado para editar un grupo."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "No eres miembro de este grupo."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "No existe ese aviso."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Hubo problemas con tu clave de sesión."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1146,47 +1181,52 @@ msgstr "Usa este formulario para editar el grupo."
msgid "Name is required."
msgstr "Igual a la contraseña de arriba. Requerida"
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Tu nombre es demasiado largo (max. 255 carac.)"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "El apodo ya existe. Prueba otro."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Descripción"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "La página de inicio no es un URL válido."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "La ubicación es demasiado larga (máx. 255 caracteres)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "No se pudo actualizar el grupo."
@@ -1262,8 +1302,8 @@ msgstr ""
"la de spam!) por un mensaje con las instrucciones."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancelar"
@@ -2132,11 +2172,11 @@ msgstr "Debes estar conectado para crear un grupo"
msgid "Use this form to register a new application."
msgstr "Usa este formulario para crear un grupo nuevo."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "No se pudo crear favorito."
@@ -2271,29 +2311,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "No eres miembro de ese grupo"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2691,7 +2731,7 @@ msgid "Full name"
msgstr "Nombre completo"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Página de inicio"
@@ -2820,39 +2860,39 @@ msgstr "Línea de tiempo pública, página %d"
msgid "Public timeline"
msgstr "Línea temporal pública"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Feed del flujo público"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Feed del flujo público"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Feed del flujo público"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2861,7 +2901,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3234,7 +3274,7 @@ msgstr "No puedes registrarte si no estás de acuerdo con la licencia."
msgid "You already repeated that notice."
msgstr "Ya has bloqueado este usuario."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Crear"
@@ -3296,6 +3336,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respuestas a %1$s en %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Status borrado."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3306,6 +3351,37 @@ msgstr "No puedes enviar mensaje a este usuario."
msgid "User is already sandboxed."
msgstr "El usuario te ha bloqueado."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sesiones"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Configuración de Avatar"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3316,23 +3392,23 @@ msgstr "Debes estar conectado para dejar un grupo."
msgid "Application profile"
msgstr "Aviso sin perfil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Apodo"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Paginación"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Descripción"
@@ -3343,42 +3419,42 @@ msgstr "Estadísticas"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3590,25 +3666,25 @@ msgstr "Feed de avisos de %s"
msgid "FOAF for %s"
msgstr "Bandeja de salida para %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3617,7 +3693,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3627,7 +3703,7 @@ msgstr ""
"**%s** tiene una cuenta en %%%%site.name%%%%, un servicio [micro-blogging]"
"(http://en.wikipedia.org/wiki/Micro-blogging) "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Respuestas a %s"
@@ -3788,11 +3864,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Configuración de Avatar"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4111,89 +4182,69 @@ msgstr "Usuario"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nuevos usuarios"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Todas las suscripciones"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Suscribirse automáticamente a quien quiera que se suscriba a mí (es mejor "
"para no-humanos)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Invitaciones"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Invitacion(es) enviada(s)"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sesiones"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autorizar la suscripción"
@@ -4346,11 +4397,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Status borrado."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4480,22 +4526,22 @@ msgstr "Tienes prohibido publicar avisos en este sitio."
msgid "Problem saving notice."
msgstr "Hubo un problema al guardar el aviso."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Hubo un problema al guardar el aviso."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Error de BD al insertar respuesta: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Bienvenido a %1$s, @%2$s!"
@@ -4777,68 +4823,82 @@ msgstr "SMS confirmación"
msgid "Paths configuration"
msgstr "SMS confirmación"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS confirmación"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Describir al grupo o tema en %d caracteres"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Describir al grupo o tema"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Fuente"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "El URL de página de inicio o blog del grupo or tema"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "El URL de página de inicio o blog del grupo or tema"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4867,12 +4927,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Cambio de contraseña "
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Cambio de contraseña "
@@ -5142,19 +5202,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Ningún archivo de configuración encontrado. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Ir al instalador."
@@ -5732,24 +5792,24 @@ msgstr ""
msgid "at"
msgstr "en"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "en contexto"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Crear"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Responder este aviso."
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Aviso borrado"
@@ -5896,6 +5956,10 @@ msgstr "Responder este aviso."
msgid "Repeat this notice"
msgstr "Responder este aviso."
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6070,47 +6134,47 @@ msgstr "Mensaje"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "hace unos segundos"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "hace un minuto"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "hace %d minutos"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "hace una hora"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "hace %d horas"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "hace un día"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "hace %d días"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "hace un mes"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "hace %d meses"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "hace un año"
diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po
index 9526d702f..dc3b469b7 100644
--- a/locale/fa/LC_MESSAGES/statusnet.po
+++ b/locale/fa/LC_MESSAGES/statusnet.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:50+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:36+0000\n"
"Last-Translator: Ahmad Sufi Mahmudi\n"
"Language-Team: Persian\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
"X-Language-Code: fa\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
@@ -64,11 +64,12 @@ msgstr "غیر Ùعال کردن نام نوبسی جدید"
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "ذخیره‌کردن"
@@ -98,7 +99,7 @@ msgstr "چنین صÙحه‌ای وجود ندارد"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -159,7 +160,7 @@ msgstr ""
"اولین کسی باشید که در [این موضوع](%%%%action.newnotice%%%%?status_textarea=%"
"s) پیام می‌Ùرستد."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -185,7 +186,7 @@ msgstr "به روز رسانی از %1$ و دوستان در %2$"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -361,11 +362,11 @@ msgstr "نمی‌توانید خودتان را دنبال نکنید!"
msgid "Two user ids or screen_names must be supplied."
msgstr "باید ۲ شناسه‌ی کاربر یا نام ظاهری وارد کنید."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "نمی‌توان کاربر منبع را تعیین کرد."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "نمی‌توان کاربر هد٠را پیدا کرد."
@@ -387,8 +388,8 @@ msgstr "این لقب در حال حاضر ثبت شده است. لطÙا یکی
msgid "Not a valid nickname."
msgstr "لقب نا معتبر."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -400,8 +401,8 @@ msgstr "برگهٔ آغازین یک نشانی معتبر نیست."
msgid "Full name is too long (max 255 chars)."
msgstr "نام کامل طولانی است (۲۵۵ حر٠در حالت بیشینه(."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "توصی٠بسیار زیاد است (حداکثر %d حرÙ)."
@@ -478,18 +479,23 @@ msgstr "%s گروه"
msgid "groups on %s"
msgstr "گروه‌ها در %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "اندازه‌ی نادرست"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -500,82 +506,83 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "مشکلی در دریاÙت جلسه‌ی شما وجود دارد. لطÙا بعدا سعی کنید."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "نام کاربری یا کلمه ی عبور نا معتبر."
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr ""
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr ""
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "ارسال غیر قابل انتظار Ùرم."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "حساب کاربری"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "نام کاربری"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "گذرواژه"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
msgstr "طرح"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "همه"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -745,8 +752,8 @@ msgstr "اصلی"
msgid "Preview"
msgstr "پیش‌نمایش"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "حذÙ"
@@ -797,8 +804,9 @@ msgstr ""
"دنبال کند. همچنین دیگر شما از پیام‌هایی که در آن از شما یاد می‌کند با خبر "
"نخواهید شد"
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "خیر"
@@ -806,9 +814,9 @@ msgstr "خیر"
msgid "Do not block this user"
msgstr "کاربر را مسدود نکن"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "بله"
@@ -913,6 +921,53 @@ msgstr "مکالمه"
msgid "Notices"
msgstr "پیام‌ها"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "برای ویرایش گروه باید وارد شوید."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "ابن خبر ذخیره ای ندارد ."
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "شما یک عضو این گروه نیستید."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "چنین پیامی وجود ندارد."
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"آیا مطمئن هستید که می‌خواهید این کاربر را پاک کنید؟ با این کار تمام اطلاعات "
+"پاک و بدون برگشت خواهند بود."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "این پیام را پاک نکن"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "این پیام را پاک کن"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -947,7 +1002,7 @@ msgstr "آیا اطمینان دارید Ú©Ù‡ می‌خواهید این پیاÙ
msgid "Do not delete this notice"
msgstr "این پیام را پاک نکن"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "این پیام را پاک کن"
@@ -1091,7 +1146,7 @@ msgstr "این آگهی یک آگهی برگزیده نیست!"
msgid "Add to favorites"
msgstr "اÙزودن به علاقه‌مندی‌ها"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "چنین سندی وجود ندارد."
@@ -1106,22 +1161,12 @@ msgstr "انتخابات دیگر"
msgid "You must be logged in to edit an application."
msgstr "برای ویرایش گروه باید وارد شوید."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "شما یک عضو این گروه نیستید."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "چنین پیامی وجود ندارد."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1131,46 +1176,51 @@ msgstr "از این روش برای ویرایش گروه استÙاده Ú©Ù†ÛŒØ
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "نام کامل طولانی است (۲۵۵ حر٠در حالت بیشینه(."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "این لقب در حال حاضر ثبت شده است. لطÙا یکی دیگر انتخاب کنید."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr ""
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "برگهٔ آغازین یک نشانی معتبر نیست."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "مکان طولانی است (حداکثر Û²ÛµÛµ حرÙ)"
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
@@ -1243,8 +1293,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "انصراÙ"
@@ -2066,11 +2116,11 @@ msgstr "برای ساخت یک گروه، باید وارد شده باشید."
msgid "Use this form to register a new application."
msgstr "از این Ùرم برای ساختن یک گروه جدید استÙاده کنید"
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "نمی‌توان نام‌های مستعار را ساخت."
@@ -2206,29 +2256,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "شما یک کاربر این گروه نیستید."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2608,7 +2658,7 @@ msgid "Full name"
msgstr "نام‌کامل"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "صÙحهٔ خانگی"
@@ -2732,36 +2782,36 @@ msgstr "خط زمانی عمومی، صÙحه‌ی %d"
msgid "Public timeline"
msgstr "خط زمانی عمومی"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "اولین کسی باشید Ú©Ù‡ پیام می‌Ùرستد!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr "چرا [ثبت نام](%%action.register%%) نمی‌کنید Ùˆ اولین پیام را نمی‌Ùرستید؟"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2770,7 +2820,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3107,7 +3157,7 @@ msgstr "شما نمی توانید Ø¢Ú¯Ù‡ÛŒ خودتان را تکرار Ú©Ù†ÛŒØ
msgid "You already repeated that notice."
msgstr "شما قبلا آن آگهی را تکرار کردید."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr ""
@@ -3169,6 +3219,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "وضعیت حذ٠شد."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3177,6 +3232,37 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "تنظیمات ظاهری برای این سایت."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr ""
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3187,23 +3273,23 @@ msgstr "برای ترک یک گروه، شما باید وارد شده باشی
msgid "Application profile"
msgstr "ابن خبر ذخیره ای ندارد ."
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "نام کاربری"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "صÙحه بندى"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr ""
@@ -3214,43 +3300,43 @@ msgstr "آمار"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "مؤلÙ"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3455,12 +3541,12 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "این خط‌زمانی %s و دوستانش است، اما هیچ‌یک تاکنون چیزی پست نکرده‌اند."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3468,7 +3554,7 @@ msgstr ""
"اخیرا چیز جالب توجه ای دیده اید؟ شما تا کنون آگهی ارسال نکرده اید، الان می "
"تواند زمان خوبی برای شروع باشد :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, fuzzy, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3477,7 +3563,7 @@ msgstr ""
"اولین کسی باشید که در [این موضوع](%%%%action.newnotice%%%%?status_textarea=%"
"s) پیام می‌Ùرستد."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3486,7 +3572,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3494,7 +3580,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr ""
@@ -3651,10 +3737,6 @@ msgstr ""
"چه مدت کاربران باید منتظر بمانند ( به ثانیه ) تا همان چیز را مجددا ارسال "
"کنند."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr ""
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -3949,84 +4031,64 @@ msgstr "کاربر"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "حداکثر طول یک زندگی نامه(در پروÙایل) بر حسب کاراکتر."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "خوشامدگویی کاربر جدید"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "پیام خوشامدگویی برای کاربران جدید( حداکثر 255 کاراکتر)"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr ""
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "دعوت نامه ها"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "دعوت نامه ها Ùعال شدند"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "خواه به کاربران اجازه ی دعوت کردن کاربران جدید داده شود."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4165,11 +4227,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "وضعیت حذ٠شد."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4294,22 +4351,22 @@ msgstr "شما از Ùرستادن پست در این سایت مردود شدی
msgid "Problem saving notice."
msgstr "مشکل در ذخیره کردن آگهی."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "مشکل در ذخیره کردن آگهی."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "خوش امدید به %1$s , @%2$s!"
@@ -4577,65 +4634,79 @@ msgstr "پیکره بندی اصلی سایت"
msgid "Paths configuration"
msgstr ""
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "پیکره بندی اصلی سایت"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr ""
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr ""
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "منبع"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4664,12 +4735,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "تغییر گذرواژه"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "تغییر گذرواژه"
@@ -4936,19 +5007,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "شما ممکن است بخواهید نصاب را اجرا کنید تا این را تعمیر کند."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "برو به نصاب."
@@ -5511,23 +5582,23 @@ msgstr ""
msgid "at"
msgstr "در"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "در زمینه"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "تکرار از"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "به این آگهی جواب دهید"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "جواب دادن"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "آگهی تکرار شد"
@@ -5669,6 +5740,10 @@ msgstr "به این آگهی جواب دهید"
msgid "Repeat this notice"
msgstr ""
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5834,47 +5909,47 @@ msgstr "پیام"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "چند ثانیه پیش"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "حدود یک دقیقه پیش"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "حدود %d دقیقه پیش"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "حدود یک ساعت پیش"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "حدود %d ساعت پیش"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "حدود یک روز پیش"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "حدود %d روز پیش"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "حدود یک ماه پیش"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "حدود %d ماه پیش"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "حدود یک سال پیش"
diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po
index 750e41b08..daa2c1cbe 100644
--- a/locale/fi/LC_MESSAGES/statusnet.po
+++ b/locale/fi/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:47+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:32+0000\n"
"Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fi\n"
"X-Message-Group: out-statusnet\n"
@@ -66,11 +66,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Tallenna"
@@ -100,7 +101,7 @@ msgstr "Sivua ei ole."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -163,7 +164,7 @@ msgstr ""
"Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action."
"newnotice%%%%?status_textarea=%s)!"
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -187,7 +188,7 @@ msgstr "Käyttäjän %1$s ja kavereiden päivitykset palvelussa %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -369,12 +370,12 @@ msgstr "Et voi lopettaa itsesi tilausta!"
msgid "Two user ids or screen_names must be supplied."
msgstr "Kaksi käyttäjätunnusta tai nimeä täytyy antaa."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Julkista päivitysvirtaa ei saatu."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Ei löytynyt yhtään päivitystä."
@@ -399,8 +400,8 @@ msgstr "Tunnus on jo käytössä. Yritä toista tunnusta."
msgid "Not a valid nickname."
msgstr "Tuo ei ole kelvollinen tunnus."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -412,8 +413,8 @@ msgstr "Kotisivun verkko-osoite ei ole toimiva."
msgid "Full name is too long (max 255 chars)."
msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "kuvaus on liian pitkä (max 140 merkkiä)."
@@ -490,18 +491,23 @@ msgstr "Käyttäjän %s ryhmät"
msgid "groups on %s"
msgstr "Ryhmän toiminnot"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Koko ei kelpaa."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -514,84 +520,85 @@ msgstr ""
"Istuntosi avaimen kanssa oli ongelmia. Olisitko ystävällinen ja kokeilisit "
"uudelleen."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Käyttäjätunnus tai salasana ei kelpaa."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Virhe tapahtui käyttäjän asettamisessa."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Tietokantavirhe tallennettaessa risutagiä: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Odottamaton lomakkeen lähetys."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Käyttäjätili"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Tunnus"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Salasana"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
msgstr "Ulkoasu"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Kaikki"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -763,8 +770,8 @@ msgstr "Alkuperäinen"
msgid "Preview"
msgstr "Esikatselu"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Poista"
@@ -812,8 +819,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Ei"
@@ -821,9 +829,9 @@ msgstr "Ei"
msgid "Do not block this user"
msgstr "Älä estä tätä käyttäjää"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Kyllä"
@@ -929,6 +937,51 @@ msgstr "Keskustelu"
msgid "Notices"
msgstr "Päivitykset"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr ""
+"Sinun pitää olla kirjautunut sisään, jotta voit muuttaa ryhmän tietoja."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Päivitykselle ei ole profiilia"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Sinä et kuulu tähän ryhmään."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Istuntoavaimesi kanssa oli ongelma."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Päivitystä ei ole."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Älä poista tätä päivitystä"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Poista tämä päivitys"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -963,7 +1016,7 @@ msgstr "Oletko varma että haluat poistaa tämän päivityksen?"
msgid "Do not delete this notice"
msgstr "Älä poista tätä päivitystä"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Poista tämä päivitys"
@@ -1112,7 +1165,7 @@ msgstr "Tämä päivitys ei ole suosikki!"
msgid "Add to favorites"
msgstr "Lisää suosikkeihin"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Dokumenttia ei ole."
@@ -1128,22 +1181,12 @@ msgid "You must be logged in to edit an application."
msgstr ""
"Sinun pitää olla kirjautunut sisään, jotta voit muuttaa ryhmän tietoja."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Sinä et kuulu tähän ryhmään."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Päivitystä ei ole."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Istuntoavaimesi kanssa oli ongelma."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1154,47 +1197,52 @@ msgstr "Käytä tätä lomaketta muokataksesi ryhmää."
msgid "Name is required."
msgstr "Sama kuin ylläoleva salasana. Pakollinen."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Tunnus on jo käytössä. Yritä toista tunnusta."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Kuvaus"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Kotisivun verkko-osoite ei ole toimiva."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Ei voitu päivittää ryhmää."
@@ -1270,8 +1318,8 @@ msgstr ""
"lisäohjeita. "
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Peruuta"
@@ -2132,11 +2180,11 @@ msgstr "Sinun pitää olla kirjautunut sisään jotta voit luoda ryhmän."
msgid "Use this form to register a new application."
msgstr "Käytä tätä lomaketta luodaksesi ryhmän."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Ei voitu lisätä aliasta."
@@ -2271,29 +2319,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Sinä et kuulu tähän ryhmään."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2689,7 +2737,7 @@ msgid "Full name"
msgstr "Koko nimi"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Kotisivu"
@@ -2818,36 +2866,36 @@ msgstr "Julkinen aikajana, sivu %d"
msgid "Public timeline"
msgstr "Julkinen aikajana"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Julkinen syöte (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Julkisen Aikajanan Syöte (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Julkinen syöte (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Ole ensimmäinen joka lähettää päivityksen!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2856,7 +2904,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3229,7 +3277,7 @@ msgstr "Et voi rekisteröityä, jos et hyväksy lisenssiehtoja."
msgid "You already repeated that notice."
msgstr "Sinä olet jo estänyt tämän käyttäjän."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Luotu"
@@ -3295,6 +3343,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Viesti käyttäjälle %1$s, %2$s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Päivitys poistettu."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3305,6 +3358,38 @@ msgstr "Et voi lähettää viestiä tälle käyttäjälle."
msgid "User is already sandboxed."
msgstr "Käyttäjä on asettanut eston sinulle."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Ulkoasuasetukset tälle StatusNet palvelulle."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Profiilikuva-asetukset"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3315,23 +3400,23 @@ msgstr "Sinun pitää olla kirjautunut sisään, jotta voit erota ryhmästä."
msgid "Application profile"
msgstr "Päivitykselle ei ole profiilia"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Tunnus"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Sivutus"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Kuvaus"
@@ -3342,42 +3427,42 @@ msgstr "Tilastot"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3584,20 +3669,20 @@ msgstr "Päivityksien syöte käyttäjälle %s"
msgid "FOAF for %s"
msgstr "Käyttäjän %s lähetetyt viestit"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"Tämä on käyttäjän %s aikajana, mutta %s ei ole lähettänyt vielä yhtään "
"päivitystä."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, fuzzy, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3606,7 +3691,7 @@ msgstr ""
"Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta] (%%%%action."
"newnotice%%%%?status_textarea=%s)!"
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3615,7 +3700,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3625,7 +3710,7 @@ msgstr ""
"Käyttäjällä **%s** on käyttäjätili palvelussa %%%%site.name%%%%, joka on "
"[mikroblogauspalvelu](http://en.wikipedia.org/wiki/Micro-blogging)"
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Vastaukset käyttäjälle %s"
@@ -3786,11 +3871,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Profiilikuva-asetukset"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4101,91 +4181,71 @@ msgstr "Käyttäjä"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profiili"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "Kutsu uusia käyttäjiä"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Kaikki tilaukset"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Tilaa automaattisesti kaikki, jotka tilaavat päivitykseni (ei sovi hyvin "
"ihmiskäyttäjille)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Kutsu(t) lähetettiin"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Kutsu(t) lähetettiin"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Valtuuta tilaus"
@@ -4337,11 +4397,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Päivitys poistettu."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4469,22 +4524,22 @@ msgstr "Päivityksesi tähän palveluun on estetty."
msgid "Problem saving notice."
msgstr "Ongelma päivityksen tallentamisessa."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Ongelma päivityksen tallentamisessa."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Tietokantavirhe tallennettaessa vastausta: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Viesti käyttäjälle %1$s, %2$s"
@@ -4769,68 +4824,82 @@ msgstr "SMS vahvistus"
msgid "Paths configuration"
msgstr "SMS vahvistus"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS vahvistus"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Kuvaile ryhmää tai aihetta 140 merkillä"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Kuvaile ryhmää tai aihetta 140 merkillä"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Lähdekoodi"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "Ryhmän tai aiheen kotisivun tai blogin osoite"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "Ryhmän tai aiheen kotisivun tai blogin osoite"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4860,12 +4929,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Salasanan vaihto"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Salasanan vaihto"
@@ -5136,20 +5205,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Varmistuskoodia ei ole annettu."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "Kirjaudu sisään palveluun"
@@ -5734,25 +5803,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "Ei sisältöä!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Luotu"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Vastaa tähän päivitykseen"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Vastaus"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Päivitys on poistettu."
@@ -5901,6 +5970,10 @@ msgstr "Vastaa tähän päivitykseen"
msgid "Repeat this notice"
msgstr "Vastaa tähän päivitykseen"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6078,47 +6151,47 @@ msgstr "Viesti"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "muutama sekunti sitten"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "noin minuutti sitten"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "noin %d minuuttia sitten"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "noin tunti sitten"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "noin %d tuntia sitten"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "noin päivä sitten"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "noin %d päivää sitten"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "noin kuukausi sitten"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "noin %d kuukautta sitten"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "noin vuosi sitten"
diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po
index 06580cd65..b6c896cf0 100644
--- a/locale/fr/LC_MESSAGES/statusnet.po
+++ b/locale/fr/LC_MESSAGES/statusnet.po
@@ -14,12 +14,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:53+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:39+0000\n"
"Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: out-statusnet\n"
@@ -30,14 +30,12 @@ msgid "Access"
msgstr "Accès"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Sauvegarder les paramètres du site"
+msgstr "Paramètres d'accès au site"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "Créer un compte"
+msgstr "Inscription"
#: actions/accessadminpanel.php:161
msgid "Private"
@@ -66,18 +64,18 @@ msgstr "Désactiver les nouvelles inscriptions."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Enregistrer"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Sauvegarder les paramètres du site"
+msgstr "Sauvegarder les paramètres d'accès"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -100,7 +98,7 @@ msgstr "Page non trouvée"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -111,9 +109,9 @@ msgid "No such user."
msgstr "Utilisateur non trouvé."
#: actions/all.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s and friends, page %2$d"
-msgstr "%1$s profils bloqués, page %2$d"
+msgstr "!%1$s et amis, page %2$d"
#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
@@ -164,7 +162,7 @@ msgstr ""
"profil ou [poster quelque chose à son intention](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -190,7 +188,7 @@ msgstr "Statuts de %1$s et ses amis dans %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -368,11 +366,11 @@ msgstr "Vous ne pouvez pas ne plus vous suivre vous-même."
msgid "Two user ids or screen_names must be supplied."
msgstr "Vous devez fournir 2 identifiants ou pseudos."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Impossible de déterminer l’utilisateur source."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Impossible de trouver l’utilisateur cible."
@@ -396,8 +394,8 @@ msgstr "Pseudo déjà utilisé. Essayez-en un autre."
msgid "Not a valid nickname."
msgstr "Pseudo invalide."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -409,8 +407,8 @@ msgstr "L’adresse du site personnel n’est pas un URL valide. "
msgid "Full name is too long (max 255 chars)."
msgstr "Nom complet trop long (maximum de 255 caractères)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "La description est trop longue (%d caractères maximum)."
@@ -487,18 +485,23 @@ msgstr "Groupes de %s"
msgid "groups on %s"
msgstr "groupes sur %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Requête invalide."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
+
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Taille incorrecte."
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -511,22 +514,22 @@ msgstr ""
"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
"nouveau."
-#: actions/apioauthauthorize.php:146
-#, fuzzy
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
-msgstr "Identifiant ou mot de passe incorrect."
+msgstr "Identifiant ou mot de passe incorrect !"
-#: actions/apioauthauthorize.php:170
-#, fuzzy
-msgid "DB error deleting OAuth app user."
-msgstr "Erreur lors de la configuration de l’utilisateur."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
+msgstr ""
+"Erreur de la base de données lors de la suppression de l'utilisateur de "
+"l'application OAuth."
-#: actions/apioauthauthorize.php:196
-#, fuzzy
-msgid "DB error inserting OAuth app user."
-msgstr "Erreur de base de donnée en insérant la marque (hashtag) : %s"
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
+msgstr ""
+"Erreur de base de donnée en insérant l'utilisateur de l'application OAuth"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -535,61 +538,62 @@ msgstr ""
"Le jeton de connexion %s a été autorisé. Merci de l'échanger contre un jeton "
"d'accès."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Le jeton de connexion %s a été refusé."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Soumission de formulaire inattendue."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
"Une application vous demande l'autorisation de se connecter à votre compte"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Autoriser ou refuser l'accès"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Compte"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Pseudo"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Mot de passe"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Refuser"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Autoriser"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Autoriser ou refuser l'accès à votre compte."
@@ -762,8 +766,8 @@ msgstr "Image originale"
msgid "Preview"
msgstr "Aperçu"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Supprimer"
@@ -813,8 +817,9 @@ msgstr ""
"sera plus abonné à votre compte, ne pourra plus s’y abonner de nouveau, et "
"vous ne serez pas informé des @-réponses de sa part."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Non"
@@ -822,9 +827,9 @@ msgstr "Non"
msgid "Do not block this user"
msgstr "Ne pas bloquer cet utilisateur"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Oui"
@@ -911,7 +916,6 @@ msgid "Couldn't delete email confirmation."
msgstr "Impossible de supprimer le courriel de confirmation."
#: actions/confirmaddress.php:144
-#, fuzzy
msgid "Confirm address"
msgstr "Confirmer l’adresse"
@@ -929,6 +933,52 @@ msgstr "Conversation"
msgid "Notices"
msgstr "Avis"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Vous devez être connecté pour modifier une application."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Informations sur l'application"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Vous n'êtes pas le propriétaire de cette application."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Un problème est survenu avec votre jeton de session."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Modifier votre application"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Êtes-vous certain de vouloir supprimer cet utilisateur ? Ceci effacera "
+"toutes les données à son propos de la base de données, sans sauvegarde."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Ne pas supprimer cet avis"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Icône pour cette application"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -963,7 +1013,7 @@ msgstr "Êtes-vous sûr(e) de vouloir supprimer cet avis ?"
msgid "Do not delete this notice"
msgstr "Ne pas supprimer cet avis"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Supprimer cet avis"
@@ -1107,91 +1157,76 @@ msgstr "Cet avis n’est pas un favori !"
msgid "Add to favorites"
msgstr "Ajouter aux favoris"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Document non trouvé."
+msgstr "Document « %s » non trouvé."
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
-msgstr "Modifier votre application"
+msgstr "Modifier l'application"
#: actions/editapplication.php:66
-#, fuzzy
msgid "You must be logged in to edit an application."
-msgstr "Vous devez ouvrir une session pour modifier un groupe."
+msgstr "Vous devez être connecté pour modifier une application."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Vous n'êtes pas membre de ce groupe."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Pas d'application."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Un problème est survenu avec votre jeton de session."
-
#: actions/editapplication.php:161
-#, fuzzy
msgid "Use this form to edit your application."
-msgstr "Remplissez ce formulaire pour modifier les options du groupe."
+msgstr "Utilisez ce formulaire pour modifier votre application."
#: actions/editapplication.php:177 actions/newapplication.php:159
-#, fuzzy
msgid "Name is required."
-msgstr "Identique au mot de passe ci-dessus. Requis."
+msgstr "Le nom est requis."
-#: actions/editapplication.php:180 actions/newapplication.php:162
-#, fuzzy
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
-msgstr "Nom complet trop long (maximum de 255 caractères)."
+msgstr "Le nom est trop long (maximum de 255 caractères)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Pseudo déjà utilisé. Essayez-en un autre."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
-msgstr "Description"
+msgstr "Description requise."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "L'URL source est trop longue."
-#: actions/editapplication.php:197 actions/newapplication.php:182
-#, fuzzy
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
-msgstr "L’URL de l’avatar ‘%s’ n’est pas valide."
+msgstr "URL source invalide."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
-msgstr ""
+msgstr "Organisation requise."
-#: actions/editapplication.php:203 actions/newapplication.php:188
-#, fuzzy
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
-msgstr "Emplacement trop long (maximum de 255 caractères)."
+msgstr "Organisation trop longue (maximum de 255 caractères)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
-msgstr ""
+msgstr "La page d'accueil de l'organisation est requise."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "Le Callback est trop long."
-#: actions/editapplication.php:222 actions/newapplication.php:212
-#, fuzzy
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
-msgstr "L’URL de l’avatar ‘%s’ n’est pas valide."
+msgstr "URL de rappel invalide."
-#: actions/editapplication.php:255
-#, fuzzy
+#: actions/editapplication.php:258
msgid "Could not update application."
-msgstr "Impossible de mettre à jour le groupe."
+msgstr "Impossible de mettre à jour l'application."
#: actions/editgroup.php:56
#, php-format
@@ -1261,8 +1296,8 @@ msgstr ""
"réception (et celle de spam !) pour recevoir de nouvelles instructions."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Annuler"
@@ -1867,9 +1902,9 @@ msgid "That is not your Jabber ID."
msgstr "Ceci n’est pas votre identifiant Jabber."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Boîte de réception de %s"
+msgstr "Boîte de réception de %1$s - page %2$d"
#: actions/inbox.php:62
#, php-format
@@ -2127,28 +2162,24 @@ msgid "No current status"
msgstr "Aucun statut actuel"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Nouvelle application"
#: actions/newapplication.php:64
-#, fuzzy
msgid "You must be logged in to register an application."
-msgstr "Vous devez ouvrir une session pour créer un groupe."
+msgstr "Vous devez être connecté pour enregistrer une application."
#: actions/newapplication.php:143
-#, fuzzy
msgid "Use this form to register a new application."
-msgstr "Remplissez les champs ci-dessous pour créer un nouveau groupe :"
+msgstr "Utilisez ce formulaire pour inscrire une nouvelle application."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
-msgstr ""
+msgstr "URL source requise."
-#: actions/newapplication.php:255 actions/newapplication.php:264
-#, fuzzy
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
-msgstr "Impossible de créer les alias."
+msgstr "Impossible de créer l'application."
#: actions/newgroup.php:53
msgid "New group"
@@ -2265,49 +2296,49 @@ msgid "Nudge sent!"
msgstr "Clin d’œil envoyé !"
#: actions/oauthappssettings.php:59
-#, fuzzy
msgid "You must be logged in to list your applications."
-msgstr "Vous devez ouvrir une session pour modifier un groupe."
+msgstr "Vous devez être connecté pour lister vos applications."
#: actions/oauthappssettings.php:74
-#, fuzzy
msgid "OAuth applications"
-msgstr "Autres options "
+msgstr "Applications OAuth"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
-msgstr ""
+msgstr "Applications que vous avez enregistré"
#: actions/oauthappssettings.php:135
#, php-format
msgid "You have not registered any applications yet."
-msgstr ""
+msgstr "Vous n'avez encore enregistré aucune application."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Applications connectées."
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
+"Vous avez autorisé les applications suivantes à accéder à votre compte."
-#: actions/oauthconnectionssettings.php:170
-#, fuzzy
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
-msgstr "Vous n'êtes pas membre de ce groupe."
+msgstr "Vous n'êtes pas un utilisateur de cette application."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
-msgstr ""
+msgstr "Impossible d'annuler l'accès de l'application : "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
-msgstr ""
+msgstr "Vous n'avez autorisé aucune application à utiliser votre compte."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
+"Les programmeurs peuvent modifier les paramètres d'enregistrement pour leurs "
+"applications "
#: actions/oembed.php:79 actions/shownotice.php:100
msgid "Notice has no profile"
@@ -2340,7 +2371,6 @@ msgid "Notice Search"
msgstr "Recherche d’avis"
#: actions/othersettings.php:60
-#, fuzzy
msgid "Other settings"
msgstr "Autres paramètres"
@@ -2393,9 +2423,9 @@ msgid "Login token expired."
msgstr "Jeton d'identification périmé."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Boîte d’envoi de %s"
+msgstr "Boîte d’envoi de %1$s - page %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2682,7 +2712,7 @@ msgid "Full name"
msgstr "Nom complet"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Site personnel"
@@ -2810,19 +2840,19 @@ msgstr "Flux public - page %d"
msgid "Public timeline"
msgstr "Flux public"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Fil du flux public (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Fil du flux public (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Fil du flux public (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2831,11 +2861,11 @@ msgstr ""
"Ceci est la chronologie publique de %%site.name%% mais personne n’a encore "
"rien posté."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Soyez le premier à poster !"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2843,7 +2873,7 @@ msgstr ""
"Pourquoi ne pas [créer un compte](%%action.register%%) et être le premier à "
"poster !"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2857,7 +2887,7 @@ msgstr ""
"vous avec vos amis, famille et collègues ! ([Plus d’informations](%%doc.help%"
"%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3228,7 +3258,7 @@ msgstr "Vous ne pouvez pas reprendre votre propre avis."
msgid "You already repeated that notice."
msgstr "Vous avez déjà repris cet avis."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Repris"
@@ -3243,9 +3273,9 @@ msgid "Replies to %s"
msgstr "Réponses à %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Réponses à %1$s sur %2$s !"
+msgstr "Réponses à %1$s, page %2$d"
#: actions/replies.php:144
#, php-format
@@ -3296,6 +3326,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Réponses à %1$s sur %2$s !"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3305,32 +3339,59 @@ msgstr ""
msgid "User is already sandboxed."
msgstr "L’utilisateur est déjà dans le bac à sable."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessions"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "Paramètres de session pour ce site StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Gérer les sessions"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "S’il faut gérer les sessions nous-même."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Déboguage de session"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Activer la sortie de déboguage pour les sessions."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Sauvegarder les paramètres du site"
+
#: actions/showapplication.php:82
-#, fuzzy
msgid "You must be logged in to view an application."
-msgstr "Vous devez ouvrir une session pour quitter un groupe."
+msgstr "Vous devez être connecté pour voir une application."
#: actions/showapplication.php:158
-#, fuzzy
msgid "Application profile"
-msgstr "L’avis n’a pas de profil"
+msgstr "Profil de l'application"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
-msgstr ""
+msgstr "Icône"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Nom"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
-#, fuzzy
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
-msgstr "Pagination"
+msgstr "Organisation"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Description"
@@ -3340,53 +3401,54 @@ msgid "Statistics"
msgstr "Statistiques"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
-msgstr ""
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
+msgstr "créé par %1$s - accès %2$s par défaut - %3$d utilisateurs"
#: actions/showapplication.php:214
msgid "Application actions"
-msgstr ""
+msgstr "Actions de l'application"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
-msgstr ""
+msgstr "Réinitialiser la clé et le secret"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
-msgstr ""
+msgstr "Informations sur l'application"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
-msgstr ""
+msgstr "Clé de l'utilisateur"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
-msgstr ""
+msgstr "Secret de l'utilisateur"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
-msgstr ""
+msgstr "URL du jeton de requête"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
-msgstr ""
+msgstr "URL du jeton d'accès"
-#: actions/showapplication.php:263
-#, fuzzy
+#: actions/showapplication.php:278
msgid "Authorize URL"
-msgstr "Auteur"
+msgstr "Autoriser l'URL"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
msgstr ""
+"Note : Nous utilisons les signatures HMAC-SHA1. Nous n'utilisons pas la "
+"méthode de signature en texte clair."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "Avis favoris de %s"
+msgstr "Avis favoris de %1$s, page %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3446,9 +3508,9 @@ msgid "%s group"
msgstr "Groupe %s"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "Membres du groupe %1$s - page %2$d"
+msgstr "Groupe %1$s, page %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3573,9 +3635,9 @@ msgid " tagged %s"
msgstr " marqué %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s profils bloqués, page %2$d"
+msgstr "%1$s, page %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3602,13 +3664,13 @@ msgstr "Flux des avis de %s (Atom)"
msgid "FOAF for %s"
msgstr "ami d’un ami pour %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"Ceci est la chronologie de %1$s mais %2$s n’a rien publié pour le moment."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3616,7 +3678,7 @@ msgstr ""
"Avez-vous vu quelque chose d’intéressant récemment ? Vous n’avez pas publié "
"d’avis pour le moment, vous pourriez commencer maintenant :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3625,7 +3687,7 @@ msgstr ""
"Vous pouvez essayer de faire un clin d’œil à %1$s ou de [poster quelque "
"chose à son intention](%%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3639,7 +3701,7 @@ msgstr ""
"register%%%%) pour suivre les avis de **%s** et bien plus ! ([En lire plus](%"
"%%%doc.help%%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3650,7 +3712,7 @@ msgstr ""
"wikipedia.org/wiki/Microblog) basé sur le logiciel libre [StatusNet](http://"
"status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Reprises de %s"
@@ -3806,10 +3868,6 @@ msgstr ""
"Combien de temps (en secondes) les utilisateurs doivent attendre pour poster "
"la même chose de nouveau."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Sauvegarder les paramètres du site"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Paramètres SMS"
@@ -4019,9 +4077,9 @@ msgid "SMS"
msgstr "SMS"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Utilisateurs marqués par eux-mêmes avec %1$s - page %2$d"
+msgstr "Avis marqués avec %1$s, page %2$d"
#: actions/tag.php:86
#, php-format
@@ -4128,86 +4186,66 @@ msgstr "Utilisateur"
msgid "User settings for this StatusNet site."
msgstr "Paramètres des utilisateurs pour ce site StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite de bio invalide : doit être numérique."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Texte de bienvenue invalide. La taille maximale est de 255 caractères."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Abonnement par défaut invalide : « %1$s » n’est pas un utilisateur."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Limite de bio"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Longueur maximale de la bio d’un profil en caractères."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nouveaux utilisateurs"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Accueil des nouveaux utilisateurs"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
"Texte de bienvenue pour les nouveaux utilisateurs (maximum 255 caractères)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Abonnements par défaut"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Abonner automatiquement les nouveaux utilisateurs à cet utilisateur."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Invitations"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Invitations activées"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
"S’il faut autoriser les utilisateurs à inviter de nouveaux utilisateurs."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessions"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Gérer les sessions"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "S’il faut gérer les sessions nous-même."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Déboguage de session"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Activer la sortie de déboguage pour les sessions."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autoriser l’abonnement"
@@ -4328,9 +4366,9 @@ msgid "Enjoy your hotdog!"
msgstr "Bon appétit !"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "Membres du groupe %1$s - page %2$d"
+msgstr "Groupes %1$s, page %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4362,10 +4400,6 @@ msgstr ""
"Ce site est propulsé par %1$s, version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. et ses contributeurs."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Contributeurs"
@@ -4499,22 +4533,21 @@ msgstr "Il vous est interdit de poster des avis sur ce site."
msgid "Problem saving notice."
msgstr "Problème lors de l’enregistrement de l’avis."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Problème lors de l’enregistrement de l’avis."
+msgstr "Problème lors de l’enregistrement de la boîte de réception du groupe."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, 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:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Bienvenue à %1$s, @%2$s !"
@@ -4713,16 +4746,20 @@ msgstr "Licence du contenu du site"
#: lib/action.php:806
#, php-format
msgid "Content and data of %1$s are private and confidential."
-msgstr ""
+msgstr "Le contenu et les données de %1$s sont privés et confidentiels."
#: lib/action.php:811
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
+"Le contenu et les données sont sous le droit d'auteur de %1$s. Tous droits "
+"réservés."
#: lib/action.php:814
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
+"Le contenu et les données sont sous le droit d'auteur du contributeur. Tous "
+"droits réservés."
#: lib/action.php:826
msgid "All "
@@ -4773,90 +4810,100 @@ msgid "Design configuration"
msgstr "Configuration de la conception"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "Configuration des chemins"
+msgstr "Configuration utilisateur"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "Configuration de la conception"
+msgstr "Configuration d'accès"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "Configuration des chemins"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "Configuration des sessions"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"La ressource de l'API a besoin de l'accès en lecture et en écriture, mais "
+"vous n'y avez accès qu'en lecture."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+"L'essai d'authentification de l'API a échoué ; identifiant = %1$s, proxy = %2"
+"$s, ip = %3$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Modifier votre application"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
-msgstr ""
+msgstr "Icône pour cette application"
-#: lib/applicationeditform.php:206
-#, fuzzy, php-format
+#: lib/applicationeditform.php:204
+#, php-format
msgid "Describe your application in %d characters"
-msgstr "Description du groupe ou du sujet en %d caractères"
+msgstr "Décrivez votre application en %d caractères"
-#: lib/applicationeditform.php:209
-#, fuzzy
+#: lib/applicationeditform.php:207
msgid "Describe your application"
-msgstr "Description du groupe ou du sujet"
+msgstr "Décrivez votre applications"
-#: lib/applicationeditform.php:218
-#, fuzzy
+#: lib/applicationeditform.php:216
msgid "Source URL"
-msgstr "Source"
+msgstr "URL source"
-#: lib/applicationeditform.php:220
-#, fuzzy
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
-msgstr "URL du site Web ou blogue du groupe ou sujet "
+msgstr "URL de la page d'accueil de cette application"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
-msgstr ""
+msgstr "Organisation responsable de cette application"
-#: lib/applicationeditform.php:232
-#, fuzzy
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
-msgstr "URL du site Web ou blogue du groupe ou sujet "
+msgstr "URL de la page d'accueil de l'organisation"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL vers laquelle rediriger après l'authentification"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
-msgstr ""
+msgstr "Navigateur"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
-msgstr ""
+msgstr "Bureau"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
-msgstr ""
+msgstr "Type d'application, navigateur ou bureau"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Lecture seule"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
-msgstr ""
+msgstr "Lecture-écriture"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"Accès par défaut pour cette application : en lecture seule ou en lecture-"
"écriture"
#: lib/applicationlist.php:154
-#, fuzzy
msgid "Revoke"
-msgstr "Retirer"
+msgstr "Révoquer"
#: lib/attachmentlist.php:87
msgid "Attachments"
@@ -4878,11 +4925,11 @@ msgstr "Avis sur lesquels cette pièce jointe apparaît."
msgid "Tags for this attachment"
msgstr "Marques de cette pièce jointe"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "La modification du mot de passe a échoué"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "La modification du mot de passe n’est pas autorisée"
@@ -5191,20 +5238,20 @@ msgstr ""
"tracks - pas encore implémenté.\n"
"tracking - pas encore implémenté.\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Aucun fichier de configuration n’a été trouvé. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
"J’ai cherché des fichiers de configuration dans les emplacements suivants : "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Vous pouvez essayer de lancer l’installeur pour régler ce problème."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Aller au programme d’installation"
@@ -5221,13 +5268,12 @@ msgid "Updates by SMS"
msgstr "Suivi des avis par SMS"
#: lib/connectsettingsaction.php:120
-#, fuzzy
msgid "Connections"
-msgstr "Connecter"
+msgstr "Connexions"
#: lib/connectsettingsaction.php:121
msgid "Authorized connected applications"
-msgstr ""
+msgstr "Applications autorisées connectées"
#: lib/dberroraction.php:60
msgid "Database error"
@@ -5855,23 +5901,23 @@ msgstr "O"
msgid "at"
msgstr "chez"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "dans le contexte"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Repris par"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Répondre à cet avis"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Répondre"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Avis repris"
@@ -6012,6 +6058,10 @@ msgstr "Reprendre cet avis ?"
msgid "Repeat this notice"
msgstr "Reprendre cet avis"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Bac à sable"
@@ -6177,47 +6227,47 @@ msgstr "Message"
msgid "Moderate"
msgstr "Modérer"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "il y a quelques secondes"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "il y a 1 minute"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "il y a %d minutes"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "il y a 1 heure"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "il y a %d heures"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "il y a 1 jour"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "il y a %d jours"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "il y a 1 mois"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "il y a %d mois"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "il y a environ 1 an"
diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po
index 611c3f379..1a129f69a 100644
--- a/locale/ga/LC_MESSAGES/statusnet.po
+++ b/locale/ga/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:56+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:42+0000\n"
"Language-Team: Irish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ga\n"
"X-Message-Group: out-statusnet\n"
@@ -65,11 +65,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Gardar"
@@ -100,7 +101,7 @@ msgstr "Non existe a etiqueta."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -157,7 +158,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -182,7 +183,7 @@ msgstr "Actualizacións dende %1$s e amigos en %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -368,12 +369,12 @@ msgstr ""
"Dous identificadores de usuario ou nomes_en_pantalla deben ser "
"proporcionados."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Non se pudo recuperar a liña de tempo publica."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Non se puido atopar ningún estado"
@@ -396,8 +397,8 @@ msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
msgid "Not a valid nickname."
msgstr "Non é un alcume válido."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -409,8 +410,8 @@ msgstr "A páxina persoal semella que non é unha URL válida."
msgid "Full name is too long (max 255 chars)."
msgstr "O nome completo é demasiado longo (max 255 car)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "O teu Bio é demasiado longo (max 140 car.)."
@@ -488,18 +489,23 @@ msgstr ""
msgid "groups on %s"
msgstr "Outras opcions"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Tamaño inválido."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -510,84 +516,85 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Usuario ou contrasinal inválidos."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Acounteceu un erro configurando o usuario."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Erro ó inserir o hashtag na BD: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Envio de formulario non esperada."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "Sobre"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Alcume"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contrasinal"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Todos"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -763,8 +770,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
#, fuzzy
msgid "Delete"
msgstr "eliminar"
@@ -817,8 +824,9 @@ msgstr ""
"do teur perfil, non será capaz de suscribirse a ti nun futuro, e non vas a "
"ser notificado de ningunha resposta-@ del."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -827,9 +835,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "Bloquear usuario"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Si"
@@ -940,6 +948,51 @@ msgstr "Código de confirmación."
msgid "Notices"
msgstr "Chíos"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "O chío non ten perfil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Non estás suscrito a ese perfil"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+#, fuzzy
+msgid "There was a problem with your session token."
+msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Ningún chío."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Non se pode eliminar este chíos."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Eliminar chío"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -976,7 +1029,7 @@ msgstr "Estas seguro que queres eliminar este chío?"
msgid "Do not delete this notice"
msgstr "Non se pode eliminar este chíos."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
#, fuzzy
msgid "Delete this notice"
msgstr "Eliminar chío"
@@ -1130,7 +1183,7 @@ msgstr "Este chío non é un favorito!"
msgid "Add to favorites"
msgstr "Engadir a favoritos"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Ningún documento."
@@ -1145,23 +1198,12 @@ msgstr "Outras opcions"
msgid "You must be logged in to edit an application."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Non estás suscrito a ese perfil"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Ningún chío."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-#, fuzzy
-msgid "There was a problem with your session token."
-msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1174,47 +1216,52 @@ msgstr ""
msgid "Name is required."
msgstr "A mesma contrasinal que arriba. Requerido."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "O nome completo é demasiado longo (max 255 car)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Subscricións"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "A páxina persoal semella que non é unha URL válida."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "A localización é demasiado longa (max 255 car.)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Non se puido actualizar o usuario."
@@ -1294,8 +1341,8 @@ msgstr ""
"a %s á túa lista de contactos?)"
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancelar"
@@ -2164,11 +2211,11 @@ msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Non se puido crear o favorito."
@@ -2303,29 +2350,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Non estás suscrito a ese perfil"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2721,7 +2768,7 @@ msgid "Full name"
msgstr "Nome completo"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Páxina persoal"
@@ -2851,39 +2898,39 @@ msgstr "Liña de tempo pública"
msgid "Public timeline"
msgstr "Liña de tempo pública"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Sindicación do Fio Público"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Sindicación do Fio Público"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Sindicación do Fio Público"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2896,7 +2943,7 @@ msgstr ""
"(http://status.net/). [Únete agora](%%action.register%%) para compartir "
"chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3270,7 +3317,7 @@ msgstr "Non podes rexistrarte se non estas de acordo coa licenza."
msgid "You already repeated that notice."
msgstr "Xa bloqueaches a este usuario."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Crear"
@@ -3332,6 +3379,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Mensaxe de %1$s en %2$s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Avatar actualizado."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3342,6 +3394,37 @@ msgstr "Non podes enviar mensaxes a este usurio."
msgid "User is already sandboxed."
msgstr "O usuario bloqueoute."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Configuracións de Twitter"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3352,23 +3435,23 @@ msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
msgid "Application profile"
msgstr "O chío non ten perfil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Alcume"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Invitación(s) enviada(s)."
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "Subscricións"
@@ -3380,42 +3463,42 @@ msgstr "Estatísticas"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3635,25 +3718,25 @@ msgstr "Fonte de chíos para %s"
msgid "FOAF for %s"
msgstr "Band. Saída para %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3666,7 +3749,7 @@ msgstr ""
"(http://status.net/). [Únete agora](%%action.register%%) para compartir "
"chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3678,7 +3761,7 @@ msgstr ""
"(http://status.net/). [Únete agora](%%action.register%%) para compartir "
"chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Replies to %s"
@@ -3839,11 +3922,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Configuracións de Twitter"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4157,91 +4235,71 @@ msgstr "Usuario"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "Invitar a novos usuarios"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Tódalas subscricións"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Suscribirse automáticamente a calquera que se suscriba a min (o mellor para "
"non humáns)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Invitación(s) enviada(s)."
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Invitación(s) enviada(s)."
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Subscrición de autorización."
@@ -4395,11 +4453,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Avatar actualizado."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4528,22 +4581,22 @@ msgstr "Tes restrinxido o envio de chíos neste sitio."
msgid "Problem saving notice."
msgstr "Aconteceu un erro ó gardar o chío."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Aconteceu un erro ó gardar o chío."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Erro ó inserir a contestación na BD: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Mensaxe de %1$s en %2$s"
@@ -4841,68 +4894,82 @@ msgstr "Confirmación de SMS"
msgid "Paths configuration"
msgstr "Confirmación de SMS"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Confirmación de SMS"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Fonte"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "Enderezo da túa páxina persoal, blogue, ou perfil noutro sitio"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "Enderezo da túa páxina persoal, blogue, ou perfil noutro sitio"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4932,12 +4999,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Contrasinal gardada."
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Contrasinal gardada."
@@ -5248,20 +5315,20 @@ msgstr ""
"tracks - non implementado por agora.\n"
"tracking - non implementado por agora.\n"
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Sen código de confirmación."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5899,27 +5966,27 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "Sen contido!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Crear"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
#, fuzzy
msgid "Reply to this notice"
msgstr "Non se pode eliminar este chíos."
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
#, fuzzy
msgid "Reply"
msgstr "contestar"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Chío publicado"
@@ -6074,6 +6141,10 @@ msgstr "Non se pode eliminar este chíos."
msgid "Repeat this notice"
msgstr "Non se pode eliminar este chíos."
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6257,47 +6328,47 @@ msgstr "Nova mensaxe"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "fai uns segundos"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "fai un minuto"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "fai %d minutos"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "fai unha hora"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "fai %d horas"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "fai un día"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "fai %d días"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "fai un mes"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "fai %d meses"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "fai un ano"
diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po
index ef9db6e29..0b46e0588 100644
--- a/locale/he/LC_MESSAGES/statusnet.po
+++ b/locale/he/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:58:59+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:45+0000\n"
"Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n"
"X-Message-Group: out-statusnet\n"
@@ -62,11 +62,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "שמור"
@@ -97,7 +98,7 @@ msgstr "×ין הודעה כזו."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -154,7 +155,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -179,7 +180,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -359,12 +360,12 @@ msgstr "עידכון המשתמש נכשל."
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "עידכון המשתמש נכשל."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "עידכון המשתמש נכשל."
@@ -387,8 +388,8 @@ msgstr "כינוי ×–×” כבר תפוס. נסה כינוי ×חר."
msgid "Not a valid nickname."
msgstr "×©× ×ž×©×ª×ž×© ×œ× ×—×•×§×™."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -400,8 +401,8 @@ msgstr "ל×תר הבית יש כתובת ×œ× ×—×•×§×™×ª."
msgid "Full name is too long (max 255 chars)."
msgstr "×”×©× ×”×ž×œ× ×רוך מידי (מותרות 255 ×ותיות בלבד)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "הביוגרפיה ×רוכה מידי (לכל היותר 140 ×ותיות)"
@@ -481,18 +482,23 @@ msgstr ""
msgid "groups on %s"
msgstr ""
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "גודל ×œ× ×—×•×§×™."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -503,83 +509,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "×©× ×”×ž×©×ª×ž×© ×ו הסיסמה ×œ× ×—×•×§×™×™×"
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "שגי××” ביצירת ×©× ×”×ž×©×ª×ž×©."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "שגי×ת מסד × ×ª×•× ×™× ×‘×”×›× ×¡×ª התגובה: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "הגשת טופס ×œ× ×¦×¤×•×™×”."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "×ודות"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "כינוי"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "סיסמה"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -755,8 +762,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
#, fuzzy
msgid "Delete"
msgstr "מחק"
@@ -807,8 +814,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "ל×"
@@ -817,9 +825,9 @@ msgstr "ל×"
msgid "Do not block this user"
msgstr "×ין משתמש ×›×–×”."
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "כן"
@@ -929,6 +937,50 @@ msgstr "מיקו×"
msgid "Notices"
msgstr "הודעות"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "עידכון המשתמש נכשל."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "להודעה ×ין פרופיל"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "×ין הודעה כזו."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "×ין הודעה כזו."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "ת×ר ×ת עצמך ו×ת נוש××™ העניין שלך ב-140 ×ותיות"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -962,7 +1014,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "×ין הודעה כזו."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr ""
@@ -1116,7 +1168,7 @@ msgstr ""
msgid "Add to favorites"
msgstr "מועדפי×"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "×ין מסמך ×›×–×”."
@@ -1130,22 +1182,12 @@ msgstr "להודעה ×ין פרופיל"
msgid "You must be logged in to edit an application."
msgstr ""
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "×ין הודעה כזו."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1154,47 +1196,52 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "×”×©× ×”×ž×œ× ×רוך מידי (מותרות 255 ×ותיות בלבד)"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "כינוי ×–×” כבר תפוס. נסה כינוי ×חר."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "הרשמות"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "ל×תר הבית יש כתובת ×œ× ×—×•×§×™×ª."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "×©× ×”×ž×™×§×•× ×רוך מידי (מותר עד 255 ×ותיות)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "עידכון המשתמש נכשל."
@@ -1269,8 +1316,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "בטל"
@@ -2100,11 +2147,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "שמירת מידע התמונה נכשל"
@@ -2234,29 +2281,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2648,7 +2695,7 @@ msgid "Full name"
msgstr "×©× ×ž×œ×"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "×תר בית"
@@ -2775,39 +2822,39 @@ msgstr "קו זמן ציבורי"
msgid "Public timeline"
msgstr "קו זמן ציבורי"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "הזנת ×–×¨× ×”×¦×™×‘×•×¨×™"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "הזנת ×–×¨× ×”×¦×™×‘×•×¨×™"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "הזנת ×–×¨× ×”×¦×™×‘×•×¨×™"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2816,7 +2863,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3156,7 +3203,7 @@ msgstr "×œ× × ×™×ª×Ÿ ×œ×”×™×¨×©× ×œ×œ× ×”×¡×›×ž×” לרשיון"
msgid "You already repeated that notice."
msgstr "כבר נכנסת למערכת!"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "צור"
@@ -3218,6 +3265,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "תגובת עבור %s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "התמונה עודכנה."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3228,6 +3280,37 @@ msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
msgid "User is already sandboxed."
msgstr "למשתמש ×ין פרופיל."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "הגדרות"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3237,23 +3320,23 @@ msgstr ""
msgid "Application profile"
msgstr "להודעה ×ין פרופיל"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "כינוי"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "מיקו×"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "הרשמות"
@@ -3265,42 +3348,42 @@ msgstr "סטטיסטיקה"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3510,25 +3593,25 @@ msgstr "הזנת הודעות של %s"
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3537,7 +3620,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3545,7 +3628,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "תגובת עבור %s"
@@ -3702,11 +3785,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "הגדרות"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4014,88 +4092,68 @@ msgstr "מתשמש"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "פרופיל"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "מחק"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "כל המנויי×"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "ההרשמה ×ושרה"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "מיקו×"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "×שר מנוי"
@@ -4246,11 +4304,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "התמונה עודכנה."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4374,22 +4427,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "בעיה בשמירת ההודעה."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "בעיה בשמירת ההודעה."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "שגי×ת מסד × ×ª×•× ×™× ×‘×”×›× ×¡×ª התגובה: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4677,68 +4730,82 @@ msgstr "הרשמות"
msgid "Paths configuration"
msgstr "הרשמות"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "הרשמות"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "ת×ר ×ת עצמך ו×ת נוש××™ העניין שלך ב-140 ×ותיות"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "ת×ר ×ת עצמך ו×ת נוש××™ העניין שלך ב-140 ×ותיות"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "מקור"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "הכתובת של ×תר הבית שלך, בלוג, ×ו פרופיל ב×תר ×חר "
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "הכתובת של ×תר הבית שלך, בלוג, ×ו פרופיל ב×תר ×חר "
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4768,12 +4835,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "הסיסמה נשמרה."
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "הסיסמה נשמרה."
@@ -5046,20 +5113,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "×ין קוד ×ישור."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5635,26 +5702,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "×ין תוכן!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "צור"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
#, fuzzy
msgid "Reply"
msgstr "הגב"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "הודעות"
@@ -5803,6 +5870,10 @@ msgstr "×ין הודעה כזו."
msgid "Repeat this notice"
msgstr "×ין הודעה כזו."
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5982,47 +6053,47 @@ msgstr "הודעה חדשה"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "לפני מספר שניות"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "לפני כדקה"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "לפני כ-%d דקות"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "לפני כשעה"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "לפני כ-%d שעות"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "לפני כיו×"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "לפני ×›-%d ימי×"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "לפני כחודש"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "לפני ×›-%d חודשי×"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "לפני כשנה"
diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po
index f942d8b63..dfc9bcb24 100644
--- a/locale/hsb/LC_MESSAGES/statusnet.po
+++ b/locale/hsb/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:02+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:20:49+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hsb\n"
"X-Message-Group: out-statusnet\n"
@@ -62,11 +62,12 @@ msgstr "Nowe registrowanja znjemóžnić."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Składować"
@@ -96,7 +97,7 @@ msgstr "Strona njeeksistuje"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -153,7 +154,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -177,7 +178,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -349,11 +350,11 @@ msgstr "Njemóžeš slědowanje swójskich aktiwitow blokować."
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr ""
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr ""
@@ -375,8 +376,8 @@ msgstr "Přimjeno so hižo wužiwa. Spytaj druhe."
msgid "Not a valid nickname."
msgstr "Žane płaćiwe přimjeno."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -388,8 +389,8 @@ msgstr "Startowa strona njeje płaćiwy URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Dospołne mjeno je předołho (maks. 255 znamješkow)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Wopisanje je předołho (maks. %d znamješkow)."
@@ -466,18 +467,23 @@ msgstr ""
msgid "groups on %s"
msgstr "skupiny na %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Njepłaćiwa wulkosć."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -488,79 +494,82 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Njepłaćiwe přimjeno abo hesło!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
-msgstr ""
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
+msgstr "Zmylk datoweje banki při zasunjenju wužiwarja OAuth-aplikacije."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+#, fuzzy
+msgid "Database error inserting OAuth application user."
msgstr "Zmylk datoweje banki při zasunjenju wužiwarja OAuth-aplikacije."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Konto"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Přimjeno"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Hesło"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Wotpokazać"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Dowolić"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -730,8 +739,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Přehlad"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "ZniÄić"
@@ -778,8 +787,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "NÄ›"
@@ -787,9 +797,9 @@ msgstr "NÄ›"
msgid "Do not block this user"
msgstr "Tutoho wužiwarja njeblokować"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Haj"
@@ -893,6 +903,49 @@ msgstr "Konwersacija"
msgid "Notices"
msgstr "Zdźělenki"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Dyrbiš přizjewjeny być, zo by skupinu wobdźěłał."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Aplikaciski profil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Njejsy wobsedźer tuteje aplikacije."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Aplikacija njeeksistuje."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Tutu zdźělenku njewušmórnyć"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Tutu zdźělenku wušmórnyć"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -925,7 +978,7 @@ msgstr "Chceš woprawdźe tutu zdźělenku wušmórnyć?"
msgid "Do not delete this notice"
msgstr "Tutu zdźělenku njewušmórnyć"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Tutu zdźělenku wušmórnyć"
@@ -1066,7 +1119,7 @@ msgstr "Tuta zdźělenka faworit njeje!"
msgid "Add to favorites"
msgstr "K faworitam přidać"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Dokument njeeksistuje."
@@ -1080,20 +1133,11 @@ msgstr "Aplikacije OAuth"
msgid "You must be logged in to edit an application."
msgstr "Dyrbiš přizjewjeny być, zo by skupinu wobdźěłał."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Njejsy wobsedźer tuteje aplikacije."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Aplikacija njeeksistuje."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "Wužij tutón formular, zo by aplikaciju wobdźěłał."
@@ -1102,43 +1146,48 @@ msgstr "Wužij tutón formular, zo by aplikaciju wobdźěłał."
msgid "Name is required."
msgstr "Mjeno je trěbne."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "Mjeno je předołho (maks. 255 znamješkow)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Přimjeno so hižo wužiwa. Spytaj druhe."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "Wopisanje je trěbne."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "URL žórła płaćiwy njeje."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "Mjeno organizacije je předołho (maks. 255 znamješkow)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Aplikacija njeda so aktualizować."
@@ -1208,8 +1257,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Přetorhnyć"
@@ -1997,11 +2046,11 @@ msgstr "Dyrbiš přizjewjeny być, zo by aplikaciju registrował."
msgid "Use this form to register a new application."
msgstr "Wužij tutón formular, zo by nowu aplikaciju registrował."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Aplikacija njeda so wutworić."
@@ -2126,28 +2175,28 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Njejsy wužiwar tuteje aplikacije."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2515,7 +2564,7 @@ msgid "Full name"
msgstr "Dospołne mjeno"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Startowa strona"
@@ -2639,36 +2688,36 @@ msgstr ""
msgid "Public timeline"
msgstr ""
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2677,7 +2726,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3007,7 +3056,7 @@ msgstr "Njemóžeš swójsku zdźělenku wospjetować."
msgid "You already repeated that notice."
msgstr "Sy tutu zdźělenku hižo wospjetował."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Wospjetowany"
@@ -3067,6 +3116,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3075,6 +3128,37 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Posedźenja"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Designowe nastajenja za tute sydło StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Z posedźenjemi wobchadźeć"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Sydłowe nastajenja składować"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Dyrbiš přizjewjeny być, zo by sej aplikaciju wobhladał."
@@ -3083,21 +3167,21 @@ msgstr "Dyrbiš přizjewjeny być, zo by sej aplikaciju wobhladał."
msgid "Application profile"
msgstr "Aplikaciski profil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Mjeno"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "Organizacija"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Wopisanje"
@@ -3108,42 +3192,42 @@ msgstr "Statistika"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "URL awtorizować"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3348,25 +3432,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr "FOAF za %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3375,7 +3459,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3383,7 +3467,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr ""
@@ -3537,10 +3621,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Sydłowe nastajenja składować"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS-nastajenja"
@@ -3831,84 +3911,64 @@ msgstr "Wužiwar"
msgid "User settings for this StatusNet site."
msgstr "Wužiwarske nastajenja za sydło StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nowi wužiwarjo"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Powitanje noweho wužiwarja"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Powitanski tekst za nowych wužiwarjow (maks. 255 znamješkow)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Standardny abonement"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Přeprošenja"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Přeprošenja zmóžnjene"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Posedźenja"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Z posedźenjemi wobchadźeć"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4047,10 +4107,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4168,21 +4224,21 @@ msgstr ""
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:790
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4449,64 +4505,78 @@ msgstr "SMS-wobkrućenje"
msgid "Paths configuration"
msgstr ""
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS-wobkrućenje"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Wopisaj swoju aplikaciju z %d znamješkami"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Wopisaj swoju aplikaciju"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "URL žórła"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4534,11 +4604,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Změnjenje hesła je so njeporadźiło"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Změnjenje hesła njeje dowolene"
@@ -4806,19 +4876,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Žana konfiguraciska dataja namakana. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5369,23 +5439,23 @@ msgstr "Z"
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Wospjetowany wot"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Na tutu zdźělenku wotmołwić"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Wotmołwić"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Zdźělenka wospjetowana"
@@ -5526,6 +5596,10 @@ msgstr "Tutu zdźělenku wospjetować?"
msgid "Repeat this notice"
msgstr "Tutu zdźělenku wospjetować"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5691,47 +5765,47 @@ msgstr "Powěsć"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "před něšto sekundami"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "před něhdźe jednej mjeńšinu"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "před %d mjeńšinami"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "před něhdźe jednej hodźinu"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "před něhdźe %d hodźinami"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "před něhdźe jednym dnjom"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "před něhdźe %d dnjemi"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "před něhdźe jednym měsacom"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "před něhdźe %d měsacami"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "před něhdźe jednym lětom"
diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po
index 9dee94147..5bc157060 100644
--- a/locale/ia/LC_MESSAGES/statusnet.po
+++ b/locale/ia/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:06+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:00+0000\n"
"Language-Team: Interlingua\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: out-statusnet\n"
@@ -60,11 +60,12 @@ msgstr "Disactivar le creation de nove contos."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Salveguardar"
@@ -94,7 +95,7 @@ msgstr "Pagina non existe"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -157,7 +158,7 @@ msgstr ""
"Tu pote tentar [dar un pulsata a %s](../%s) in su profilo o [publicar un "
"message a su attention](%%%%action.newnotice%%%%?status_textarea=%s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -183,7 +184,7 @@ msgstr "Actualisationes de %1$s e su amicos in %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,11 +363,11 @@ msgstr "Tu non pote cessar de sequer te mesme!"
msgid "Two user ids or screen_names must be supplied."
msgstr "Duo IDs de usator o pseudonymos debe esser fornite."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Non poteva determinar le usator de origine."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Non poteva trovar le usator de destination."
@@ -388,8 +389,8 @@ msgstr "Pseudonymo ja in uso. Proba un altere."
msgid "Not a valid nickname."
msgstr "Non un pseudonymo valide."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -401,8 +402,8 @@ msgstr "Le pagina personal non es un URL valide."
msgid "Full name is too long (max 255 chars)."
msgstr "Le nomine complete es troppo longe (max. 255 characteres)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Description es troppo longe (max %d charachteres)."
@@ -479,18 +480,23 @@ msgstr "Gruppos de %s"
msgid "groups on %s"
msgstr "gruppos in %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Dimension invalide."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -501,83 +507,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Nomine de usator o contrasigno invalide."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Error durante le configuration del usator."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Error durante le configuration del usator."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Submission de formulario inexpectate."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr ""
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Pseudonymo"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contrasigno"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
msgstr "Apparentia"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -750,8 +757,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Previsualisation"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Deler"
@@ -801,8 +808,9 @@ msgstr ""
"cancellate, ille non potera resubscriber se a te in le futuro, e tu non "
"recipera notification de su @-responsas."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -810,9 +818,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "Non blocar iste usator"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Si"
@@ -917,6 +925,53 @@ msgstr "Conversation"
msgid "Notices"
msgstr "Notas"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Tu debe aperir un session pro modificar un gruppo."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Le nota ha nulle profilo"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Tu non es membro de iste gruppo."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Nota non trovate."
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Es tu secur de voler deler iste usator? Isto radera tote le datos super le "
+"usator del base de datos, sin copia de reserva."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Non deler iste nota"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Deler iste nota"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -951,7 +1006,7 @@ msgstr "Es tu secur de voler deler iste nota?"
msgid "Do not delete this notice"
msgstr "Non deler iste nota"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Deler iste nota"
@@ -1095,7 +1150,7 @@ msgstr "Iste nota non es favorite!"
msgid "Add to favorites"
msgstr "Adder al favorites"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Documento non existe."
@@ -1110,22 +1165,12 @@ msgstr "Le nota ha nulle profilo"
msgid "You must be logged in to edit an application."
msgstr "Tu debe aperir un session pro modificar un gruppo."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Tu non es membro de iste gruppo."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Nota non trovate."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1136,46 +1181,51 @@ msgstr "Usa iste formulario pro modificar le gruppo."
msgid "Name is required."
msgstr "Identic al contrasigno hic supra. Requisite."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Le nomine complete es troppo longe (max. 255 characteres)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Pseudonymo ja in uso. Proba un altere."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr ""
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Le pagina personal non es un URL valide."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Loco es troppo longe (max. 255 characteres)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Non poteva actualisar gruppo."
@@ -1250,8 +1300,8 @@ msgstr ""
"spam!) pro un message con ulterior instructiones."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancellar"
@@ -2119,11 +2169,11 @@ msgstr "Tu debe aperir un session pro crear un gruppo."
msgid "Use this form to register a new application."
msgstr "Usa iste formulario pro crear un nove gruppo."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Non poteva crear aliases."
@@ -2261,29 +2311,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Tu non es membro de iste gruppo."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2663,7 +2713,7 @@ msgid "Full name"
msgstr "Nomine complete"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Pagina personal"
@@ -2790,19 +2840,19 @@ msgstr "Chronologia public, pagina %d"
msgid "Public timeline"
msgstr "Chronologia public"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Syndication del fluxo public (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Syndication del fluxo public (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Syndication del fluxo public (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2811,11 +2861,11 @@ msgstr ""
"Isto es le chronologia public pro %%site.name%%, ma nulle persona ha ancora "
"scribite alique."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Sia le prime a publicar!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2823,7 +2873,7 @@ msgstr ""
"Proque non [registrar un conto](%%action.register%%) e devenir le prime a "
"publicar?"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2836,7 +2886,7 @@ msgstr ""
"[Inscribe te ora](%%action.register%%) pro condivider notas super te con "
"amicos, familia e collegas! ([Leger plus](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3202,7 +3252,7 @@ msgstr "Tu non pote repeter tu proprie nota."
msgid "You already repeated that notice."
msgstr "Tu ha ja repetite iste nota."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Repetite"
@@ -3268,6 +3318,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Responsas a %1$s in %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Stato delite."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Tu non pote mitter usatores in le cassa de sablo in iste sito."
@@ -3276,6 +3331,37 @@ msgstr "Tu non pote mitter usatores in le cassa de sablo in iste sito."
msgid "User is already sandboxed."
msgstr "Usator es ja in cassa de sablo."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Configuration del apparentia de iste sito StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Salveguardar configurationes del sito"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3286,22 +3372,22 @@ msgstr "Tu debe aperir un session pro quitar un gruppo."
msgid "Application profile"
msgstr "Le nota ha nulle profilo"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Pseudonymo"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr ""
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr ""
@@ -3312,42 +3398,42 @@ msgstr "Statisticas"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3569,12 +3655,12 @@ msgstr "Syndication de notas pro %s (Atom)"
msgid "FOAF for %s"
msgstr "Amico de un amico pro %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Isto es le chronologia pro %s, ma %s non ha ancora publicate alique."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3582,7 +3668,7 @@ msgstr ""
"Videva tu qualcosa de interessante recentemente? Tu non ha ancora publicate "
"alcun nota, dunque iste es un bon momento pro comenciar :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, fuzzy, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3591,7 +3677,7 @@ msgstr ""
"Tu pote tentar pulsar %s o [publicar un nota a su attention](%%%%action."
"newnotice%%%%?status_textarea=%s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3605,7 +3691,7 @@ msgstr ""
"pro sequer le notas de **%s** e multe alteres! ([Lege plus](%%%%doc.help%%%"
"%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3616,7 +3702,7 @@ msgstr ""
"(http://en.wikipedia.org/wiki/Microblog) a base del software libere "
"[StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Repetition de %s"
@@ -3773,10 +3859,6 @@ msgstr ""
"Quante tempore (in secundas) le usatores debe attender ante de poter "
"publicar le mesme cosa de novo."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Salveguardar configurationes del sito"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4079,84 +4161,64 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr ""
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr ""
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4295,11 +4357,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Stato delite."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4421,21 +4478,21 @@ msgstr ""
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:790
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4702,65 +4759,79 @@ msgstr ""
msgid "Paths configuration"
msgstr ""
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Nulle codice de confirmation."
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Describe te e tu interesses in %d characteres"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr ""
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "URL pro reporto"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4789,12 +4860,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Cambio del contrasigno"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Cambio del contrasigno"
@@ -5059,19 +5130,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5626,23 +5697,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Repetite per"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Nota delite."
@@ -5786,6 +5857,10 @@ msgstr "Repeter iste nota"
msgid "Repeat this notice"
msgstr "Repeter iste nota"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5951,47 +6026,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr ""
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr ""
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr ""
diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po
index 3db7dbdf0..32ce7ee57 100644
--- a/locale/is/LC_MESSAGES/statusnet.po
+++ b/locale/is/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:09+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:15+0000\n"
"Language-Team: Icelandic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: is\n"
"X-Message-Group: out-statusnet\n"
@@ -65,11 +65,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Vista"
@@ -100,7 +101,7 @@ msgstr "Ekkert þannig merki."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -157,7 +158,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -181,7 +182,7 @@ msgstr "Færslur frá %1$s og vinum á %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -363,11 +364,11 @@ msgstr "Gat ekki uppfært notanda."
msgid "Two user ids or screen_names must be supplied."
msgstr "Tvo notendakenni eða skjáarnöfn verða að vera uppgefin."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr ""
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr ""
@@ -389,8 +390,8 @@ msgstr "Stuttnefni nú þegar í notkun. Prófaðu eitthvað annað."
msgid "Not a valid nickname."
msgstr "Ekki tækt stuttnefni."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -402,8 +403,8 @@ msgstr "Heimasíða er ekki gild vefslóð."
msgid "Full name is too long (max 255 chars)."
msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "Lýsing er of löng (í mesta lagi 140 tákn)."
@@ -483,18 +484,23 @@ msgstr "Hópar %s"
msgid "groups on %s"
msgstr "Hópsaðgerðir"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ótæk stærð."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -505,83 +511,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Það kom upp vandamál með setutókann þinn. Vinsamlegast reyndu aftur."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Ótækt notendanafn eða lykilorð."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Villa kom upp í stillingu notanda."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Gagnagrunnsvilla við innsetningu myllumerkis: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Bjóst ekki við innsendingu eyðublaðs."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Aðgangur"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Stuttnefni"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Lykilorð"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Allt"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -753,8 +760,8 @@ msgstr "Upphafleg mynd"
msgid "Preview"
msgstr "Forsýn"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Eyða"
@@ -803,8 +810,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Nei"
@@ -813,9 +821,9 @@ msgstr "Nei"
msgid "Do not block this user"
msgstr "Opna á þennan notanda"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Já"
@@ -922,6 +930,50 @@ msgstr ""
msgid "Notices"
msgstr "Babl"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Babl hefur enga persónulega síðu"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Þú ert ekki meðlimur í þessum hópi."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Það komu upp vandamál varðandi setutókann þinn."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Ekkert svoleiðis babl."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Gat ekki uppfært hóp."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Eyða þessu babli"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -954,7 +1006,7 @@ msgstr "Ertu viss um að þú viljir eyða þessu babli?"
msgid "Do not delete this notice"
msgstr ""
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Eyða þessu babli"
@@ -1104,7 +1156,7 @@ msgstr "Þetta babl er ekki í uppáhaldi!"
msgid "Add to favorites"
msgstr "Bæta við sem uppáhaldsbabli"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Ekkert svoleiðis skjal."
@@ -1119,22 +1171,12 @@ msgstr "Aðrir valkostir"
msgid "You must be logged in to edit an application."
msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Þú ert ekki meðlimur í þessum hópi."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Ekkert svoleiðis babl."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Það komu upp vandamál varðandi setutókann þinn."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1145,47 +1187,52 @@ msgstr "Notaðu þetta eyðublað til að breyta hópnum."
msgid "Name is required."
msgstr "Sama og lykilorðið hér fyrir ofan. Nauðsynlegt."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Stuttnefni nú þegar í notkun. Prófaðu eitthvað annað."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Lýsing"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Heimasíða er ekki gild vefslóð."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Gat ekki uppfært hóp."
@@ -1260,8 +1307,8 @@ msgstr ""
"ruslpóstinn þinn!). Þar ættu að vera skilaboð með ítarlegri leiðbeiningum."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Hætta við"
@@ -2117,11 +2164,11 @@ msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
msgid "Use this form to register a new application."
msgstr "Notaðu þetta eyðublað til að búa til nýjan hóp."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Gat ekki búið til uppáhald."
@@ -2255,29 +2302,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Þú ert ekki meðlimur í þessum hópi."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2668,7 +2715,7 @@ msgid "Full name"
msgstr "Fullt nafn"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Heimasíða"
@@ -2800,36 +2847,36 @@ msgstr "Almenningsrás, síða %d"
msgid "Public timeline"
msgstr "Almenningsrás"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2838,7 +2885,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3202,7 +3249,7 @@ msgstr "Þú getur ekki nýskráð þig nema þú samþykkir leyfið."
msgid "You already repeated that notice."
msgstr "Þú hefur nú þegar lokað á þennan notanda."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "à sviðsljósinu"
@@ -3263,6 +3310,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Skilaboð til %1$s á %2$s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Tölfræði"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3272,6 +3324,37 @@ msgstr "Þú getur ekki sent þessum notanda skilaboð."
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Stillingar fyrir mynd"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3282,23 +3365,23 @@ msgstr "Þú verður aða hafa skráð þig inn til að ganga úr hóp."
msgid "Application profile"
msgstr "Babl hefur enga persónulega síðu"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Stuttnefni"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Uppröðun"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Lýsing"
@@ -3309,42 +3392,42 @@ msgstr "Tölfræði"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3550,25 +3633,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3577,7 +3660,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3585,7 +3668,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Svör við %s"
@@ -3745,11 +3828,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Stillingar fyrir mynd"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4058,91 +4136,71 @@ msgstr "Notandi"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Persónuleg síða"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "Bjóða nýjum notendum að vera með"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Allar áskriftir"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Gerast sjálfkrafa áskrifandi að hverjum þeim sem gerist áskrifandi að þér "
"(best fyrir ómannlega notendur)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Boðskort hefur verið sent út"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Boðskort hefur verið sent út"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Heimila áskriftir"
@@ -4292,11 +4350,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Tölfræði"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4421,22 +4474,22 @@ msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu."
msgid "Problem saving notice."
msgstr "Vandamál komu upp við að vista babl."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Vandamál komu upp við að vista babl."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Gagnagrunnsvilla við innsetningu svars: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4720,68 +4773,82 @@ msgstr "SMS staðfesting"
msgid "Paths configuration"
msgstr "SMS staðfesting"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS staðfesting"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Lýstu hópnum eða umfjöllunarefninu með 140 táknum"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Lýstu hópnum eða umfjöllunarefninu með 140 táknum"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Frumþula"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "Vefslóð vefsíðu hópsins eða umfjöllunarefnisins"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "Vefslóð vefsíðu hópsins eða umfjöllunarefnisins"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4810,12 +4877,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Lykilorðabreyting"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Lykilorðabreyting"
@@ -5086,20 +5153,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Enginn staðfestingarlykill."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "Skrá þig inn á síðuna"
@@ -5671,24 +5738,24 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "à sviðsljósinu"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Svara þessu babli"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Svara"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Babl sent inn"
@@ -5836,6 +5903,10 @@ msgstr "Svara þessu babli"
msgid "Repeat this notice"
msgstr "Svara þessu babli"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6009,47 +6080,47 @@ msgstr "Skilaboð"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "fyrir nokkrum sekúndum"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "fyrir um einni mínútu síðan"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "fyrir um %d mínútum síðan"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "fyrir um einum klukkutíma síðan"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "fyrir um %d klukkutímum síðan"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "fyrir um einum degi síðan"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "fyrir um %d dögum síðan"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "fyrir um einum mánuði síðan"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "fyrir um %d mánuðum síðan"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "fyrir um einu ári síðan"
diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po
index d43f70814..43b1756ae 100644
--- a/locale/it/LC_MESSAGES/statusnet.po
+++ b/locale/it/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:12+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:24+0000\n"
"Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: it\n"
"X-Message-Group: out-statusnet\n"
@@ -25,14 +25,12 @@ msgid "Access"
msgstr "Accesso"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Salva impostazioni"
+msgstr "Impostazioni di accesso al sito"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "Registra"
+msgstr "Registrazione"
#: actions/accessadminpanel.php:161
msgid "Private"
@@ -63,18 +61,18 @@ msgstr "Disabilita la creazione di nuovi account"
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Salva"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Salva impostazioni"
+msgstr "Salva impostazioni di accesso"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -97,7 +95,7 @@ msgstr "Pagina inesistente."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -108,9 +106,9 @@ msgid "No such user."
msgstr "Utente inesistente."
#: actions/all.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s and friends, page %2$d"
-msgstr "Profili bloccati di %1$s, pagina %2$d"
+msgstr "%1$s e amici, pagina %2$d"
#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
@@ -161,7 +159,7 @@ msgstr ""
"qualche cosa alla sua attenzione](%%%%action.newnotice%%%%?status_textarea=%3"
"$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -187,7 +185,7 @@ msgstr "Messaggi da %1$s e amici su %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -363,11 +361,11 @@ msgstr "Non puoi non seguirti."
msgid "Two user ids or screen_names must be supplied."
msgstr "Devono essere forniti due ID utente o nominativi."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Impossibile determinare l'utente sorgente."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Impossibile trovare l'utente destinazione."
@@ -391,8 +389,8 @@ msgstr "Soprannome già in uso. Prova con un altro."
msgid "Not a valid nickname."
msgstr "Non è un soprannome valido."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -404,8 +402,8 @@ msgstr "L'indirizzo della pagina web non è valido."
msgid "Full name is too long (max 255 chars)."
msgstr "Nome troppo lungo (max 255 caratteri)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "La descrizione è troppo lunga (max %d caratteri)."
@@ -482,18 +480,23 @@ msgstr "Gruppi di %s"
msgid "groups on %s"
msgstr "Gruppi su %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Dimensione non valida."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -505,86 +508,86 @@ msgid "There was a problem with your session token. Try again, please."
msgstr ""
"Si è verificato un problema con il tuo token di sessione. Prova di nuovo."
-#: actions/apioauthauthorize.php:146
-#, fuzzy
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Nome utente o password non valido."
-#: actions/apioauthauthorize.php:170
-#, fuzzy
-msgid "DB error deleting OAuth app user."
-msgstr "Errore nell'impostare l'utente."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
+msgstr "Errore nel database nell'eliminare l'applicazione utente OAuth."
-#: actions/apioauthauthorize.php:196
-#, fuzzy
-msgid "DB error inserting OAuth app user."
-msgstr "Errore del DB nell'inserire un hashtag: %s"
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
+msgstr "Errore nel database nell'inserire l'applicazione utente OAuth."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
+"Il token di richiesta %s è stato autorizzato. Scambiarlo con un token di "
+"accesso."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
-msgstr ""
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
+msgstr "Il token di richiesta %s è stato rifiutato."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Invio del modulo inaspettato."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
-msgstr ""
+msgstr "Un'applicazione vorrebbe collegarsi al tuo account"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
-msgstr ""
+msgstr "Consenti o nega l'accesso"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Account"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Soprannome"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Password"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
-msgstr "Aspetto"
+msgstr "Nega"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
-msgstr "Tutto"
+msgstr "Consenti"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
-msgstr ""
+msgstr "Consenti o nega l'accesso alle informazioni del tuo account."
#: actions/apistatusesdestroy.php:107
msgid "This method requires a POST or DELETE."
@@ -753,8 +756,8 @@ msgstr "Originale"
msgid "Preview"
msgstr "Anteprima"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Elimina"
@@ -804,8 +807,9 @@ msgstr ""
"tuoi messaggi, non potrà più abbonarsi e non riceverai notifica delle @-"
"risposte che ti invierà."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -813,9 +817,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "Non bloccare questo utente"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sì"
@@ -920,6 +924,53 @@ msgstr "Conversazione"
msgid "Notices"
msgstr "Messaggi"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Devi eseguire l'accesso per modificare un gruppo."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Il messaggio non ha un profilo"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Non fai parte di questo gruppo."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Si è verificato un problema con il tuo token di sessione."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Nessun messaggio."
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Vuoi eliminare questo utente? Questa azione eliminerà tutti i dati "
+"dell'utente dal database, senza una copia di sicurezza."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Non eliminare il messaggio"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Elimina questo messaggio"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -954,7 +1005,7 @@ msgstr "Vuoi eliminare questo messaggio?"
msgid "Do not delete this notice"
msgstr "Non eliminare il messaggio"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Elimina questo messaggio"
@@ -1098,7 +1149,7 @@ msgstr "Questo messaggio non è un preferito!"
msgid "Add to favorites"
msgstr "Aggiungi ai preferiti"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Nessun documento."
@@ -1113,22 +1164,12 @@ msgstr "Altre opzioni"
msgid "You must be logged in to edit an application."
msgstr "Devi eseguire l'accesso per modificare un gruppo."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Non fai parte di questo gruppo."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Nessun messaggio."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Si è verificato un problema con il tuo token di sessione."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1139,48 +1180,53 @@ msgstr "Usa questo modulo per modificare il gruppo."
msgid "Name is required."
msgstr "Stessa password di sopra; richiesta"
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Nome troppo lungo (max 255 caratteri)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Soprannome già in uso. Prova con un altro."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Descrizione"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "L'URL \"%s\" dell'immagine non è valido."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Ubicazione troppo lunga (max 255 caratteri)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
#, fuzzy
msgid "Callback URL is not valid."
msgstr "L'URL \"%s\" dell'immagine non è valido."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Impossibile aggiornare il gruppo."
@@ -1254,8 +1300,8 @@ msgstr ""
"istruzioni."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Annulla"
@@ -2119,11 +2165,11 @@ msgstr "Devi eseguire l'accesso per creare un gruppo."
msgid "Use this form to register a new application."
msgstr "Usa questo modulo per creare un nuovo gruppo."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Impossibile creare gli alias."
@@ -2259,29 +2305,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Non fai parte di quel gruppo."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2664,7 +2710,7 @@ msgid "Full name"
msgstr "Nome"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Pagina web"
@@ -2791,19 +2837,19 @@ msgstr "Attività pubblica, pagina %d"
msgid "Public timeline"
msgstr "Attività pubblica"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Feed dell'attività pubblica (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Feed dell'attività pubblica (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Feed dell'attività pubblica (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2812,18 +2858,18 @@ msgstr ""
"Questa è l'attività pubblica di %%site.name%%, ma nessuno ha ancora scritto "
"qualche cosa."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Fallo tu!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
"Perché non [crei un account](%%action.register%%) e scrivi qualche cosa!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2836,7 +2882,7 @@ msgstr ""
"net/). [Registrati](%%action.register%%) per condividere messaggi con i tuoi "
"amici, i tuoi familiari e colleghi! ([Maggiori informazioni](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3202,7 +3248,7 @@ msgstr "Non puoi ripetere i tuoi stessi messaggi."
msgid "You already repeated that notice."
msgstr "Hai già ripetuto quel messaggio."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Ripetuti"
@@ -3268,6 +3314,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Risposte a %1$s su %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Non puoi mettere in \"sandbox\" gli utenti su questo sito."
@@ -3276,6 +3326,37 @@ msgstr "Non puoi mettere in \"sandbox\" gli utenti su questo sito."
msgid "User is already sandboxed."
msgstr "L'utente è già nella \"sandbox\"."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessioni"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Impostazioni dell'aspetto per questo sito di StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Gestione sessioni"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Indica se gestire autonomamente le sessioni"
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Debug delle sessioni"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Abilita il debug per le sessioni"
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Salva impostazioni"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3286,22 +3367,22 @@ msgstr "Devi eseguire l'accesso per lasciare un gruppo."
msgid "Application profile"
msgstr "Il messaggio non ha un profilo"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Nome"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Paginazione"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Descrizione"
@@ -3312,43 +3393,43 @@ msgstr "Statistiche"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "Autore"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3413,7 +3494,7 @@ msgstr "Questo è un modo per condividere ciò che ti piace."
#: actions/showgroup.php:82 lib/groupnav.php:86
#, php-format
msgid "%s group"
-msgstr "Gruppi di %s"
+msgstr "Gruppo %s"
#: actions/showgroup.php:84
#, fuzzy, php-format
@@ -3569,12 +3650,12 @@ msgstr "Feed dei messaggi per %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF per %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Questa è l'attività di %1$s, ma %2$s non ha ancora scritto nulla."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3582,7 +3663,7 @@ msgstr ""
"Visto niente di interessante? Non hai scritto ancora alcun messaggio, questo "
"potrebbe essere un buon momento per iniziare! :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3591,7 +3672,7 @@ msgstr ""
"Puoi provare a richiamare %1$s o [scrivere qualche cosa che attiri la sua "
"attenzione](%%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3605,7 +3686,7 @@ msgstr ""
"i messaggi di **%s** e di molti altri! ([Maggiori informazioni](%%%%doc.help%"
"%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3616,7 +3697,7 @@ msgstr ""
"it.wikipedia.org/wiki/Microblogging) basato sul software libero [StatusNet]"
"(http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Ripetizione di %s"
@@ -3772,10 +3853,6 @@ msgstr ""
"Quanto tempo gli utenti devono attendere (in secondi) prima di inviare "
"nuovamente lo stesso messaggio"
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Salva impostazioni"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Impostazioni SMS"
@@ -4090,85 +4167,65 @@ msgstr "Utente"
msgid "User settings for this StatusNet site."
msgstr "Impostazioni utente per questo sito StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite per la biografia non valido. Deve essere numerico."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
"Testo di benvenuto non valido. La lunghezza massima è di 255 caratteri."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Abbonamento predefinito non valido: \"%1$s\" non è un utente."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profilo"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Limite biografia"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Lunghezza massima in caratteri della biografia"
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nuovi utenti"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Messaggio per nuovi utenti"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Messaggio di benvenuto per nuovi utenti (max 255 caratteri)"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Abbonamento predefinito"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Abbonare automaticamente i nuovi utenti a questo utente"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Inviti"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Inviti abilitati"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Indica se consentire agli utenti di invitarne di nuovi"
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessioni"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Gestione sessioni"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Indica se gestire autonomamente le sessioni"
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Debug delle sessioni"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Abilita il debug per le sessioni"
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autorizza abbonamento"
@@ -4319,10 +4376,6 @@ msgstr ""
"Questo sito esegue il software %1$s versione %2$s, Copyright 2008-2010 "
"StatusNet, Inc. e collaboratori."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Collaboratori"
@@ -4461,22 +4514,22 @@ msgstr "Ti è proibito inviare messaggi su questo sito."
msgid "Problem saving notice."
msgstr "Problema nel salvare il messaggio."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problema nel salvare il messaggio."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Errore del DB nell'inserire la risposta: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Benvenuti su %1$s, @%2$s!"
@@ -4748,68 +4801,82 @@ msgstr "Configurazione aspetto"
msgid "Paths configuration"
msgstr "Configurazione percorsi"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Configurazione aspetto"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Descrivi il gruppo o l'argomento in %d caratteri"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Descrivi il gruppo o l'argomento"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Sorgenti"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL della pagina web, blog del gruppo o l'argomento"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL della pagina web, blog del gruppo o l'argomento"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4838,11 +4905,11 @@ msgstr "Messaggi in cui appare questo allegato"
msgid "Tags for this attachment"
msgstr "Etichette per questo allegato"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Modifica della password non riuscita"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "La modifica della password non è permessa"
@@ -5148,21 +5215,21 @@ msgstr ""
"tracks - non ancora implementato\n"
"tracking - non ancora implementato\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Non è stato trovato alcun file di configurazione. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "I file di configurazione sono stati cercati in questi posti: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
"Potrebbe essere necessario lanciare il programma d'installazione per "
"correggere il problema."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Vai al programma d'installazione."
@@ -5808,23 +5875,23 @@ msgstr "O"
msgid "at"
msgstr "presso"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
-msgstr "nel contesto"
+msgstr "in una discussione"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Ripetuto da"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Rispondi a questo messaggio"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Rispondi"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Messaggio ripetuto"
@@ -5965,6 +6032,10 @@ msgstr "Ripetere questo messaggio?"
msgid "Repeat this notice"
msgstr "Ripeti questo messaggio"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Sandbox"
@@ -6130,47 +6201,47 @@ msgstr "Messaggio"
msgid "Moderate"
msgstr "Modera"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "pochi secondi fa"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "circa un minuto fa"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "circa %d minuti fa"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "circa un'ora fa"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "circa %d ore fa"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "circa un giorno fa"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "circa %d giorni fa"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "circa un mese fa"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "circa %d mesi fa"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "circa un anno fa"
diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po
index ba3d7ecae..9102808d8 100644
--- a/locale/ja/LC_MESSAGES/statusnet.po
+++ b/locale/ja/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:15+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:28+0000\n"
"Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ja\n"
"X-Message-Group: out-statusnet\n"
@@ -27,12 +27,10 @@ msgid "Access"
msgstr "アクセス"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "サイト設定ã®ä¿å­˜"
+msgstr "サイトアクセス設定"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
msgstr "登録"
@@ -63,18 +61,18 @@ msgstr "æ–°è¦ç™»éŒ²ã‚’無効。"
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "ä¿å­˜"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "サイト設定ã®ä¿å­˜"
+msgstr "アクセス設定ã®ä¿å­˜"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -97,7 +95,7 @@ msgstr "ãã®ã‚ˆã†ãªãƒšãƒ¼ã‚¸ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -158,7 +156,7 @@ msgstr ""
"プロフィールã‹ã‚‰ [%1$s ã•ã‚“ã«åˆå›³](../%2$s) ã—ãŸã‚Šã€[知らã›ãŸã„ã“ã¨ã«ã¤ã„ã¦æŠ•"
"稿](%%%%action.newnotice%%%%?status_textarea=%3$s) ã—ãŸã‚Šã§ãã¾ã™ã€‚"
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -184,7 +182,7 @@ msgstr "%2$s ã« %1$s ã¨å‹äººã‹ã‚‰ã®æ›´æ–°ãŒã‚ã‚Šã¾ã™ï¼"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -361,11 +359,11 @@ msgstr "自分自身をフォローåœæ­¢ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "Two user ids or screen_names must be supplied."
msgstr "ãµãŸã¤ã®ï¼©ï¼¤ã‹ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ãƒãƒ¼ãƒ ãŒå¿…è¦ã§ã™ã€‚"
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "ソースユーザーを決定ã§ãã¾ã›ã‚“。"
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "ターゲットユーザーを見ã¤ã‘られã¾ã›ã‚“。"
@@ -389,8 +387,8 @@ msgstr "ãã®ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã¯æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ä»–ã®ã‚‚ã®
msgid "Not a valid nickname."
msgstr "有効ãªãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -402,8 +400,8 @@ msgstr "ホームページã®URLãŒä¸é©åˆ‡ã§ã™ã€‚"
msgid "Full name is too long (max 255 chars)."
msgstr "フルãƒãƒ¼ãƒ ãŒé•·ã™ãŽã¾ã™ã€‚(255å­—ã¾ã§ï¼‰"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "記述ãŒé•·ã™ãŽã¾ã™ã€‚(最長140字)"
@@ -480,18 +478,23 @@ msgstr "%s グループ"
msgid "groups on %s"
msgstr "%s 上ã®ã‚°ãƒ«ãƒ¼ãƒ—"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "悪ã„è¦æ±‚。"
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "ä¸æ­£ãªã‚µã‚¤ã‚ºã€‚"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -502,19 +505,21 @@ msgstr "悪ã„è¦æ±‚。"
msgid "There was a problem with your session token. Try again, please."
msgstr "ã‚ãªãŸã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒˆãƒ¼ã‚¯ãƒ³ã«å•é¡ŒãŒã‚ã‚Šã¾ã—ãŸã€‚å†åº¦ãŠè©¦ã—ãã ã•ã„。"
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "ä¸æ­£ãªãƒ¦ãƒ¼ã‚¶åã¾ãŸã¯ãƒ‘スワード。"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
msgstr "OAuth アプリユーザã®å‰Šé™¤æ™‚DBエラー。"
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+#, fuzzy
+msgid "Database error inserting OAuth application user."
msgstr "OAuth アプリユーザã®è¿½åŠ æ™‚DBエラー。"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -523,60 +528,61 @@ msgstr ""
"リクエストトークン %s ã¯æ‰¿èªã•ã‚Œã¾ã—ãŸã€‚ アクセストークンã¨ãれを交æ›ã—ã¦ãã "
"ã•ã„。"
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "リクエストトークン%sã¯å¦å®šã•ã‚Œã¾ã—ãŸã€‚"
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "予期ã›ã¬ãƒ•ã‚©ãƒ¼ãƒ é€ä¿¡ã§ã™ã€‚"
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "アプリケーションã¯ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«æŽ¥ç¶šã—ãŸã„ã§ã™"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "アクセスを許å¯ã¾ãŸã¯æ‹’絶"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "アカウント"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "ニックãƒãƒ¼ãƒ "
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "パスワード"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "拒絶"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "許å¯"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "アカウント情報ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ã‹ã€ã¾ãŸã¯æ‹’絶ã—ã¦ãã ã•ã„。"
@@ -745,8 +751,8 @@ msgstr "オリジナル"
msgid "Preview"
msgstr "プレビュー"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "削除"
@@ -797,8 +803,9 @@ msgstr ""
"ãŸã‹ã‚‰ãƒ•ã‚©ãƒ­ãƒ¼ã‚’外ã•ã‚Œã‚‹ã§ã—ょã†ã€å°†æ¥ã€ã‚ãªãŸã«ãƒ•ã‚©ãƒ­ãƒ¼ã§ããªã„ã§ã€ã‚ãªãŸã¯"
"ã©ã‚“㪠@-返信 ã«ã¤ã„ã¦ã‚‚ãれらã‹ã‚‰é€šçŸ¥ã•ã‚Œãªã„ã§ã—ょã†ã€‚"
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "No"
@@ -806,9 +813,9 @@ msgstr "No"
msgid "Do not block this user"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’アンブロックã™ã‚‹"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Yes"
@@ -912,6 +919,52 @@ msgstr "会話"
msgid "Notices"
msgstr "ã¤ã¶ã‚„ã"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "アプリケーションを編集ã™ã‚‹ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "アプリケーション情報"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "ã“ã®ã‚¢ãƒ—リケーションã®ã‚ªãƒ¼ãƒŠãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "ã‚ãªãŸã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒˆãƒ¼ã‚¯ãƒ³ã«é–¢ã™ã‚‹å•é¡ŒãŒã‚ã‚Šã¾ã—ãŸã€‚"
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "アプリケーション編集"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"ã‚ãªãŸã¯æœ¬å½“ã«ã“ã®åˆ©ç”¨è€…を削除ã—ãŸã„ã§ã™ã‹? ã“ã‚Œã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãªã—ã§ãƒ‡ãƒ¼ã‚¿"
+"ベースã‹ã‚‰åˆ©ç”¨è€…ã«é–¢ã™ã‚‹ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚’クリアã—ã¾ã™ã€‚"
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "ã“ã®ã¤ã¶ã‚„ãを削除ã§ãã¾ã›ã‚“。"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "ã“ã®ã‚¢ãƒ—リケーションã®ã‚¢ã‚¤ã‚³ãƒ³"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -946,7 +999,7 @@ msgstr "本当ã«ã“ã®ã¤ã¶ã‚„ãを削除ã—ã¾ã™ã‹ï¼Ÿ"
msgid "Do not delete this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãを削除ã§ãã¾ã›ã‚“。"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãを削除"
@@ -1090,13 +1143,12 @@ msgstr "ã“ã®ã¤ã¶ã‚„ãã¯ãŠæ°—ã«å…¥ã‚Šã§ã¯ã‚ã‚Šã¾ã›ã‚“!"
msgid "Add to favorites"
msgstr "ãŠæ°—ã«å…¥ã‚Šã«åŠ ãˆã‚‹"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "ãã®ã‚ˆã†ãªãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯ã‚ã‚Šã¾ã›ã‚“。"
+msgstr "ãã®ã‚ˆã†ãªãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯ã‚ã‚Šã¾ã›ã‚“。\"%s\""
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "アプリケーション編集"
@@ -1104,20 +1156,11 @@ msgstr "アプリケーション編集"
msgid "You must be logged in to edit an application."
msgstr "アプリケーションを編集ã™ã‚‹ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "ã“ã®ã‚¢ãƒ—リケーションã®ã‚ªãƒ¼ãƒŠãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "ãã®ã‚ˆã†ãªã‚¢ãƒ—リケーションã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "ã‚ãªãŸã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒˆãƒ¼ã‚¯ãƒ³ã«é–¢ã™ã‚‹å•é¡ŒãŒã‚ã‚Šã¾ã—ãŸã€‚"
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’使ã£ã¦ã‚¢ãƒ—リケーションを編集ã—ã¾ã™ã€‚"
@@ -1126,43 +1169,48 @@ msgstr "ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’使ã£ã¦ã‚¢ãƒ—リケーションを編集ã—ã¾ã™
msgid "Name is required."
msgstr "åå‰ã¯å¿…é ˆã§ã™ã€‚"
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "åå‰ãŒé•·ã™ãŽã¾ã™ã€‚(最大255å­—ã¾ã§ï¼‰"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "ãã®ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã¯æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ä»–ã®ã‚‚ã®ã‚’試ã—ã¦ã¿ã¦ä¸‹ã•ã„。"
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "概è¦ãŒå¿…è¦ã§ã™ã€‚"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "ソースURLãŒé•·ã™ãŽã¾ã™ã€‚"
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "ソースURLãŒä¸æ­£ã§ã™ã€‚"
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "組織ãŒå¿…è¦ã§ã™ã€‚"
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "組織ãŒé•·ã™ãŽã¾ã™ã€‚(最大255字)"
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "組織ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ãŒå¿…è¦ã§ã™ã€‚"
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "コールãƒãƒƒã‚¯ãŒé•·ã™ãŽã¾ã™ã€‚"
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "コールãƒãƒƒã‚¯URLãŒä¸æ­£ã§ã™ã€‚"
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "アプリケーションを更新ã§ãã¾ã›ã‚“。"
@@ -1234,8 +1282,8 @@ msgstr ""
"ã‹ã‚ŒãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå±Šã„ã¦ã„ãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。"
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "中止"
@@ -1835,9 +1883,9 @@ msgid "That is not your Jabber ID."
msgstr "ãã® Jabber ID ã¯ã‚ãªãŸã®ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "%s ã®å—ä¿¡ç®±"
+msgstr "%1$s ã®å—ä¿¡ç®± - ページ %2$d"
#: actions/inbox.php:62
#, php-format
@@ -2083,7 +2131,6 @@ msgid "No current status"
msgstr "ç¾åœ¨ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¯ã‚ã‚Šã¾ã›ã‚“"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "æ–°ã—ã„アプリケーション"
@@ -2095,11 +2142,11 @@ msgstr "アプリケーションを登録ã™ã‚‹ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘
msgid "Use this form to register a new application."
msgstr "ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’使ã£ã¦æ–°ã—ã„アプリケーションを登録ã—ã¾ã™ã€‚"
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "ソースURLãŒå¿…è¦ã§ã™ã€‚"
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "アプリケーションを作æˆã§ãã¾ã›ã‚“。"
@@ -2232,30 +2279,30 @@ msgstr "ã‚ãªãŸãŒç™»éŒ²ã—ãŸã‚¢ãƒ—リケーション"
msgid "You have not registered any applications yet."
msgstr "ã‚ãªãŸã¯ã¾ã ãªã‚“ã®ã‚¢ãƒ—リケーションも登録ã—ã¦ã„ã¾ã›ã‚“。"
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "接続ã•ã‚ŒãŸã‚¢ãƒ—リケーション"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr "ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ä»¥ä¸‹ã®ã‚¢ãƒ—リケーションを許å¯ã—ã¾ã—ãŸã€‚"
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "ã‚ãªãŸã¯ãã®ã‚¢ãƒ—リケーションã®åˆ©ç”¨è€…ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "アプリケーションã®ãŸã‚ã®å–消ã—アクセスãŒã§ãã¾ã›ã‚“: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
"ã‚ãªãŸã¯ã€ã©ã‚“ãªã‚¢ãƒ—リケーションもã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’使用ã™ã‚‹ã®ã‚’èªå¯ã—ã¦ã„"
"ã¾ã›ã‚“。"
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr "開発者ã¯å½¼ã‚‰ã®ã‚¢ãƒ—リケーションã®ãŸã‚ã«ç™»éŒ²è¨­å®šã‚’編集ã§ãã¾ã™ "
@@ -2342,9 +2389,9 @@ msgid "Login token expired."
msgstr "ログイントークンãŒæœŸé™åˆ‡ã‚Œã§ã™ãƒ»"
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "%s ã®é€ä¿¡ç®±"
+msgstr "%1$s ã®é€ä¿¡ç®± - ページ %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2630,7 +2677,7 @@ msgid "Full name"
msgstr "フルãƒãƒ¼ãƒ "
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "ホームページ"
@@ -2756,19 +2803,19 @@ msgstr "パブリックタイムラインã€ãƒšãƒ¼ã‚¸ %d"
msgid "Public timeline"
msgstr "パブリックタイムライン"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "パブリックストリームフィード (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "パブリックストリームフィード (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "パブリックストリームフィード (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2777,11 +2824,11 @@ msgstr ""
"ã“れ㯠%%site.name%% ã®ãƒ‘ブリックタイムラインã§ã™ã€ã—ã‹ã—ã¾ã èª°ã‚‚投稿ã—ã¦ã„ã¾"
"ã›ã‚“。"
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "投稿ã™ã‚‹1番目ã«ãªã£ã¦ãã ã•ã„!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2789,7 +2836,7 @@ msgstr ""
"ãªãœ [アカウント登録](%%action.register%%) ã—ãªã„ã®ã§ã™ã‹ã€ãã—ã¦æœ€åˆã®æŠ•ç¨¿ã‚’"
"ã—ã¦ãã ã•ã„!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2803,7 +2850,7 @@ msgstr ""
"æ—ãã—ã¦åŒåƒšãªã©ã«ã¤ã„ã¦ã®ã¤ã¶ã‚„ãを共有ã—ã¾ã—ょã†! ([ã‚‚ã£ã¨èª­ã‚€](%%doc.help%"
"%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3166,7 +3213,7 @@ msgstr "自分ã®ã¤ã¶ã‚„ãã¯ç¹°ã‚Šè¿”ã›ã¾ã›ã‚“。"
msgid "You already repeated that notice."
msgstr "ã™ã§ã«ãã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¦ã„ã¾ã™ã€‚"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "ç¹°ã‚Šè¿”ã•ã‚ŒãŸ"
@@ -3181,9 +3228,9 @@ msgid "Replies to %s"
msgstr "%s ã¸ã®è¿”ä¿¡"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "%2$s 上㮠%1$s ã¸ã®è¿”ä¿¡!"
+msgstr "%1$s ã¸ã®è¿”ä¿¡ã€ãƒšãƒ¼ã‚¸ %2$s"
#: actions/replies.php:144
#, php-format
@@ -3232,6 +3279,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%2$s 上㮠%1$s ã¸ã®è¿”ä¿¡!"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã®ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ãƒ¦ãƒ¼ã‚¶ãŒã§ãã¾ã›ã‚“。"
@@ -3240,6 +3291,37 @@ msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã®ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ãƒ¦ãƒ¼ã‚¶ãŒã§ãã¾
msgid "User is already sandboxed."
msgstr "利用者ã¯ã™ã§ã«ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ã§ã™ã€‚"
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "セッション"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "ã“ã® StatusNet サイトã®ãƒ‡ã‚¶ã‚¤ãƒ³è¨­å®šã€‚"
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "セッションã®æ‰±ã„"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "自分é”ã§ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’扱ã†ã®ã§ã‚ã‚‹ã‹ã©ã†ã‹ã€‚"
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "セッションデãƒãƒƒã‚°"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "セッションã®ãŸã‚ã®ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ã‚’オン。"
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "サイト設定ã®ä¿å­˜"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "!!アプリケーションを見るãŸã‚ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
@@ -3248,21 +3330,21 @@ msgstr "!!アプリケーションを見るãŸã‚ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã
msgid "Application profile"
msgstr "アプリケーションプロファイル"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "アイコン"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "åå‰"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "組織"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "概è¦"
@@ -3273,42 +3355,42 @@ msgstr "統計データ"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "アプリケーションアクション"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "key 㨠secret ã®ãƒªã‚»ãƒƒãƒˆ"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "アプリケーション情報"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "リクエストトークンURL"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "アクセストークンURL"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "承èªURL"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3317,9 +3399,9 @@ msgstr ""
"ãƒãƒ¼ãƒˆã—ã¾ã›ã‚“。"
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "%s ã®ãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ã"
+msgstr "%1$s ã®ãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ãã€ãƒšãƒ¼ã‚¸ %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3379,9 +3461,9 @@ msgid "%s group"
msgstr "%s グループ"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "%1$s グループメンãƒãƒ¼ã€ãƒšãƒ¼ã‚¸ %2$d"
+msgstr "%1$s グループã€ãƒšãƒ¼ã‚¸ %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3441,7 +3523,7 @@ msgstr "å…¨ã¦ã®ãƒ¡ãƒ³ãƒãƒ¼"
#: actions/showgroup.php:432
msgid "Created"
-msgstr "作æˆã•ã‚Œã¾ã—ãŸ"
+msgstr "作æˆæ—¥"
#: actions/showgroup.php:448
#, php-format
@@ -3453,7 +3535,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
"**%s** 㯠%%site.name%% 上ã®ãƒ¦ãƒ¼ã‚¶ã‚°ãƒ«ãƒ¼ãƒ—ã§ã™ã€‚フリーソフトウェアツール"
-"[StatusNet](http://status.net/)を基ã«ã—ãŸ[マイクロブロギング] (http://en."
+"[StatusNet](http://status.net/)を基ã«ã—ãŸ[マイクロブロギング](http://en."
"wikipedia.org/wiki/Micro-blogging) サービス。メンãƒãƒ¼ã¯å½¼ã‚‰ã®æš®ã‚‰ã—ã¨èˆˆå‘³ã«é–¢"
"ã™ã‚‹çŸ­ã„メッセージを共有ã—ã¾ã™ã€‚[今ã™ãå‚加](%%%%action.register%%%%) ã—ã¦ã“"
"ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€å“¡ã«ãªã‚Šã¾ã—ょã†! ([ã‚‚ã£ã¨èª­ã‚€](%%%%doc.help%%%%))"
@@ -3503,9 +3585,9 @@ msgid " tagged %s"
msgstr "タグ付ã‘ã•ã‚ŒãŸ %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s ã¨å‹äººã€ãƒšãƒ¼ã‚¸ %2$d"
+msgstr "%1$sã€ãƒšãƒ¼ã‚¸ %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3532,12 +3614,12 @@ msgstr "%sã®ã¤ã¶ã‚„ãフィード (Atom)"
msgid "FOAF for %s"
msgstr "%s ã® FOAF"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "ã“れ㯠%1$s ã®ã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³ã§ã™ãŒã€%2$s ã¯ã¾ã ãªã«ã‚‚投稿ã—ã¦ã„ã¾ã›ã‚“。"
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3545,7 +3627,7 @@ msgstr ""
"最近ãŠã‚‚ã—ã‚ã„ã‚‚ã®ã¯ä½•ã§ã—ょã†? ã‚ãªãŸã¯å°‘ã—ã®ã¤ã¶ã‚„ãも投稿ã—ã¦ã„ã¾ã›ã‚“ãŒã€"
"ã„ã¾ã¯å§‹ã‚る良ã„時ã§ã—ょã†:)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3554,7 +3636,7 @@ msgstr ""
"ã‚ãªãŸã¯ã€%1$s ã«åˆå›³ã™ã‚‹ã‹ã€[ã¾ãŸã¯ãã®äººå®›ã«ä½•ã‹ã‚’投稿](%%%%action."
"newnotice%%%%?status_textarea=%2$s) ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3563,12 +3645,12 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
"**%s** 㯠%%site.name%% 上ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã™ã€‚フリーソフトウェアツール"
-"[StatusNet](http://status.net/)を基ã«ã—ãŸ[マイクロブロギング] (http://en."
+"[StatusNet](http://status.net/)を基ã«ã—ãŸ[マイクロブロギング](http://en."
"wikipedia.org/wiki/Micro-blogging) サービス。[今ã™ãå‚加](%%%%action.register"
"%%%%)ã—ã¦ã€**%s** ã®ã¤ã¶ã‚„ããªã©ã‚’フォローã—ã¾ã—ょã†! ([ã‚‚ã£ã¨èª­ã‚€](%%%%doc."
"help%%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3576,10 +3658,10 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
"**%s** 㯠%%site.name%% 上ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã™ã€‚フリーソフトウェアツール"
-"[StatusNet](http://status.net/)を基ã«ã—ãŸ[マイクロブロギング] (http://en."
+"[StatusNet](http://status.net/)を基ã«ã—ãŸ[マイクロブロギング](http://en."
"wikipedia.org/wiki/Micro-blogging) サービス。"
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "%s ã®ç¹°ã‚Šè¿”ã—"
@@ -3738,10 +3820,6 @@ msgstr ""
"ã©ã‚Œãらã„é•·ã„é–“(秒)ã€ãƒ¦ãƒ¼ã‚¶ã¯ã€å†ã³åŒã˜ã‚‚ã®ã‚’投稿ã™ã‚‹ã®ã‚’å¾…ãŸãªã‘ã‚Œã°ãªã‚‰ãª"
"ã„ã‹ã€‚"
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "サイト設定ã®ä¿å­˜"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS 設定"
@@ -3948,9 +4026,9 @@ msgid "SMS"
msgstr "SMS"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "ユーザ自身ãŒã¤ã‘ãŸã‚¿ã‚° %1$s - ページ %2$d"
+msgstr "%1$s ã¨ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸã¤ã¶ã‚„ãã€ãƒšãƒ¼ã‚¸ %2$d"
#: actions/tag.php:86
#, php-format
@@ -4055,84 +4133,64 @@ msgstr "利用者"
msgid "User settings for this StatusNet site."
msgstr "ã“ã® StatusNet サイトã®åˆ©ç”¨è€…設定。"
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "ä¸æ­£ãªè‡ªå·±ç´¹ä»‹åˆ¶é™ã€‚æ•°å­—ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "ä¸æ­£ãªã‚¦ã‚§ãƒ«ã‚«ãƒ ãƒ†ã‚­ã‚¹ãƒˆã€‚最大長ã¯255å­—ã§ã™ã€‚"
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "ä¸æ­£ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ•ã‚©ãƒ­ãƒ¼ã§ã™: '%1$s' ã¯åˆ©ç”¨è€…ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "プロファイル"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "自己紹介制é™"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "プロファイル自己紹介ã®æœ€å¤§æ–‡å­—長。"
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "æ–°ã—ã„利用者"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "æ–°ã—ã„利用者を歓迎"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "æ–°ã—ã„利用者ã¸ã®ã‚¦ã‚§ãƒ«ã‚«ãƒ ãƒ†ã‚­ã‚¹ãƒˆ (最大255å­—)。"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "デフォルトフォロー"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "自動的ã«ã“ã®åˆ©ç”¨è€…ã«æ–°ã—ã„利用者をフォローã—ã¦ãã ã•ã„。"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "招待"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "招待ãŒå¯èƒ½"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "利用者ãŒæ–°ã—ã„利用者を招待ã™ã‚‹ã®ã‚’許容ã™ã‚‹ã‹ã©ã†ã‹ã€‚"
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "セッション"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "セッションã®æ‰±ã„"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "自分é”ã§ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’扱ã†ã®ã§ã‚ã‚‹ã‹ã©ã†ã‹ã€‚"
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "セッションデãƒãƒƒã‚°"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "セッションã®ãŸã‚ã®ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ã‚’オン。"
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "フォローを承èª"
@@ -4252,9 +4310,9 @@ msgid "Enjoy your hotdog!"
msgstr "ã‚ãªãŸã®hotdogを楽ã—ã‚“ã§ãã ã•ã„!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "%1$s グループメンãƒãƒ¼ã€ãƒšãƒ¼ã‚¸ %2$d"
+msgstr "%1$s グループã€ãƒšãƒ¼ã‚¸ %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4284,10 +4342,6 @@ msgstr ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "コントリビュータ"
@@ -4413,22 +4467,21 @@ msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã§ã¤ã¶ã‚„ãを投稿ã™ã‚‹ã®ãŒç¦æ­¢ã•
msgid "Problem saving notice."
msgstr "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+msgstr "グループå—信箱をä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "返信を追加ã™ã‚‹éš›ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¨ãƒ©ãƒ¼ : %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "よã†ã“ã %1$sã€@%2$s!"
@@ -4687,80 +4740,90 @@ msgid "Design configuration"
msgstr "デザイン設定"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "パス設定"
+msgstr "利用者設定"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "デザイン設定"
+msgstr "アクセス設定"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "パス設定"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "セッション設定"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"APIリソースã¯èª­ã¿æ›¸ãアクセスãŒå¿…è¦ã§ã™ã€ã—ã‹ã—ã‚ãªãŸã¯èª­ã¿ã‚¢ã‚¯ã‚»ã‚¹ã—ã‹æŒã£ã¦"
+"ã„ã¾ã›ã‚“。"
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "アプリケーション編集"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "ã“ã®ã‚¢ãƒ—リケーションã®ã‚¢ã‚¤ã‚³ãƒ³"
-#: lib/applicationeditform.php:206
-#, fuzzy, php-format
+#: lib/applicationeditform.php:204
+#, php-format
msgid "Describe your application in %d characters"
-msgstr "グループやトピックを %d 字以内記述"
+msgstr "ã‚ãªãŸã®ã‚¢ãƒ—リケーションを %d 字以内記述"
-#: lib/applicationeditform.php:209
-#, fuzzy
+#: lib/applicationeditform.php:207
msgid "Describe your application"
-msgstr "グループやトピックを記述"
+msgstr "ã‚ãªãŸã®ã‚¢ãƒ—リケーションを記述"
-#: lib/applicationeditform.php:218
-#, fuzzy
+#: lib/applicationeditform.php:216
msgid "Source URL"
-msgstr "ソース"
+msgstr "ソース URL"
-#: lib/applicationeditform.php:220
-#, fuzzy
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
-msgstr "グループやトピックã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã‚„ブログ㮠URL"
+msgstr "ã“ã®ã‚¢ãƒ—リケーションã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã® URL"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "ã“ã®ã‚¢ãƒ—リケーションã«è²¬ä»»ãŒã‚る組織"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "組織ã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã®URL"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "èªè¨¼ã®å¾Œã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹URL"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "ブラウザ"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "デスクトップ"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "アプリケーションã€ãƒ–ラウザã€ã¾ãŸã¯ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ã®ã‚¿ã‚¤ãƒ—"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "リードオンリー"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "リードライト"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"ã“ã®ã‚¢ãƒ—リケーションã®ãŸã‚ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¢ã‚¯ã‚»ã‚¹: リードオンリーã€ã¾ãŸã¯ãƒªãƒ¼ãƒ‰"
@@ -4790,11 +4853,11 @@ msgstr "ã“ã®æ·»ä»˜ãŒç¾ã‚Œã‚‹ã¤ã¶ã‚„ã"
msgid "Tags for this attachment"
msgstr "ã“ã®æ·»ä»˜ã®ã‚¿ã‚°"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "パスワード変更ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "パスワード変更ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
@@ -5056,21 +5119,21 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "コンフィギュレーションファイルãŒã‚ã‚Šã¾ã›ã‚“。 "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "ç§ã¯ä»¥ä¸‹ã®å ´æ‰€ã§ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—ã¾ã—ãŸ: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
"ã‚ãªãŸã¯ã€ã“れを修ç†ã™ã‚‹ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ã‚’å‹•ã‹ã—ãŸãŒã£ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›"
"ん。"
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "インストーラã¸ã€‚"
@@ -5235,7 +5298,7 @@ msgstr "投稿ãŒå¤šã„グループ"
#: lib/grouptagcloudsection.php:56
#, php-format
msgid "Tags in %s group's notices"
-msgstr "%s グループã®é€šçŸ¥ã«ã‚ã‚‹ã‚¿ã‚°"
+msgstr "%s グループã®ã¤ã¶ã‚„ãã«ã‚ã‚‹ã‚¿ã‚°"
#: lib/htmloutputter.php:103
msgid "This page is not available in a media type you accept"
@@ -5688,6 +5751,8 @@ msgid ""
"Sorry, retrieving your geo location is taking longer than expected, please "
"try again later"
msgstr ""
+"ã™ã¿ã¾ã›ã‚“ã€ã‚ãªãŸã®ä½ç½®ã‚’検索ã™ã‚‹ã®ãŒäºˆæƒ³ã‚ˆã‚Šé•·ãã‹ã‹ã£ã¦ã„ã¾ã™ã€å¾Œã§ã‚‚ã†ä¸€"
+"度試ã¿ã¦ãã ã•ã„"
#: lib/noticelist.php:428
#, php-format
@@ -5718,23 +5783,23 @@ msgstr "西"
msgid "at"
msgstr "at"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr ""
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãã¸è¿”ä¿¡"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "返信"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¾ã—ãŸ"
@@ -5833,7 +5898,7 @@ msgstr "利用者ID"
#: lib/profileaction.php:183
msgid "Member since"
-msgstr "ã‹ã‚‰ã®ãƒ¡ãƒ³ãƒãƒ¼"
+msgstr "利用開始日"
#: lib/profileaction.php:245
msgid "All groups"
@@ -5875,6 +5940,10 @@ msgstr "ã“ã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¾ã™ã‹?"
msgid "Repeat this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã™"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "サンドボックス"
@@ -6006,7 +6075,7 @@ msgstr "ã“ã®åˆ©ç”¨è€…をアンサイレンス"
#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
msgid "Unsubscribe from this user"
-msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ãƒ•ã‚©ãƒ­ãƒ¼ã‚’解除ã™ã‚‹"
+msgstr "ã“ã®åˆ©ç”¨è€…ã‹ã‚‰ã®ãƒ•ã‚©ãƒ­ãƒ¼ã‚’解除ã™ã‚‹"
#: lib/unsubscribeform.php:137
msgid "Unsubscribe"
@@ -6041,47 +6110,47 @@ msgstr "メッセージ"
msgid "Moderate"
msgstr "å¸ä¼š"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "数秒å‰"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "ç´„ 1 分å‰"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "ç´„ %d 分å‰"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "ç´„ 1 時間å‰"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "ç´„ %d 時間å‰"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "ç´„ 1 æ—¥å‰"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "ç´„ %d æ—¥å‰"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "ç´„ 1 ヵ月å‰"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "ç´„ %d ヵ月å‰"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "ç´„ 1 å¹´å‰"
diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po
index bd2600be2..3c85974bc 100644
--- a/locale/ko/LC_MESSAGES/statusnet.po
+++ b/locale/ko/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:18+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:32+0000\n"
"Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n"
"X-Message-Group: out-statusnet\n"
@@ -63,11 +63,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "저장"
@@ -98,7 +99,7 @@ msgstr "그러한 태그가 없습니다."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -155,7 +156,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -180,7 +181,7 @@ msgstr "%1$s ë° %2$sì— ìžˆëŠ” ì¹œêµ¬ë“¤ì˜ ì—…ë°ì´íŠ¸!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,12 +363,12 @@ msgstr "사용ìžë¥¼ ì—…ë°ì´íŠ¸ í•  수 없습니다."
msgid "Two user ids or screen_names must be supplied."
msgstr "ë‘ ê°œì˜ ì‚¬ìš©ìž ID나 ëŒ€í™”ëª…ì„ ìž…ë ¥í•´ì•¼ 합니다."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "공개 streamì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "ì–´ë– í•œ ìƒíƒœë„ ì°¾ì„ ìˆ˜ 없습니다."
@@ -392,8 +393,8 @@ msgstr "ë³„ëª…ì´ ì´ë¯¸ 사용중 입니다. 다른 ë³„ëª…ì„ ì‹œë„í•´ ë³´ì‹­ì
msgid "Not a valid nickname."
msgstr "유효한 ë³„ëª…ì´ ì•„ë‹™ë‹ˆë‹¤"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -405,8 +406,8 @@ msgstr "홈페ì´ì§€ 주소형ì‹ì´ 올바르지 않습니다."
msgid "Full name is too long (max 255 chars)."
msgstr "ì‹¤ëª…ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤. (최대 255글ìž)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "ì„¤ëª…ì´ ë„ˆë¬´ 길어요. (최대 140글ìž)"
@@ -486,18 +487,23 @@ msgstr "%s 그룹"
msgid "groups on %s"
msgstr "그룹 í–‰ë™"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "옳지 ì•Šì€ í¬ê¸°"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -508,83 +514,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "세션토í°ì— 문제가 있습니다. 다시 ì‹œë„해주세요."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "ì‚¬ìš©ìž ì´ë¦„ì´ë‚˜ 비밀 번호가 틀렸습니다."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "ì‚¬ìš©ìž ì„¸íŒ… 오류"
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "해쉬테그를 추가 í•  ë•Œì— ë°ì´íƒ€ë² ì´ìŠ¤ ì—러 : %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "ìž˜ëª»ëœ í¼ ì œì¶œ"
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "계정"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "별명"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "비밀 번호"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "모든 것"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -758,8 +765,8 @@ msgstr "ì›ëž˜ 설정"
msgid "Preview"
msgstr "미리보기"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "삭제"
@@ -808,8 +815,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "아니오"
@@ -818,9 +826,9 @@ msgstr "아니오"
msgid "Do not block this user"
msgstr "ì´ ì‚¬ìš©ìžë¥¼ 차단해제합니다."
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "네, 맞습니다."
@@ -929,6 +937,50 @@ msgstr "ì¸ì¦ 코드"
msgid "Notices"
msgstr "통지"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "ê·¸ë£¹ì„ ë§Œë“¤ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "í†µì§€ì— í”„ë¡œí•„ì´ ì—†ìŠµë‹ˆë‹¤."
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "ë‹¹ì‹ ì˜ ì„¸ì…˜í† í°ê´€ë ¨ 문제가 있습니다."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "그러한 통지는 없습니다."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "ì´ í†µì§€ë¥¼ 지울 수 없습니다."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "ì´ ê²Œì‹œê¸€ 삭제하기"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -964,7 +1016,7 @@ msgstr "ì •ë§ë¡œ 통지를 삭제하시겠습니까?"
msgid "Do not delete this notice"
msgstr "ì´ í†µì§€ë¥¼ 지울 수 없습니다."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "ì´ ê²Œì‹œê¸€ 삭제하기"
@@ -1118,7 +1170,7 @@ msgstr "ì´ ë©”ì‹œì§€ëŠ” favoriteì´ ì•„ë‹™ë‹ˆë‹¤."
msgid "Add to favorites"
msgstr "좋아하는 게시글로 추가하기"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "그러한 문서는 없습니다."
@@ -1133,22 +1185,12 @@ msgstr "다른 옵션들"
msgid "You must be logged in to edit an application."
msgstr "ê·¸ë£¹ì„ ë§Œë“¤ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "그러한 통지는 없습니다."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "ë‹¹ì‹ ì˜ ì„¸ì…˜í† í°ê´€ë ¨ 문제가 있습니다."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1159,47 +1201,52 @@ msgstr "ë‹¤ìŒ ì–‘ì‹ì„ ì´ìš©í•´ ê·¸ë£¹ì„ íŽ¸ì§‘í•˜ì‹­ì‹œì˜¤."
msgid "Name is required."
msgstr "위와 ê°™ì€ ë¹„ë°€ 번호. 필수 사항."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "ì‹¤ëª…ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤. (최대 255글ìž)"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "ë³„ëª…ì´ ì´ë¯¸ 사용중 입니다. 다른 ë³„ëª…ì„ ì‹œë„í•´ 보십시오."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "설명"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "홈페ì´ì§€ 주소형ì‹ì´ 올바르지 않습니다."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "위치가 너무 ê¹ë‹ˆë‹¤. (최대 255글ìž)"
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "ê·¸ë£¹ì„ ì—…ë°ì´íŠ¸ í•  수 없습니다."
@@ -1275,8 +1322,8 @@ msgstr ""
"주시기 ë°”ëžë‹ˆë‹¤."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "취소"
@@ -2135,11 +2182,11 @@ msgstr "ê·¸ë£¹ì„ ë§Œë“¤ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
msgid "Use this form to register a new application."
msgstr "새 ê·¸ë£¹ì„ ë§Œë“¤ê¸° 위해 ì´ ì–‘ì‹ì„ 사용하세요."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "좋아하는 ê²Œì‹œê¸€ì„ ìƒì„±í•  수 없습니다."
@@ -2272,29 +2319,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2686,7 +2733,7 @@ msgid "Full name"
msgstr "실명"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "홈페ì´ì§€"
@@ -2812,39 +2859,39 @@ msgstr "공개 타임ë¼ì¸, %d 페ì´ì§€"
msgid "Public timeline"
msgstr "í¼ë¸”릭 타임ë¼ì¸"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "í¼ë¸”릭 스트림 피드"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "í¼ë¸”릭 스트림 피드"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "í¼ë¸”릭 스트림 피드"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2853,7 +2900,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3216,7 +3263,7 @@ msgstr "ë¼ì´ì„ ìŠ¤ì— ë™ì˜í•˜ì§€ 않는다면 등ë¡í•  수 없습니다."
msgid "You already repeated that notice."
msgstr "ë‹¹ì‹ ì€ ì´ë¯¸ ì´ ì‚¬ìš©ìžë¥¼ 차단하고 있습니다."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "ìƒì„±"
@@ -3278,6 +3325,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%2$sì—ì„œ %1$s까지 메시지"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "아바타가 ì—…ë°ì´íŠ¸ ë˜ì—ˆìŠµë‹ˆë‹¤."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3288,6 +3340,37 @@ msgstr "ë‹¹ì‹ ì€ ì´ ì‚¬ìš©ìžì—게 메시지를 보낼 수 없습니다."
msgid "User is already sandboxed."
msgstr "회ì›ì´ ë‹¹ì‹ ì„ ì°¨ë‹¨í•´ì™”ìŠµë‹ˆë‹¤."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "아바타 설정"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3298,23 +3381,23 @@ msgstr "ê·¸ë£¹ì„ ë– ë‚˜ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
msgid "Application profile"
msgstr "í†µì§€ì— í”„ë¡œí•„ì´ ì—†ìŠµë‹ˆë‹¤."
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "별명"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "페ì´ì§€ìˆ˜"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "설명"
@@ -3325,42 +3408,42 @@ msgstr "통계"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3570,25 +3653,25 @@ msgstr "%sì˜ í†µì§€ 피드"
msgid "FOAF for %s"
msgstr "%sì˜ ë³´ë‚¸ìª½ì§€í•¨"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3597,7 +3680,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3607,7 +3690,7 @@ msgstr ""
"**%s**는 %%%%site.name%%%% [마ì´í¬ë¡œë¸”로깅](http://en.wikipedia.org/wiki/"
"Micro-blogging) ì„œë¹„ìŠ¤ì— ê³„ì •ì„ ê°–ê³  있습니다."
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "%sì— ë‹µì‹ "
@@ -3768,11 +3851,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "아바타 설정"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4079,89 +4157,69 @@ msgstr "ì´ìš©ìž"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "프로필"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "새 사용ìžë¥¼ 초대"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "모든 예약 구ë…"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "나ì—게 구ë…하는 사람ì—게 ìžë™ êµ¬ë… ì‹ ì²­"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "ì´ˆëŒ€ê¶Œì„ ë³´ëƒˆìŠµë‹ˆë‹¤"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "ì´ˆëŒ€ê¶Œì„ ë³´ëƒˆìŠµë‹ˆë‹¤"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "구ë…ì„ í—ˆê°€"
@@ -4313,11 +4371,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "아바타가 ì—…ë°ì´íŠ¸ ë˜ì—ˆìŠµë‹ˆë‹¤."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4446,22 +4499,22 @@ msgstr "ì´ ì‚¬ì´íŠ¸ì— 게시글 í¬ìŠ¤íŒ…으로부터 ë‹¹ì‹ ì€ ê¸ˆì§€ë˜ì—ˆì
msgid "Problem saving notice."
msgstr "통지를 ì €ìž¥í•˜ëŠ”ë° ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "통지를 ì €ìž¥í•˜ëŠ”ë° ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "ë‹µì‹ ì„ ì¶”ê°€ í•  ë•Œì— ë°ì´íƒ€ë² ì´ìŠ¤ ì—러 : %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "%2$sì—ì„œ %1$s까지 메시지"
@@ -4746,68 +4799,82 @@ msgstr "SMS ì¸ì¦"
msgid "Paths configuration"
msgstr "SMS ì¸ì¦"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS ì¸ì¦"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "140글ìžë¡œ 그룹ì´ë‚˜ 토픽 설명하기"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "140글ìžë¡œ 그룹ì´ë‚˜ 토픽 설명하기"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "소스 코드"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "그룹 í˜¹ì€ í† í”½ì˜ í™ˆíŽ˜ì´ì§€ë‚˜ 블로그 URL"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "그룹 í˜¹ì€ í† í”½ì˜ í™ˆíŽ˜ì´ì§€ë‚˜ 블로그 URL"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4837,12 +4904,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "비밀번호 변경"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "비밀번호 변경"
@@ -5110,20 +5177,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "í™•ì¸ ì½”ë“œê°€ 없습니다."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "ì´ ì‚¬ì´íŠ¸ 로그ì¸"
@@ -5694,25 +5761,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "ìƒì„±"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "답장하기"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "ê²Œì‹œê¸€ì´ ë“±ë¡ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -5861,6 +5928,10 @@ msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
msgid "Repeat this notice"
msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6038,47 +6109,47 @@ msgstr "메시지"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "몇 초 전"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "1분 전"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "%d분 전"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "1시간 전"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "%d시간 전"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "하루 전"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "%dì¼ ì „"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "1달 전"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "%d달 전"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "1ë…„ ì „"
diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po
index 441ccdb8b..87e375047 100644
--- a/locale/mk/LC_MESSAGES/statusnet.po
+++ b/locale/mk/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:21+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:36+0000\n"
"Language-Team: Macedonian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: out-statusnet\n"
@@ -25,14 +25,12 @@ msgid "Access"
msgstr "ПриÑтап"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Зачувај нагодувања на веб-Ñтраницата"
+msgstr "Ðагодувања за приÑтап на веб-Ñтраницата"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "РегиÑтрирај Ñе"
+msgstr "РегиÑтрација"
#: actions/accessadminpanel.php:161
msgid "Private"
@@ -63,18 +61,18 @@ msgstr "Оневозможи нови региÑтрации."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Зачувај"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Зачувај нагодувања на веб-Ñтраницата"
+msgstr "Зачувај нагодувања на приÑтап"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -97,7 +95,7 @@ msgstr "Ðема таква Ñтраница"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -160,7 +158,7 @@ msgstr ""
"на кориÑникот или да [објавите нешто што Ñакате тој да го прочита](%%%%"
"action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -187,7 +185,7 @@ msgstr "Подновувања од %1$s и пријатели на %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -366,11 +364,11 @@ msgid "Two user ids or screen_names must be supplied."
msgstr ""
"Мора да бидат наведени два кориÑнички идентификатора (ID) или две имиња."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Ðе можев да го утврдам целниот кориÑник."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Ðе можев да го пронајдам целниот кориÑник."
@@ -392,8 +390,8 @@ msgstr "Тој прекар е во употреба. Одберете друг.
msgid "Not a valid nickname."
msgstr "Ðеправилен прекар."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -405,8 +403,8 @@ msgstr "Главната Ñтраница не е важечка URL-адреÑÐ
msgid "Full name is too long (max 255 chars)."
msgstr "Целото име е предолго (макÑимум 255 знаци)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "ОпиÑот е предолг (дозволено е највеќе %d знаци)."
@@ -483,18 +481,23 @@ msgstr "%s групи"
msgid "groups on %s"
msgstr "групи на %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Лошо барање."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Погрешна големина."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -505,81 +508,82 @@ msgstr "Лошо барање."
msgid "There was a problem with your session token. Try again, please."
msgstr "Се поајви проблем Ñо Вашиот ÑеÑиÑки жетон. Обидете Ñе повторно."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Погрешен прекар / лозинка!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr "Грешка при бришењето на кориÑникот на OAuth-програмот."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr ""
"Грешка во базата на податоци при вметнувањето на кориÑникот на OAuth-"
"програмот."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr "Жетонот на барањето %s е одобрен. Заменете го Ñо жетон за приÑтап."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Жетонот на барањето %s е одбиен."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Ðеочекувано поднеÑување на образец."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "Има програм кој Ñака да Ñе поврзе Ñо Вашата Ñметка"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Дозволи или одбиј приÑтап"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Сметка"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Прекар"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Лозинка"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Одбиј"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Дозволи"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Дозволете или одбијте приÑтап до податоците за Вашата Ñметка."
@@ -752,8 +756,8 @@ msgstr "Оригинал"
msgid "Preview"
msgstr "Преглед"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Бриши"
@@ -804,8 +808,9 @@ msgstr ""
"претплати на Ð’Ð°Ñ Ð²Ð¾ иднина, и нема да бидете извеÑтени ако имате @-одговори "
"од кориÑникот."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Ðе"
@@ -813,9 +818,9 @@ msgstr "Ðе"
msgid "Do not block this user"
msgstr "Ðе го блокирај кориÑников"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Да"
@@ -919,6 +924,52 @@ msgstr "Разговор"
msgid "Notices"
msgstr "Забелешки"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Мора да Ñте најавени за да можете да уредувате програми."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Инфо за програмот"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Ðе Ñте ÑопÑтвеник на овој програм."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Се појави проблем Ñо Вашиот ÑеÑиÑки жетон."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Уреди програм"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Дали Ñе Ñигурни дека Ñакате да го избришете овој кориÑник? Ова воедно ќе ги "
+"избрише Ñите податоци за кориÑникот од базата, без да може да Ñе вратат."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Ðе ја бриши оваа забелешка"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Икона за овој програм"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -953,7 +1004,7 @@ msgstr "Дали Ñте Ñигурни дека Ñакате да ја избрÐ
msgid "Do not delete this notice"
msgstr "Ðе ја бриши оваа забелешка"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Бриши ја оваа забелешка"
@@ -1097,13 +1148,12 @@ msgstr "Оваа забелешка не Ви е омилена!"
msgid "Add to favorites"
msgstr "Додај во омилени"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Ðема таков документ."
+msgstr "Ðема документ Ñо наÑлов „%s“"
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "Уреди програм"
@@ -1111,20 +1161,11 @@ msgstr "Уреди програм"
msgid "You must be logged in to edit an application."
msgstr "Мора да Ñте најавени за да можете да уредувате програми."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Ðе Ñте ÑопÑтвеник на овој програм."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Ðема таков програм."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Се појави проблем Ñо Вашиот ÑеÑиÑки жетон."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "Образецов Ñлужи за уредување на програмот."
@@ -1133,43 +1174,48 @@ msgstr "Образецов Ñлужи за уредување на програÐ
msgid "Name is required."
msgstr "Треба име."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "Името е предолго (макÑимум 255 знаци)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Тој прекар е во употреба. Одберете друг."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "Треба опиÑ."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "Изворната URL-адреÑа е предолга."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "Изворната URL-адреÑа е неважечка."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "Треба организација."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "Организацијата е предолга (макÑимумот е 255 знаци)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "Треба домашна Ñтраница на организацијата."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "Повикувањето е предолго."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "URL-адреÑата за повикување е неважечка."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Ðе можев да го подновам програмот."
@@ -1241,8 +1287,8 @@ msgstr ""
"Ñандачето за Ñпам!). Во пиÑмото ќе Ñледат понатамошни напатÑтвија."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Откажи"
@@ -1845,9 +1891,9 @@ msgid "That is not your Jabber ID."
msgstr "Ова не е Вашиот Jabber ID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Приемно Ñандаче за %s"
+msgstr "Приемно Ñандаче за %1$s - ÑÑ‚Ñ€. %2$d"
#: actions/inbox.php:62
#, php-format
@@ -2096,7 +2142,6 @@ msgid "No current status"
msgstr "Ðема тековен ÑтатуÑ"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Ðов програм"
@@ -2108,11 +2153,11 @@ msgstr "Мора да Ñте најавени за да можете да рег
msgid "Use this form to register a new application."
msgstr "Овој образец Ñлужи за региÑтрирање на нов програм."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "Треба изворна URL-адреÑа."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Ðе можеше да Ñе Ñоздаде програмот."
@@ -2248,28 +2293,28 @@ msgstr "Програми што ги имате региÑтрирано"
msgid "You have not registered any applications yet."
msgstr "Сè уште немате региÑтрирано ниеден програм,"
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Поврзани програми"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr "Им имате дозволено приÑтап до Вашата Ñметка на Ñледните програми."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Ðе Ñте кориÑник на тој програм."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "Ðе можам да му го одземам приÑтапот на програмот: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "Му немате дозволено приÑтап до Вашата Ñметка на ниеден програм."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
"Развивачите можат да ги нагодат региÑтрациÑките поÑтавки за нивните програми "
@@ -2357,9 +2402,9 @@ msgid "Login token expired."
msgstr "Ðајавниот жетон е иÑтечен."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Излезно Ñандаче за %s"
+msgstr "Излезно Ñандаче за %1$s - ÑÑ‚Ñ€. %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2647,7 +2692,7 @@ msgid "Full name"
msgstr "Цело име"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Домашна Ñтраница"
@@ -2775,19 +2820,19 @@ msgstr "Јавна иÑторија, ÑÑ‚Ñ€. %d"
msgid "Public timeline"
msgstr "Јавна иÑторија"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Канал на јавниот поток (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Канал на јавниот поток (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Канал на јавниот поток (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2795,11 +2840,11 @@ msgid ""
msgstr ""
"Ова е јавната иÑторија за %%site.name%%, но доÑега никој ништо нема објавено."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Создајте ја првата забелешка!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2807,7 +2852,7 @@ msgstr ""
"Зошто не [региÑтрирате Ñметка](%%action.register%%) и Ñтанете првиот "
"објавувач!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2821,7 +2866,7 @@ msgstr ""
"Ñподелувате забелешки за Ñебе Ñо приајтелите, ÑемејÑтвото и колегите! "
"([Прочитајте повеќе](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3190,7 +3235,7 @@ msgstr "Ðе можете да повторувате ÑопÑтвена забÐ
msgid "You already repeated that notice."
msgstr "Веќе ја имате повторено таа забелешка."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Повторено"
@@ -3205,9 +3250,9 @@ msgid "Replies to %s"
msgstr "Одговори иÑпратени до %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Одговори на %1$s на %2$s!"
+msgstr "Одговори на %1$s, ÑÑ‚Ñ€. %2$d"
#: actions/replies.php:144
#, php-format
@@ -3256,6 +3301,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Одговори на %1$s на %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Ðе можете да Ñтавате кориÑници во пеÑочен режим на оваа веб-Ñтраница."
@@ -3264,6 +3313,36 @@ msgstr "Ðе можете да Ñтавате кориÑници во пеÑоч
msgid "User is already sandboxed."
msgstr "КориÑникот е веќе во пеÑочен режим."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "СеÑии"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "Ðагодувања на ÑеÑиите за оваа StatusNet веб-Ñтраница."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Раководење Ñо ÑеÑии"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Дали Ñамите да Ñи раководиме Ñо ÑеÑиите."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Поправка на грешки во ÑеÑија"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Вклучи извод од поправка на грешки за ÑеÑии."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Зачувај нагодувања на веб-Ñтраницата"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Мора да Ñте најавени за да можете да го видите програмот."
@@ -3272,21 +3351,21 @@ msgstr "Мора да Ñте најавени за да можете да го Ð
msgid "Application profile"
msgstr "Профил на програмот"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Икона"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Име"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "Организација"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "ОпиÑ"
@@ -3296,43 +3375,43 @@ msgid "Statistics"
msgstr "СтатиÑтики"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "Ñоздал: %1$s - оÑновен приÑтап: %2$s - %3$d кориÑници"
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "ДејÑтва на програмот"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "Клуч за промена и тајна"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Инфо за програмот"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "Потрошувачки клуч"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Потрошувачка тајна"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "URL на жетонот на барањето"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "URL на приÑтапниот жетон"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "Одобри URL"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3341,9 +3420,9 @@ msgstr ""
"текÑÑ‚."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "Омилени забелешки на %s"
+msgstr "Омилени забелешки на %1$s, ÑÑ‚Ñ€. %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3403,9 +3482,9 @@ msgid "%s group"
msgstr "Група %s"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "Членови на групата %1$s, ÑÑ‚Ñ€. %2$d"
+msgstr "Група %1$s, ÑÑ‚Ñ€. %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3528,9 +3607,9 @@ msgid " tagged %s"
msgstr " означено Ñо %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s и пријателите, ÑÑ‚Ñ€. %2$d"
+msgstr "%1$s, ÑÑ‚Ñ€. %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3557,12 +3636,12 @@ msgstr "Канал Ñо забелешки за %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF за %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Ова е иÑторијата за %1$s, но %2$s Ñè уште нема објавено ништо."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3570,7 +3649,7 @@ msgstr ""
"Имате видено нешто интереÑно во поÑледно време? Сè уште немате објавено "
"ниедна забелешка, но Ñега е добро време за да почнете :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3579,7 +3658,7 @@ msgstr ""
"Можете да го подбуцнете кориÑникот %1$s или [да објавите нешто што Ñакате да "
"го прочита](%%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3593,7 +3672,7 @@ msgstr ""
"register%%%%) за да можете да ги Ñледите забелешките на **%s** и многу "
"повеќе! ([Прочитајте повеќе](%%%%doc.help%%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3604,7 +3683,7 @@ msgstr ""
"(http://mk.wikipedia.org/wiki/Микроблогирање) базирана на Ñлободната "
"програмÑка алатка [StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Повторувања на %s"
@@ -3764,10 +3843,6 @@ msgstr ""
"Колку долго треба да почекаат кориÑниците (во Ñекунди) за да можат повторно "
"да го објават иÑтото."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Зачувај нагодувања на веб-Ñтраницата"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Ðагодувања за СМС"
@@ -3972,9 +4047,9 @@ msgid "SMS"
msgstr "СМС"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "КориÑтници Ñамоозначени Ñо %1$s - ÑÑ‚Ñ€. %2$d"
+msgstr "Забелешки означени Ñо %1$s, ÑÑ‚Ñ€. %2$d"
#: actions/tag.php:86
#, php-format
@@ -4080,84 +4155,64 @@ msgstr "КориÑник"
msgid "User settings for this StatusNet site."
msgstr "КориÑнички нагодувања за оваа StatusNet веб-Ñтраница."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Ðеважечко ограничување за биографијата. Мора да е бројчено."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "ÐЕважечки текÑÑ‚ за добредојде. Дозволени Ñе највеќе 255 знаци."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Ðеважечки Ð¾Ð¿Ð¸Ñ Ð¿Ð¾ оÑновно: „%1$s“ не е кориÑник."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профил"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Ограничување за биографијата"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "МакÑимална големина на профилната биографија во знаци."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Ðови кориÑници"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Добредојде за нов кориÑник"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "ТекÑÑ‚ за добредојде на нови кориÑници (највеќе до 255 знаци)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "ОÑновно-зададена претплата"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "ÐвтоматÑки претплатувај нови кориÑници на овој кориÑник."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Покани"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Поканите Ñе овозможени"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Дали да им е дозволено на кориÑниците да канат други кориÑници."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "СеÑии"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Раководење Ñо ÑеÑии"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Дали Ñамите да Ñи раководиме Ñо ÑеÑиите."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Поправка на грешки во ÑеÑија"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Вклучи извод од поправка на грешки за ÑеÑии."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Одобрете ја претплатата"
@@ -4277,9 +4332,9 @@ msgid "Enjoy your hotdog!"
msgstr "Добар апетит!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "Членови на групата %1$s, ÑÑ‚Ñ€. %2$d"
+msgstr "Групи %1$s, ÑÑ‚Ñ€. %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4311,10 +4366,6 @@ msgstr ""
"Оваа веб-Ñтраница работи на %1$s верзија %2$s, ÐвторÑки права 2008-2010 "
"StatusNet, Inc. и учеÑници."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "УчеÑници"
@@ -4449,22 +4500,21 @@ msgstr "Забрането Ви е да објавувате забелешки
msgid "Problem saving notice."
msgstr "Проблем во зачувувањето на белешката."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Проблем во зачувувањето на белешката."
+msgstr "Проблем при зачувувањето на групното приемно Ñандаче."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Одговор од внеÑот во базата: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Добредојдовте на %1$s, @%2$s!"
@@ -4663,16 +4713,20 @@ msgstr "Лиценца на Ñодржините на веб-ÑтраницатÐ
#: lib/action.php:806
#, php-format
msgid "Content and data of %1$s are private and confidential."
-msgstr ""
+msgstr "Содржината и податоците на %1$s Ñе лични и доверливи."
#: lib/action.php:811
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
+"ÐвторÑките права на Ñодржината и податоците Ñе во ÑопÑтвеноÑÑ‚ на %1$s. Сите "
+"права задржани."
#: lib/action.php:814
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
+"ÐвторÑките права на Ñодржината и податоците им припаѓаат на учеÑниците. Сите "
+"права задржани."
#: lib/action.php:826
msgid "All "
@@ -4723,77 +4777,90 @@ msgid "Design configuration"
msgstr "Конфигурација на изгледот"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "Конфигурација на патеки"
+msgstr "Конфигурација на кориÑник"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "Конфигурација на изгледот"
+msgstr "Конфигурација на приÑтапот"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "Конфигурација на патеки"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "Конфигурација на ÑеÑиите"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"API-реÑурÑот бара да може и да чита и да запишува, а вие можете Ñамо да "
+"читате."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr "ÐеуÑпешен обид за API-заверка, прекар = %1$s, прокÑи = %2$s, IP = %3$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Уреди програм"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Икона за овој програм"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Опишете го програмот Ñо %d знаци"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Опишете го Вашиот програм"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "Изворна URL-адреÑа"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "URL на Ñтраницата на програмот"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "Организацијата одговорна за овој програм"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "URL на Ñтраницата на организацијата"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL за пренаÑочување по заверката"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "ПрелиÑтувач"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "Работна површина"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Тип на програм, прелиÑтувач или работна површина"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Само читање"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Читање-пишување"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"ОÑновно-зададен приÑтап за овој програм: Ñамо читање, или читање-пишување"
@@ -4822,11 +4889,11 @@ msgstr "Забелешки кадешто Ñе јавува овој прилоÐ
msgid "Tags for this attachment"
msgstr "Ознаки за овој прилог"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Менувањето на лозинката не уÑпеа"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Менувањето на лозинка не е дозволено"
@@ -5131,19 +5198,19 @@ msgstr ""
"tracks - Ñè уште не е имплементирано.\n"
"tracking - Ñè уште не е имплементирано.\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Ðема пронајдено конфигурациÑка податотека. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Побарав конфигурациони податотеки на Ñледниве меÑта: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Препорачуваме да го пуштите инÑталатерот за да го поправите ова."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Оди на инÑталаторот."
@@ -5794,23 +5861,23 @@ msgstr "З"
msgid "at"
msgstr "во"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "во контекÑÑ‚"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Повторено од"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Одговори на забелешкава"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Одговор"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Забелешката е повторена"
@@ -5951,6 +6018,10 @@ msgstr "Да ја повторам белешкава?"
msgid "Repeat this notice"
msgstr "Повтори ја забелешкава"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "ПеÑок"
@@ -6117,47 +6188,47 @@ msgstr "Порака"
msgid "Moderate"
msgstr "Модерирај"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "пред неколку Ñекунди"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "пред една минута"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "пред %d минути"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "пред еден чаÑ"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "пред %d чаÑа"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "пред еден ден"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "пред %d денови"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "пред еден меÑец"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "пред %d меÑеца"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "пред една година"
diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po
index e6d329506..13d763b26 100644
--- a/locale/nb/LC_MESSAGES/statusnet.po
+++ b/locale/nb/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:24+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:39+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: out-statusnet\n"
@@ -61,11 +61,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Lagre"
@@ -95,7 +96,7 @@ msgstr "Ingen slik side"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -157,7 +158,7 @@ msgstr ""
"hans eller hennes oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%"
"s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -183,7 +184,7 @@ msgstr "Oppdateringer fra %1$s og venner på %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -364,12 +365,12 @@ msgstr "Du kan ikke slutte å følge deg selv!"
msgid "Two user ids or screen_names must be supplied."
msgstr "To bruker ID-er eller kallenavn må oppgis."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Klarte ikke å oppdatere bruker."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Klarte ikke å oppdatere bruker."
@@ -392,8 +393,8 @@ msgstr "Det nicket er allerede i bruk. Prøv et annet."
msgid "Not a valid nickname."
msgstr "Ugyldig nick."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -405,8 +406,8 @@ msgstr "Hjemmesiden er ikke en gyldig URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Beklager, navnet er for langt (max 250 tegn)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Beskrivelsen er for lang (maks %d tegn)."
@@ -485,18 +486,23 @@ msgstr ""
msgid "groups on %s"
msgstr ""
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ugyldig størrelse"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -507,81 +513,82 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Ugyldig brukernavn eller passord"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr ""
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr ""
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "Om"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Nick"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Passord"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -754,8 +761,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
#, fuzzy
msgid "Delete"
msgstr "slett"
@@ -805,8 +812,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr ""
@@ -815,9 +823,9 @@ msgstr ""
msgid "Do not block this user"
msgstr "Kan ikke slette notisen."
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
@@ -924,6 +932,50 @@ msgstr "Bekreftelseskode"
msgid "Notices"
msgstr ""
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Gjør brukeren til en administrator for gruppen"
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Fant ikke bekreftelseskode."
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Du er allerede logget inn!"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Ingen slik side"
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Kan ikke slette notisen."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Beskriv degselv og dine interesser med 140 tegn"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -957,7 +1009,7 @@ msgstr "Er du sikker på at du vil slette denne notisen?"
msgid "Do not delete this notice"
msgstr "Kan ikke slette notisen."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr ""
@@ -1107,7 +1159,7 @@ msgstr ""
msgid "Add to favorites"
msgstr ""
-#: actions/doc.php:155
+#: actions/doc.php:158
#, php-format
msgid "No such document \"%s\""
msgstr ""
@@ -1122,22 +1174,12 @@ msgstr "Ingen slik side"
msgid "You must be logged in to edit an application."
msgstr "Gjør brukeren til en administrator for gruppen"
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Du er allerede logget inn!"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Ingen slik side"
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1146,47 +1188,52 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Beklager, navnet er for langt (max 250 tegn)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Det nicket er allerede i bruk. Prøv et annet."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Alle abonnementer"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Hjemmesiden er ikke en gyldig URL."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Beskrivelsen er for lang (maks %d tegn)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Klarte ikke å oppdatere bruker."
@@ -1263,8 +1310,8 @@ msgstr ""
"melding med videre veiledning."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Avbryt"
@@ -2092,11 +2139,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Klarte ikke å lagre avatar-informasjonen"
@@ -2222,29 +2269,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Du er allerede logget inn!"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2626,7 +2673,7 @@ msgid "Full name"
msgstr "Fullt navn"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Hjemmesiden"
@@ -2754,37 +2801,37 @@ msgstr ""
msgid "Public timeline"
msgstr ""
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "%s offentlig strøm"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2793,7 +2840,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3146,7 +3193,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "Du er allerede logget inn!"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Opprett"
@@ -3211,6 +3258,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Svar til %s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Statistikk"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3221,6 +3273,37 @@ msgstr "Du er allerede logget inn!"
msgid "User is already sandboxed."
msgstr "Du er allerede logget inn!"
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Innstillinger for IM"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3229,23 +3312,23 @@ msgstr ""
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Nick"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Bekreftelseskode"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "Alle abonnementer"
@@ -3257,42 +3340,42 @@ msgstr "Statistikk"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3500,18 +3583,18 @@ msgstr ""
msgid "FOAF for %s"
msgstr "Feed for taggen %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Dette er tidslinjen for %s og venner, men ingen har postet noe enda."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, fuzzy, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3521,7 +3604,7 @@ msgstr ""
"hans eller hennes oppmerksomhet](%%%%action.newnotice%%%%?status_textarea=%"
"s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3530,7 +3613,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3538,7 +3621,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Svar til %s"
@@ -3694,11 +3777,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Innstillinger for IM"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4001,89 +4079,69 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "slett"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Alle abonnementer"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Abonner automatisk på de som abonnerer på meg (best for ikke-mennesker)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Bekreftelseskode"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autoriser abonnementet"
@@ -4224,11 +4282,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Statistikk"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4350,21 +4403,21 @@ msgstr ""
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:790
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4637,68 +4690,81 @@ msgstr ""
msgid "Paths configuration"
msgstr ""
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr ""
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Beskriv degselv og dine interesser med 140 tegn"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Beskriv degselv og dine interesser med 140 tegn"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Kilde"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL til din hjemmeside, blogg, eller profil på annen nettside."
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL til din hjemmeside, blogg, eller profil på annen nettside."
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4728,12 +4794,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Passordet ble lagret"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Passordet ble lagret"
@@ -5002,20 +5068,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Fant ikke bekreftelseskode."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5589,25 +5655,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Opprett"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
#, fuzzy
msgid "Reply"
msgstr "svar"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Nytt nick"
@@ -5754,6 +5820,10 @@ msgstr "Kan ikke slette notisen."
msgid "Repeat this notice"
msgstr "Kan ikke slette notisen."
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5929,47 +5999,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "noen få sekunder siden"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "omtrent ett minutt siden"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "omtrent %d minutter siden"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "omtrent én time siden"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "omtrent %d timer siden"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "omtrent én dag siden"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "omtrent %d dager siden"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "omtrent én måned siden"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "omtrent %d måneder siden"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "omtrent ett år siden"
diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po
index 8e5fc1ea9..c00e68ce6 100644
--- a/locale/nl/LC_MESSAGES/statusnet.po
+++ b/locale/nl/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:30+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:47+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: out-statusnet\n"
@@ -26,14 +26,12 @@ msgid "Access"
msgstr "Toegang"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Websiteinstellingen opslaan"
+msgstr "Instellingen voor sitetoegang"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "Registreren"
+msgstr "Registratie"
#: actions/accessadminpanel.php:161
msgid "Private"
@@ -62,18 +60,18 @@ msgstr "Nieuwe registraties uitschakelen."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Opslaan"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Websiteinstellingen opslaan"
+msgstr "Toegangsinstellingen opslaan"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -96,7 +94,7 @@ msgstr "Deze pagina bestaat niet"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -160,7 +158,7 @@ msgstr ""
"bericht voor die gebruiker plaatsen](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -186,7 +184,7 @@ msgstr "Updates van %1$s en vrienden op %2$s."
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -367,11 +365,11 @@ msgstr "U kunt het abonnement op uzelf niet opzeggen."
msgid "Two user ids or screen_names must be supplied."
msgstr "Er moeten twee gebruikersnamen of ID's opgegeven worden."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Het was niet mogelijk de brongebruiker te bepalen."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Het was niet mogelijk de doelgebruiker te vinden."
@@ -396,8 +394,8 @@ msgstr ""
msgid "Not a valid nickname."
msgstr "Ongeldige gebruikersnaam!"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -409,8 +407,8 @@ msgstr "De thuispagina is geen geldige URL."
msgid "Full name is too long (max 255 chars)."
msgstr "De volledige naam is te lang (maximaal 255 tekens)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "De beschrijving is te lang (maximaal %d tekens)."
@@ -487,18 +485,23 @@ msgstr "%s groepen"
msgid "groups on %s"
msgstr "groepen op %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Ongeldig verzoek."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ongeldige afmetingen."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -511,23 +514,23 @@ msgstr ""
"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
"alstublieft."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Ongeldige gebruikersnaam of wachtwoord."
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr ""
"Er is een databasefout opgetreden tijdens het verwijderen van de OAuth "
"applicatiegebruiker."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr ""
"Er is een databasefout opgetreden tijdens het toevoegen van de OAuth "
"applicatiegebruiker."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -536,60 +539,61 @@ msgstr ""
"Het verzoektoken %s is geautoriseerd. Wissel het alstublieft uit voor een "
"toegangstoken."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Het verzoektoken %s is geweigerd."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Het formulier is onverwacht ingezonden."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "Een applicatie vraagt toegang tot uw gebruikersgegevens"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Toegang toestaan of ontzeggen"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Gebruiker"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Gebruikersnaam"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Wachtwoord"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Ontzeggen"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Toestaan"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Toegang tot uw gebruikersgegevens toestaan of ontzeggen."
@@ -761,8 +765,8 @@ msgstr "Origineel"
msgid "Preview"
msgstr "Voorvertoning"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Verwijderen"
@@ -813,8 +817,9 @@ msgstr ""
"niet meer volgen en u wordt niet op de hoogte gebracht van \"@\"-antwoorden "
"van deze gebruiker."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Nee"
@@ -822,9 +827,9 @@ msgstr "Nee"
msgid "Do not block this user"
msgstr "Gebruiker niet blokkeren"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
@@ -928,6 +933,53 @@ msgstr "Dialoog"
msgid "Notices"
msgstr "Mededelingen"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "U moet aangemeld zijn om een applicatie te kunnen bewerken."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Applicatieinformatie"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "U bent niet de eigenaar van deze applicatie."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Er is een probleem met uw sessietoken."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Applicatie bewerken"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Weet u zeker dat u deze gebruiker wilt verwijderen? Door deze handeling "
+"worden alle gegevens van deze gebruiker uit de database verwijderd. Het is "
+"niet mogelijk ze terug te zetten."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Deze mededeling niet verwijderen"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Icoon voor deze applicatie"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -962,7 +1014,7 @@ msgstr "Weet u zeker dat u deze aankondiging wilt verwijderen?"
msgid "Do not delete this notice"
msgstr "Deze mededeling niet verwijderen"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Deze mededeling verwijderen"
@@ -1107,13 +1159,12 @@ msgstr "Deze mededeling staats niet op uw favorietenlijst."
msgid "Add to favorites"
msgstr "Aan favorieten toevoegen"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Onbekend document."
+msgstr "Onbekend document \"%s\""
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "Applicatie bewerken"
@@ -1121,20 +1172,11 @@ msgstr "Applicatie bewerken"
msgid "You must be logged in to edit an application."
msgstr "U moet aangemeld zijn om een applicatie te kunnen bewerken."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "U bent niet de eigenaar van deze applicatie."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "De applicatie bestaat niet."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Er is een probleem met uw sessietoken."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "Gebruik dit formulier om uw applicatiegegevens te bewerken."
@@ -1143,43 +1185,49 @@ msgstr "Gebruik dit formulier om uw applicatiegegevens te bewerken."
msgid "Name is required."
msgstr "Een naam is verplicht."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "De naam is te lang (maximaal 255 tekens)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr ""
+"De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "Een beschrijving is verplicht"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "De bron-URL is te lang."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "De bron-URL is niet geldig."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "Organisatie is verplicht."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "De organisatienaam is te lang (maximaal 255 tekens)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "De homepage voor een organisatie is verplicht."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "De callback is te lang."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "De callback-URL is niet geldig."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Het was niet mogelijk de applicatie bij te werken."
@@ -1251,8 +1299,8 @@ msgstr ""
"ongewenste berichten/spam) voor een bericht met nadere instructies."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Annuleren"
@@ -1861,9 +1909,9 @@ msgid "That is not your Jabber ID."
msgstr "Dit is niet uw Jabber-ID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Postvak IN van %s"
+msgstr "Postvak IN van %s - pagina %2$d"
#: actions/inbox.php:62
#, php-format
@@ -2113,7 +2161,6 @@ msgid "No current status"
msgstr "Geen huidige status"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Nieuwe applicatie"
@@ -2125,11 +2172,11 @@ msgstr "U moet aangemeld zijn om een applicatie te kunnen registreren."
msgid "Use this form to register a new application."
msgstr "Gebruik dit formulier om een nieuwe applicatie te registreren."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "Een bron-URL is verplicht."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Het was niet mogelijk de applicatie aan te maken."
@@ -2264,32 +2311,32 @@ msgstr "Door u geregistreerde applicaties"
msgid "You have not registered any applications yet."
msgstr "U hebt nog geen applicaties geregistreerd."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Verbonden applicaties"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
"U hebt de volgende applicaties toegang gegeven tot uw gebruikersgegevens."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "U bent geen gebruiker van die applicatie."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
"Het was niet mogelijk de toegang te ontzeggen voor de volgende applicatie: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
"U hebt geen enkele applicatie geautoriseerd voor toegang tot uw "
"gebruikersgegevens."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
"Ontwikkelaars kunnen de registratiegegevens voor hun applicaties bewerken "
@@ -2377,9 +2424,9 @@ msgid "Login token expired."
msgstr "Het aanmeldtoken is verlopen."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Postvak UIT voor %s"
+msgstr "Postvak UIT voor %1$s - pagina %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2665,7 +2712,7 @@ msgid "Full name"
msgstr "Volledige naam"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Thuispagina"
@@ -2795,19 +2842,19 @@ msgstr "Openbare tijdlijn, pagina %d"
msgid "Public timeline"
msgstr "Openbare tijdlijn"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Publieke streamfeed (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Publieke streamfeed (RSS 1.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Publieke streamfeed (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2816,11 +2863,11 @@ msgstr ""
"Dit is de publieke tijdlijn voor %%site.name%%, maar niemand heeft nog "
"berichten geplaatst."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "U kunt de eerste zijn die een bericht plaatst!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2828,7 +2875,7 @@ msgstr ""
"Waarom [registreert u geen gebruiker](%%action.register%%) en plaatst u als "
"eerste een bericht?"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2841,7 +2888,7 @@ msgstr ""
"net/). [Registreer nu](%%action.register%%) om mededelingen over uzelf te "
"delen met vrienden, familie en collega's! [Meer lezen...](%%doc.help%%)"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3212,7 +3259,7 @@ msgstr "U kunt uw eigen mededeling niet herhalen."
msgid "You already repeated that notice."
msgstr "U hent die mededeling al herhaald."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Herhaald"
@@ -3227,9 +3274,9 @@ msgid "Replies to %s"
msgstr "Antwoorden aan %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Antwoorden aan %1$s op %2$s."
+msgstr "Antwoorden aan %1$s, pagina %2$d"
#: actions/replies.php:144
#, php-format
@@ -3278,6 +3325,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Antwoorden aan %1$s op %2$s."
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Op deze website kunt u gebruikers niet in de zandbak plaatsen."
@@ -3286,6 +3337,36 @@ msgstr "Op deze website kunt u gebruikers niet in de zandbak plaatsen."
msgid "User is already sandboxed."
msgstr "Deze gebruiker is al in de zandbak geplaatst."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessies"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "Sessieinstellingen voor deze StatusNet-website."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Sessieafhandeling"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Of sessies door de software zelf afgehandeld moeten worden."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Sessies debuggen"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Debuguitvoer voor sessies inschakelen."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Websiteinstellingen opslaan"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "U moet aangemeld zijn om een applicatie te kunnen bekijken."
@@ -3294,21 +3375,21 @@ msgstr "U moet aangemeld zijn om een applicatie te kunnen bekijken."
msgid "Application profile"
msgstr "Applicatieprofiel"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Icoon"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Naam"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "Organisatie"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Beschrijving"
@@ -3318,43 +3399,43 @@ msgid "Statistics"
msgstr "Statistieken"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "aangemaakt door %1$s - standaardtoegang \"%2$s\" - %3$d gebruikers"
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "Applicatiehandelingen"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "Sleutel en wachtwoord op nieuw instellen"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Applicatieinformatie"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "Gebruikerssleutel"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Gebruikerswachtwoord"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "URL voor verzoektoken"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "URL voor toegangstoken"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "Autorisatie-URL"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3363,9 +3444,9 @@ msgstr ""
"platte tekst is niet mogelijk."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "Favoriete mededelingen van %s"
+msgstr "Favoriete mededelingen van %1$s, pagina %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3426,9 +3507,9 @@ msgid "%s group"
msgstr "%s groep"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "%1$s groeps leden, pagina %2$d"
+msgstr "Groep %1$s, pagina %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3551,9 +3632,9 @@ msgid " tagged %s"
msgstr " met het label %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s en vrienden, pagina %2$d"
+msgstr "%1$s, pagina %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3580,13 +3661,13 @@ msgstr "Mededelingenfeed voor %s (Atom)"
msgid "FOAF for %s"
msgstr "Vriend van een vriend (FOAF) voor %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"Dit is de tijdlijn voor %1$s, maar %2$s heeft nog geen berichten verzonden."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3594,7 +3675,7 @@ msgstr ""
"Hebt u recentelijk iets interessants gezien? U hebt nog geen mededelingen "
"verstuurd, dus dit is een ideaal moment om daarmee te beginnen!"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3603,7 +3684,7 @@ msgstr ""
"U kunt proberen %1$s te porren of [een bericht voor die gebruiker plaatsen](%"
"%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3617,7 +3698,7 @@ msgstr ""
"abonneren op de mededelingen van **%s** en nog veel meer! [Meer lezen...](%%%"
"%doc.help%%%%)"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3628,7 +3709,7 @@ msgstr ""
"(http://en.wikipedia.org/wiki/Micro-blogging) gebaseerd op de Vrije Software "
"[StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Herhaald van %s"
@@ -3790,10 +3871,6 @@ msgstr ""
"Hoe lang gebruikers moeten wachten (in seconden) voor ze hetzelfde kunnen "
"zenden."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Websiteinstellingen opslaan"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS-instellingen"
@@ -3999,9 +4076,9 @@ msgid "SMS"
msgstr "SMS"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Gebruikers die zichzelf met %1$s hebben gelabeld - pagina %2$d"
+msgstr "Mededelingen met het label %1$s, pagina %2$d"
#: actions/tag.php:86
#, php-format
@@ -4109,84 +4186,64 @@ msgstr "Gebruiker"
msgid "User settings for this StatusNet site."
msgstr "Gebruikersinstellingen voor deze StatusNet-website."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Ongeldige beschrijvingslimiet. Het moet een getal zijn."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Ongeldige welkomsttekst. De maximale lengte is 255 tekens."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Ongeldig standaardabonnement: \"%1$s\" is geen gebruiker."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profiel"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Profiellimiet"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "De maximale lengte van de profieltekst in tekens."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nieuwe gebruikers"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Welkom voor nieuwe gebruikers"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Welkomsttekst voor nieuwe gebruikers. Maximaal 255 tekens."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Standaardabonnement"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Nieuwe gebruikers automatisch op deze gebruiker abonneren"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Uitnodigingen"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Uitnodigingen ingeschakeld"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Of gebruikers nieuwe gebruikers kunnen uitnodigen."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessies"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Sessieafhandeling"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Of sessies door de software zelf afgehandeld moeten worden."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Sessies debuggen"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Debuguitvoer voor sessies inschakelen."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Abonneren"
@@ -4307,9 +4364,9 @@ msgid "Enjoy your hotdog!"
msgstr "Geniet van uw hotdog!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "%1$s groeps leden, pagina %2$d"
+msgstr "Groepen voor %1$s, pagina %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4340,10 +4397,6 @@ msgstr ""
"Deze website wordt aangedreven door %1$2 versie %2$s. Auteursrechten "
"voorbehouden 2008-2010 Statusnet, Inc. en medewerkers."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Medewerkers"
@@ -4484,23 +4537,24 @@ msgstr ""
msgid "Problem saving notice."
msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling."
+msgstr ""
+"Er is een probleem opgetreden bij het opslaan van het Postvak IN van de "
+"groep."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
"Er is een databasefout opgetreden bij het invoegen van het antwoord: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Welkom bij %1$s, @%2$s!"
@@ -4763,77 +4817,91 @@ msgid "Design configuration"
msgstr "Instellingen vormgeving"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "Padinstellingen"
+msgstr "Gebruikersinstellingen"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "Instellingen vormgeving"
+msgstr "Toegangsinstellingen"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "Padinstellingen"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "Sessieinstellingen"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"Het API-programma heeft lezen-en-schrijventoegang nodig, maar u hebt alleen "
+"maar leestoegang."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+"De API-authenticatie is mislukt. nickname = %1$s, proxy - %2$s, ip = %3$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Applicatie bewerken"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Icoon voor deze applicatie"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Beschrijf uw applicatie in %d tekens"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Beschrijf uw applicatie"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "Bron-URL"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "De URL van de homepage van deze applicatie"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "Organisatie verantwoordelijk voor deze applicatie"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "De URL van de homepage van de organisatie"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL om naar door te verwijzen na authenticatie"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "Browser"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "Desktop"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Type applicatie; browser of desktop"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Alleen-lezen"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Lezen en schrijven"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"Standaardtoegang voor deze applicatie: alleen-lezen of lezen en schrijven"
@@ -4862,11 +4930,11 @@ msgstr "Mededelingen die deze bijlage bevatten"
msgid "Tags for this attachment"
msgstr "Labels voor deze bijlage"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Wachtwoord wijzigen is mislukt"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Wachtwoord wijzigen is niet toegestaan"
@@ -5177,20 +5245,20 @@ msgstr ""
"tracks - nog niet beschikbaar\n"
"tracking - nog niet beschikbaar\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Er is geen instellingenbestand aangetroffen. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Er is gezocht naar instellingenbestanden op de volgende plaatsen: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
"U kunt proberen de installer uit te voeren om dit probleem op te lossen."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Naar het installatieprogramma gaan."
@@ -5840,23 +5908,23 @@ msgstr "W"
msgid "at"
msgstr "op"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "in context"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Herhaald door"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Op deze mededeling antwoorden"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Antwoorden"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Mededeling herhaald"
@@ -5998,6 +6066,10 @@ msgstr "Deze mededeling herhalen?"
msgid "Repeat this notice"
msgstr "Deze mededeling herhalen"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Zandbak"
@@ -6163,47 +6235,47 @@ msgstr "Bericht"
msgid "Moderate"
msgstr "Modereren"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "een paar seconden geleden"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "ongeveer een minuut geleden"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "ongeveer %d minuten geleden"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "ongeveer een uur geleden"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "ongeveer %d uur geleden"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "ongeveer een dag geleden"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "ongeveer %d dagen geleden"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "ongeveer een maand geleden"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "ongeveer %d maanden geleden"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "ongeveer een jaar geleden"
diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po
index 44c9c6cd5..084e2d6fe 100644
--- a/locale/nn/LC_MESSAGES/statusnet.po
+++ b/locale/nn/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:27+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:43+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nn\n"
"X-Message-Group: out-statusnet\n"
@@ -63,11 +63,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Lagra"
@@ -98,7 +99,7 @@ msgstr "Dette emneord finst ikkje."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -155,7 +156,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -180,7 +181,7 @@ msgstr "Oppdateringar frå %1$s og vener på %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,12 +363,12 @@ msgstr "Kan ikkje oppdatera brukar."
msgid "Two user ids or screen_names must be supplied."
msgstr "To brukar IDer eller kallenamn er naudsynte."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Kan ikkje hente offentleg straum."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Kan ikkje finna einkvan status."
@@ -390,8 +391,8 @@ msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
msgid "Not a valid nickname."
msgstr "Ikkje eit gyldig brukarnamn."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -403,8 +404,8 @@ msgstr "Heimesida er ikkje ei gyldig internettadresse."
msgid "Full name is too long (max 255 chars)."
msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "skildringa er for lang (maks 140 teikn)."
@@ -484,18 +485,23 @@ msgstr "%s grupper"
msgid "groups on %s"
msgstr "Gruppe handlingar"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ugyldig storleik."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -506,83 +512,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Der var eit problem med sesjonen din. Vennlegst prøv på nytt."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Ugyldig brukarnamn eller passord."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Feil ved å setja brukar."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "databasefeil ved innsetjing av skigardmerkelapp (#merkelapp): %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Uventa skjemasending."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Konto"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Kallenamn"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Passord"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Alle"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -756,8 +763,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Forhandsvis"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Slett"
@@ -806,8 +813,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Nei"
@@ -816,9 +824,9 @@ msgstr "Nei"
msgid "Do not block this user"
msgstr "LÃ¥s opp brukaren"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Jau"
@@ -927,6 +935,50 @@ msgstr "Stadfestingskode"
msgid "Notices"
msgstr "Notisar"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Du må være logga inn for å lage ei gruppe."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Notisen har ingen profil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Du er ikkje medlem av den gruppa."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Det var eit problem med sesjons billetten din."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Denne notisen finst ikkje."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Kan ikkje sletta notisen."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Slett denne notisen"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -963,7 +1015,7 @@ msgstr "Sikker på at du vil sletta notisen?"
msgid "Do not delete this notice"
msgstr "Kan ikkje sletta notisen."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Slett denne notisen"
@@ -1117,7 +1169,7 @@ msgstr "Denne notisen er ikkje ein favoritt!"
msgid "Add to favorites"
msgstr "Legg til i favorittar"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Slikt dokument finst ikkje."
@@ -1132,22 +1184,12 @@ msgstr "Andre val"
msgid "You must be logged in to edit an application."
msgstr "Du må være logga inn for å lage ei gruppe."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Du er ikkje medlem av den gruppa."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Denne notisen finst ikkje."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Det var eit problem med sesjons billetten din."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1158,47 +1200,52 @@ msgstr "Bruk dette skjemaet for å redigere gruppa"
msgid "Name is required."
msgstr "Samme som passord over. PÃ¥krevd."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Beskriving"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Heimesida er ikkje ei gyldig internettadresse."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Plassering er for lang (maksimalt 255 teikn)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Kann ikkje oppdatera gruppa."
@@ -1274,8 +1321,8 @@ msgstr ""
"med instruksjonar."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Avbryt"
@@ -2138,11 +2185,11 @@ msgstr "Du må være logga inn for å lage ei gruppe."
msgid "Use this form to register a new application."
msgstr "Bruk dette skjemaet for å lage ein ny gruppe."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Kunne ikkje lagre favoritt."
@@ -2277,29 +2324,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Du er ikkje medlem av den gruppa."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2692,7 +2739,7 @@ msgid "Full name"
msgstr "Fullt namn"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Heimeside"
@@ -2821,39 +2868,39 @@ msgstr "Offentleg tidsline, side %d"
msgid "Public timeline"
msgstr "Offentleg tidsline"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Offentleg straum"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Offentleg straum"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Offentleg straum"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2862,7 +2909,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3229,7 +3276,7 @@ msgstr "Du kan ikkje registrera deg om du ikkje godtek vilkåra i lisensen."
msgid "You already repeated that notice."
msgstr "Du har allereie blokkert denne brukaren."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Lag"
@@ -3291,6 +3338,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Melding til %1$s på %2$s"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Lasta opp brukarbilete."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3301,6 +3353,37 @@ msgstr "Du kan ikkje sende melding til denne brukaren."
msgid "User is already sandboxed."
msgstr "Brukar har blokkert deg."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Avatar-innstillingar"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3311,23 +3394,23 @@ msgstr "Du må være innlogga for å melde deg ut av ei gruppe."
msgid "Application profile"
msgstr "Notisen har ingen profil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Kallenamn"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Paginering"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Beskriving"
@@ -3338,42 +3421,42 @@ msgstr "Statistikk"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3583,25 +3666,25 @@ msgstr "Notisstraum for %s"
msgid "FOAF for %s"
msgstr "Utboks for %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3610,7 +3693,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3620,7 +3703,7 @@ msgstr ""
"**%s** har ein konto på %%%%site.name%%%%, ei [mikroblogging](http://en."
"wikipedia.org/wiki/Micro-blogging)-teneste"
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Svar til %s"
@@ -3781,11 +3864,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Avatar-innstillingar"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4096,90 +4174,70 @@ msgstr "Brukar"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "Invitér nye brukarar"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Alle tingingar"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Automatisk ting notisane til dei som tingar mine (best for ikkje-menneskje)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Invitasjon(er) sendt"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "Invitasjon(er) sendt"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autoriser tinging"
@@ -4332,11 +4390,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Lasta opp brukarbilete."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4463,22 +4516,22 @@ msgstr "Du kan ikkje lengre legge inn notisar på denne sida."
msgid "Problem saving notice."
msgstr "Eit problem oppstod ved lagring av notis."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Eit problem oppstod ved lagring av notis."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Databasefeil, kan ikkje lagra svar: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Melding til %1$s på %2$s"
@@ -4763,68 +4816,82 @@ msgstr "SMS bekreftelse"
msgid "Paths configuration"
msgstr "SMS bekreftelse"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS bekreftelse"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Beskriv gruppa eller emnet med 140 teikn"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Beskriv gruppa eller emnet med 140 teikn"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Kjeldekode"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL til heimesida eller bloggen for gruppa eller emnet"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL til heimesida eller bloggen for gruppa eller emnet"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4854,12 +4921,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Endra passord"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Endra passord"
@@ -5130,20 +5197,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Ingen stadfestingskode."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "Logg inn or sida"
@@ -5721,25 +5788,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "Ingen innhald."
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Lag"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Svar på denne notisen"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Svar"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Melding lagra"
@@ -5888,6 +5955,10 @@ msgstr "Svar på denne notisen"
msgid "Repeat this notice"
msgstr "Svar på denne notisen"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6065,47 +6136,47 @@ msgstr "Melding"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "eit par sekund sidan"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "omtrent eitt minutt sidan"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "~%d minutt sidan"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "omtrent ein time sidan"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "~%d timar sidan"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "omtrent ein dag sidan"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "~%d dagar sidan"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "omtrent ein månad sidan"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "~%d månadar sidan"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "omtrent eitt år sidan"
diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po
index 292affef5..372892a6d 100644
--- a/locale/pl/LC_MESSAGES/statusnet.po
+++ b/locale/pl/LC_MESSAGES/statusnet.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:33+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:50+0000\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pl\n"
"X-Message-Group: out-statusnet\n"
@@ -29,14 +29,12 @@ msgid "Access"
msgstr "Dostęp"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Zapisz ustawienia strony"
+msgstr "Ustawienia dostępu witryny"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "Zarejestruj siÄ™"
+msgstr "Rejestracja"
#: actions/accessadminpanel.php:161
msgid "Private"
@@ -44,7 +42,7 @@ msgstr "Prywatna"
#: actions/accessadminpanel.php:163
msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr "Zabronić anonimowym użytkownikom (niezalogowanym) przeglądać stronę?"
+msgstr "Zabronić anonimowym użytkownikom (niezalogowanym) przeglądać witrynę?"
#: actions/accessadminpanel.php:167
msgid "Invite only"
@@ -65,18 +63,18 @@ msgstr "Wyłączenie nowych rejestracji."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Zapisz"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Zapisz ustawienia strony"
+msgstr "Zapisz ustawienia dostępu"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -99,7 +97,7 @@ msgstr "Nie ma takiej strony"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -163,7 +161,7 @@ msgstr ""
"[wysłać coś wymagającego jego uwagi](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -189,7 +187,7 @@ msgstr "Aktualizacje z %1$s i przyjaciół na %2$s."
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -367,11 +365,11 @@ msgstr "Nie można zrezygnować z obserwacji samego siebie."
msgid "Two user ids or screen_names must be supplied."
msgstr "Należy dostarczyć dwa identyfikatory lub nazwy użytkowników."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Nie można określić użytkownika źródłowego."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Nie można odnaleźć użytkownika docelowego."
@@ -393,8 +391,8 @@ msgstr "Pseudonim jest już używany. Spróbuj innego."
msgid "Not a valid nickname."
msgstr "To nie jest prawidłowy pseudonim."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -406,8 +404,8 @@ msgstr "Strona domowa nie jest prawidłowym adresem URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Imię i nazwisko jest za długie (maksymalnie 255 znaków)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Opis jest za długi (maksymalnie %d znaków)."
@@ -484,18 +482,23 @@ msgstr "Grupy %s"
msgid "groups on %s"
msgstr "grupy na %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Błędne żądanie."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
+
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Nieprawidłowy rozmiar."
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -506,19 +509,19 @@ msgstr "Błędne żądanie."
msgid "There was a problem with your session token. Try again, please."
msgstr "Wystąpił problem z tokenem sesji. Spróbuj ponownie."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Nieprawidłowy pseudonim/hasło."
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr "Błąd bazy danych podczas usuwania użytkownika aplikacji OAuth."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr "Błąd bazy danych podczas wprowadzania użytkownika aplikacji OAuth."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -526,60 +529,61 @@ msgid ""
msgstr ""
"Token żądania %s został upoważniony. Proszę wymienić go na token dostępu."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Token żądania %s został odrzucony."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Nieoczekiwane wysłanie formularza."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "Aplikacja chce połączyć się z kontem użytkownika"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Zezwolić czy odmówić dostęp"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Konto"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Pseudonim"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Hasło"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Odrzuć"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Zezwól"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Zezwól lub odmów dostęp do informacji konta."
@@ -748,8 +752,8 @@ msgstr "Oryginał"
msgid "Preview"
msgstr "PodglÄ…d"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Usuń"
@@ -799,8 +803,9 @@ msgstr ""
"do ciebie zostanie usunięta, nie będzie mógł cię subskrybować w przyszłości "
"i nie będziesz powiadamiany o żadnych odpowiedziach @ od niego."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Nie"
@@ -808,9 +813,9 @@ msgstr "Nie"
msgid "Do not block this user"
msgstr "Nie blokuj tego użytkownika"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Tak"
@@ -914,6 +919,52 @@ msgstr "Rozmowa"
msgid "Notices"
msgstr "Wpisy"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Musisz być zalogowany, aby zmodyfikować aplikację."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Informacje o aplikacji"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Nie jesteś właścicielem tej aplikacji."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Wystąpił problem z tokenem sesji."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Zmodyfikuj aplikacjÄ™"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Na pewno usunąć tego użytkownika? Wyczyści to wszystkie dane o użytkowniku z "
+"bazy danych, bez utworzenia kopii zapasowej."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Nie usuwaj tego wpisu"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Ikona tej aplikacji"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -948,7 +999,7 @@ msgstr "Jesteś pewien, że chcesz usunąć ten wpis?"
msgid "Do not delete this notice"
msgstr "Nie usuwaj tego wpisu"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Usuń ten wpis"
@@ -983,7 +1034,7 @@ msgstr "WyglÄ…d"
#: actions/designadminpanel.php:73
msgid "Design settings for this StatusNet site."
-msgstr "Ustawienia wyglÄ…du tej strony StatusNet."
+msgstr "Ustawienia wyglÄ…du tej witryny StatusNet."
#: actions/designadminpanel.php:275
msgid "Invalid logo URL."
@@ -1000,7 +1051,7 @@ msgstr "Zmień logo"
#: actions/designadminpanel.php:380
msgid "Site logo"
-msgstr "Logo strony"
+msgstr "Logo witryny"
#: actions/designadminpanel.php:387
msgid "Change theme"
@@ -1008,11 +1059,11 @@ msgstr "Zmień motyw"
#: actions/designadminpanel.php:404
msgid "Site theme"
-msgstr "Motyw strony"
+msgstr "Motyw witryny"
#: actions/designadminpanel.php:405
msgid "Theme for the site."
-msgstr "Motyw strony."
+msgstr "Motyw witryny."
#: actions/designadminpanel.php:417 lib/designsettings.php:101
msgid "Change background image"
@@ -1028,7 +1079,7 @@ msgstr "TÅ‚o"
msgid ""
"You can upload a background image for the site. The maximum file size is %1"
"$s."
-msgstr "Można wysłać obraz tła dla strony. Maksymalny rozmiar pliku to %1$s."
+msgstr "Można wysłać obraz tła dla witryny. Maksymalny rozmiar pliku to %1$s."
#: actions/designadminpanel.php:457 lib/designsettings.php:139
msgid "On"
@@ -1090,13 +1141,12 @@ msgstr "Ten wpis nie jest ulubiony."
msgid "Add to favorites"
msgstr "Dodaj do ulubionych"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Nie ma takiego dokumentu."
+msgstr "Nie ma takiego dokumentu \\\"%s\\\""
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "Zmodyfikuj aplikacjÄ™"
@@ -1104,20 +1154,11 @@ msgstr "Zmodyfikuj aplikacjÄ™"
msgid "You must be logged in to edit an application."
msgstr "Musisz być zalogowany, aby zmodyfikować aplikację."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Nie jesteś właścicielem tej aplikacji."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Nie ma takiej aplikacji."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Wystąpił problem z tokenem sesji."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "Użyj tego formularza, aby zmodyfikować aplikację."
@@ -1126,43 +1167,48 @@ msgstr "Użyj tego formularza, aby zmodyfikować aplikację."
msgid "Name is required."
msgstr "Nazwa jest wymagana."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "Nazwa jest za długa (maksymalnie 255 znaków)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Pseudonim jest już używany. Spróbuj innego."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "Opis jest wymagany."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "Źródłowy adres URL jest za długi."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "Źródłowy adres URL jest nieprawidłowy."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "Organizacja jest wymagana."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "Organizacja jest za długa (maksymalnie 255 znaków)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "Strona domowa organizacji jest wymagana."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "Adres zwrotny jest za długi."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "Adres zwrotny URL jest nieprawidłowy."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Nie można zaktualizować aplikacji."
@@ -1235,8 +1281,8 @@ msgstr ""
"instrukcjami."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Anuluj"
@@ -1402,7 +1448,7 @@ msgstr "Popularne wpisy, strona %d"
#: actions/favorited.php:79
msgid "The most popular notices on the site right now."
-msgstr "Najpopularniejsze wpisy na stronie w te chwili."
+msgstr "Najpopularniejsze wpisy na witrynie w te chwili."
#: actions/favorited.php:150
msgid "Favorite notices appear on this page but no one has favorited one yet."
@@ -1829,9 +1875,9 @@ msgid "That is not your Jabber ID."
msgstr "To nie jest twój identyfikator Jabbera."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Odebrane wiadomości użytkownika %s"
+msgstr "Odebrane wiadomości użytkownika %1$s - strona %2$d"
#: actions/inbox.php:62
#, php-format
@@ -1891,7 +1937,7 @@ msgid ""
"on the site. Thanks for growing the community!"
msgstr ""
"Zostaniesz powiadomiony, kiedy ktoÅ› zaakceptuje zaproszenie i zarejestruje "
-"się na stronie. Dziękujemy za pomoc w zwiększaniu społeczności."
+"się na witrynie. Dziękujemy za pomoc w zwiększaniu społeczności."
#: actions/invite.php:162
msgid ""
@@ -2023,7 +2069,7 @@ msgstr "Zaloguj siÄ™"
#: actions/login.php:227
msgid "Login to site"
-msgstr "Zaloguj siÄ™ na stronie"
+msgstr "Zaloguj siÄ™ na witrynie"
#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
@@ -2080,7 +2126,6 @@ msgid "No current status"
msgstr "Brak obecnego stanu"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Nowa aplikacja"
@@ -2092,11 +2137,11 @@ msgstr "Musisz być zalogowany, aby zarejestrować aplikację."
msgid "Use this form to register a new application."
msgstr "Użyj tego formularza, aby zarejestrować aplikację."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "Źródłowy adres URL jest wymagany."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Nie można utworzyć aplikacji."
@@ -2230,28 +2275,28 @@ msgstr "Zarejestrowane aplikacje"
msgid "You have not registered any applications yet."
msgstr "Nie zarejestrowano jeszcze żadnych aplikacji."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Połączone aplikacje"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr "Zezwolono następującym aplikacjom na dostęp do konta."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Nie jesteś użytkownikiem tej aplikacji."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "Nie można unieważnić dostępu dla aplikacji: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "Nie upoważniono żadnych aplikacji do używania konta."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr "Programiści mogą zmodyfikować ustawienia rejestracji swoich aplikacji "
@@ -2338,9 +2383,9 @@ msgid "Login token expired."
msgstr "Token logowania wygasł."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Wysłane wiadomości użytkownika %s"
+msgstr "Wysłane wiadomości użytkownika %1$s - strona %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2418,7 +2463,7 @@ msgstr "Ścieżki"
#: actions/pathsadminpanel.php:70
msgid "Path and server settings for this StatusNet site."
-msgstr "Ustawienia ścieżki i serwera dla tej strony StatusNet."
+msgstr "Ustawienia ścieżki i serwera dla tej witryny StatusNet."
#: actions/pathsadminpanel.php:157
#, php-format
@@ -2447,7 +2492,7 @@ msgstr "Nieprawidłowy serwer SSL. Maksymalna długość to 255 znaków."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
#: lib/adminpanelaction.php:311
msgid "Site"
-msgstr "Strona"
+msgstr "Witryny"
#: actions/pathsadminpanel.php:238
msgid "Server"
@@ -2463,7 +2508,7 @@ msgstr "Ścieżka"
#: actions/pathsadminpanel.php:242
msgid "Site path"
-msgstr "Ścieżka do strony"
+msgstr "Ścieżka do witryny"
#: actions/pathsadminpanel.php:246
msgid "Path to locales"
@@ -2598,7 +2643,7 @@ msgstr "Nieprawidłowa zawartość wpisu"
#: actions/postnotice.php:90
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
-msgstr "Licencja wpisu \"%1$s\" nie jest zgodna z licencjÄ… strony \"%2$s\"."
+msgstr "Licencja wpisu \"%1$s\" nie jest zgodna z licencjÄ… witryny \"%2$s\"."
#: actions/profilesettings.php:60
msgid "Profile settings"
@@ -2626,13 +2671,13 @@ msgid "Full name"
msgstr "ImiÄ™ i nazwisko"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Strona domowa"
#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
-msgstr "Adres URL strony domowej, bloga lub profilu na innej stronie"
+msgstr "Adres URL strony domowej, bloga lub profilu na innej witrynie"
#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
@@ -2753,19 +2798,19 @@ msgstr "Publiczna oÅ› czasu, strona %d"
msgid "Public timeline"
msgstr "Publiczna oÅ› czasu"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Kanał publicznego strumienia (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Kanał publicznego strumienia (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Kanał publicznego strumienia (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2774,11 +2819,11 @@ msgstr ""
"To jest publiczna oÅ› czasu dla %%site.name%%, ale nikt jeszcze nic nie "
"wysłał."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Zostań pierwszym, który coś wyśle."
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2786,7 +2831,7 @@ msgstr ""
"Dlaczego nie [zarejestrujesz konta](%%action.register%%) i zostaniesz "
"pierwszym, który coś wyśle."
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2799,7 +2844,7 @@ msgstr ""
"[Dołącz teraz](%%action.register%%), aby dzielić się wpisami o sobie z "
"przyjaciółmi, rodziną i kolegami. ([Przeczytaj więcej](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3099,7 +3144,7 @@ msgid ""
msgstr ""
"Aby subskrybować, można [zalogować się](%%action.login%%) lub [zarejestrować]"
"(%%action.register%%) nowe konto. Jeśli już posiadasz konto na [zgodnej "
-"stronie mikroblogowania](%%doc.openmublog%%), podaj poniżej adres URL "
+"witrynie mikroblogowania](%%doc.openmublog%%), podaj poniżej adres URL "
"profilu."
#: actions/remotesubscribe.php:112
@@ -3165,7 +3210,7 @@ msgstr "Nie można powtórzyć własnego wpisu."
msgid "You already repeated that notice."
msgstr "Już powtórzono ten wpis."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Powtórzono"
@@ -3180,9 +3225,9 @@ msgid "Replies to %s"
msgstr "Odpowiedzi na %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "odpowiedzi dla użytkownika %1$s na %2$s."
+msgstr "odpowiedzi dla użytkownika %1$s, strona %2$s"
#: actions/replies.php:144
#, php-format
@@ -3231,14 +3276,48 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "odpowiedzi dla użytkownika %1$s na %2$s."
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
-msgstr "Nie można ograniczać użytkowników na tej stronie."
+msgstr "Nie można ograniczać użytkowników na tej witrynie."
#: actions/sandbox.php:72
msgid "User is already sandboxed."
msgstr "Użytkownik jest już ograniczony."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sesje"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "Ustawienia sesji tej witryny StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Obsługa sesji"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Czy samodzielnie obsługiwać sesje."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Debugowanie sesji"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Włącza wyjście debugowania dla sesji."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Zapisz ustawienia witryny"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Musisz być zalogowany, aby wyświetlić aplikację."
@@ -3247,21 +3326,21 @@ msgstr "Musisz być zalogowany, aby wyświetlić aplikację."
msgid "Application profile"
msgstr "Profil aplikacji"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Ikona"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Nazwa"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "Organizacja"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Opis"
@@ -3271,43 +3350,43 @@ msgid "Statistics"
msgstr "Statystyki"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "utworzona przez %1$s - domyślny dostęp: %2$s - %3$d użytkowników"
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "Czynności aplikacji"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "Przywrócenie klucza i sekretu"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Informacje o aplikacji"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "Klucz klienta"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Sekret klienta"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "Adres URL tokenu żądania"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "Adres URL tokenu żądania"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "Adres URL upoważnienia"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3316,9 +3395,9 @@ msgstr ""
"nie jest obsługiwana."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "Ulubione wpisy użytkownika %s"
+msgstr "Ulubione wpisy użytkownika %1$s, strona %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3378,9 +3457,9 @@ msgid "%s group"
msgstr "Grupa %s"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "Członkowie grupy %1$s, strona %2$d"
+msgstr "Grupa %1$s, strona %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3503,9 +3582,9 @@ msgid " tagged %s"
msgstr " ze znacznikiem %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s i przyjaciele, strona %2$d"
+msgstr "%1$s, strona %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3532,13 +3611,13 @@ msgstr "Kanał wpisów dla %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF dla %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"To jest oś czasu dla użytkownika %1$s, ale %2$s nie nic jeszcze nie wysłał."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3546,7 +3625,7 @@ msgstr ""
"Widziałeś ostatnio coś interesującego? Nie wysłałeś jeszcze żadnych wpisów, "
"teraz jest dobry czas, aby zacząć. :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3555,7 +3634,7 @@ msgstr ""
"Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś, co wymaga jego "
"uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3569,7 +3648,7 @@ msgstr ""
"obserwować wpisy użytkownika **%s** i wiele więcej. ([Przeczytaj więcej](%%%%"
"doc.help%%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3580,14 +3659,14 @@ msgstr ""
"pl.wikipedia.org/wiki/Mikroblog) opartej na wolnym narzędziu [StatusNet]"
"(http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Powtórzenia %s"
#: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site."
-msgstr "Nie można wyciszać użytkowników na tej stronie."
+msgstr "Nie można wyciszać użytkowników na tej witrynie."
#: actions/silence.php:72
msgid "User is already silenced."
@@ -3595,11 +3674,11 @@ msgstr "Użytkownik jest już wyciszony."
#: actions/siteadminpanel.php:69
msgid "Basic settings for this StatusNet site."
-msgstr "Podstawowe ustawienia tej strony StatusNet."
+msgstr "Podstawowe ustawienia tej witryny StatusNet."
#: actions/siteadminpanel.php:132
msgid "Site name must have non-zero length."
-msgstr "Nazwa strony nie może mieć zerową długość."
+msgstr "Nazwa witryny nie może mieć zerową długość."
#: actions/siteadminpanel.php:140
msgid "You must have a valid contact email address."
@@ -3636,7 +3715,7 @@ msgstr "Ogólne"
#: actions/siteadminpanel.php:242
msgid "Site name"
-msgstr "Nazwa strony"
+msgstr "Nazwa witryny"
#: actions/siteadminpanel.php:243
msgid "The name of your site, like \"Yourcompany Microblog\""
@@ -3660,7 +3739,7 @@ msgstr "Adres URL używany do odnośnika do zasług w stopce każdej strony"
#: actions/siteadminpanel.php:257
msgid "Contact email address for your site"
-msgstr "Kontaktowy adres e-mail strony"
+msgstr "Kontaktowy adres e-mail witryny"
#: actions/siteadminpanel.php:263
msgid "Local"
@@ -3672,11 +3751,11 @@ msgstr "Domyślna strefa czasowa"
#: actions/siteadminpanel.php:275
msgid "Default timezone for the site; usually UTC."
-msgstr "Domyśla strefa czasowa strony, zwykle UTC."
+msgstr "Domyśla strefa czasowa witryny, zwykle UTC."
#: actions/siteadminpanel.php:281
msgid "Default site language"
-msgstr "Domyślny język strony"
+msgstr "Domyślny język witryny"
#: actions/siteadminpanel.php:289
msgid "Snapshots"
@@ -3736,10 +3815,6 @@ msgstr ""
"Ile czasu użytkownicy muszą czekać (w sekundach), aby ponownie wysłać to "
"samo."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Zapisz ustawienia strony"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Ustawienia SMS"
@@ -3945,9 +4020,9 @@ msgid "SMS"
msgstr "SMS"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Użytkownicy używający znacznika %1$s - strona %2$d"
+msgstr "Wpisy ze znacznikiem %1$s, strona %2$d"
#: actions/tag.php:86
#, php-format
@@ -4043,7 +4118,7 @@ msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
"Licencja nasłuchiwanego strumienia \"%1$s\" nie jest zgodna z licencją "
-"strony \"%2$s\"."
+"witryny \"%2$s\"."
#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
#: lib/personalgroupnav.php:115
@@ -4052,86 +4127,66 @@ msgstr "Użytkownik"
#: actions/useradminpanel.php:69
msgid "User settings for this StatusNet site."
-msgstr "Ustawienia użytkownika dla tej strony StatusNet."
+msgstr "Ustawienia użytkownika dla tej witryny StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Nieprawidłowe ograniczenie informacji o sobie. Musi być liczbowa."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Nieprawidłowy tekst powitania. Maksymalna długość to 255 znaków."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Nieprawidłowa domyślna subskrypcja: \"%1$s\" nie jest użytkownikiem."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Ograniczenie informacji o sobie"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Maksymalna długość informacji o sobie jako liczba znaków."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nowi użytkownicy"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Powitanie nowego użytkownika"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Tekst powitania nowych użytkowników (maksymalnie 255 znaków)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Domyślna subskrypcja"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Automatyczne subskrybowanie nowych użytkowników do tego użytkownika."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Zaproszenia"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Zaproszenia są włączone"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Czy zezwolić użytkownikom zapraszanie nowych użytkowników."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sesje"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Obsługa sesji"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Czy samodzielnie obsługiwać sesje."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Debugowanie sesji"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Włącza wyjście debugowania dla sesji."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Upoważnij subskrypcję"
@@ -4182,7 +4237,7 @@ msgid ""
"subscription. Your subscription token is:"
msgstr ""
"Subskrypcja została upoważniona, ale nie przekazano zwrotnego adresu URL. "
-"Sprawdź w instrukcjach strony, jak upoważnić subskrypcję. Token subskrypcji:"
+"Sprawdź w instrukcjach witryny, jak upoważnić subskrypcję. Token subskrypcji:"
#: actions/userauthorization.php:259
msgid "Subscription rejected"
@@ -4195,7 +4250,7 @@ msgid ""
"subscription."
msgstr ""
"Subskrypcja została odrzucona, ale nie przekazano zwrotnego adresu URL. "
-"Sprawdź w instrukcjach strony, jak w pełni odrzucić subskrypcję."
+"Sprawdź w instrukcjach witryny, jak w pełni odrzucić subskrypcję."
#: actions/userauthorization.php:296
#, php-format
@@ -4248,9 +4303,9 @@ msgid "Enjoy your hotdog!"
msgstr "Smacznego hot-doga."
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "Członkowie grupy %1$s, strona %2$d"
+msgstr "Grupy użytkownika %1$s, strona %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4277,13 +4332,9 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
-"Ta strona korzysta z oprogramowania %1$s w wersji %2$s, Copyright 2008-2010 "
+"Ta witryna korzysta z oprogramowania %1$s w wersji %2$s, Copyright 2008-2010 "
"StatusNet, Inc. i współtwórcy."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Współtwórcy"
@@ -4416,28 +4467,27 @@ msgstr ""
#: classes/Notice.php:235
msgid "You are banned from posting notices on this site."
-msgstr "Zabroniono ci wysyłania wpisów na tej stronie."
+msgstr "Zabroniono ci wysyłania wpisów na tej witrynie."
#: classes/Notice.php:294 classes/Notice.php:319
msgid "Problem saving notice."
msgstr "Problem podczas zapisywania wpisu."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Problem podczas zapisywania wpisu."
+msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "BÅ‚Ä…d bazy danych podczas wprowadzania odpowiedzi: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Witaj w %1$s, @%2$s."
@@ -4489,7 +4539,7 @@ msgstr "Strona bez nazwy"
#: lib/action.php:433
msgid "Primary site navigation"
-msgstr "Główna nawigacja strony"
+msgstr "Główna nawigacja witryny"
#: lib/action.php:439
msgid "Home"
@@ -4513,7 +4563,7 @@ msgstr "Połącz z serwisami"
#: lib/action.php:448
msgid "Change site configuration"
-msgstr "Zmień konfigurację strony"
+msgstr "Zmień konfigurację witryny"
#: lib/action.php:452 lib/subgroupnav.php:105
msgid "Invite"
@@ -4530,7 +4580,7 @@ msgstr "Wyloguj siÄ™"
#: lib/action.php:458
msgid "Logout from the site"
-msgstr "Wyloguj siÄ™ ze strony"
+msgstr "Wyloguj siÄ™ z witryny"
#: lib/action.php:463
msgid "Create an account"
@@ -4538,7 +4588,7 @@ msgstr "Utwórz konto"
#: lib/action.php:466
msgid "Login to the site"
-msgstr "Zaloguj siÄ™ na stronÄ™"
+msgstr "Zaloguj siÄ™ na witrynie"
#: lib/action.php:469 lib/action.php:732
msgid "Help"
@@ -4558,7 +4608,7 @@ msgstr "Wyszukaj osoby lub tekst"
#: lib/action.php:493
msgid "Site notice"
-msgstr "Wpis strony"
+msgstr "Wpis witryny"
#: lib/action.php:559
msgid "Local views"
@@ -4570,7 +4620,7 @@ msgstr "Wpis strony"
#: lib/action.php:727
msgid "Secondary site navigation"
-msgstr "Druga nawigacja strony"
+msgstr "Druga nawigacja witryny"
#: lib/action.php:734
msgid "About"
@@ -4631,7 +4681,7 @@ msgstr ""
#: lib/action.php:801
msgid "Site content license"
-msgstr "Licencja zawartości strony"
+msgstr "Licencja zawartości witryny"
#: lib/action.php:806
#, php-format
@@ -4673,7 +4723,7 @@ msgstr "Wcześniej"
#: lib/adminpanelaction.php:96
msgid "You cannot make changes to this site."
-msgstr "Nie można wprowadzić zmian strony."
+msgstr "Nie można wprowadzić zmian witryny."
#: lib/adminpanelaction.php:107
msgid "Changes to that panel are not allowed."
@@ -4693,84 +4743,99 @@ msgstr "Nie można usunąć ustawienia wyglądu."
#: lib/adminpanelaction.php:312
msgid "Basic site configuration"
-msgstr "Podstawowa konfiguracja strony"
+msgstr "Podstawowa konfiguracja witryny"
#: lib/adminpanelaction.php:317
msgid "Design configuration"
msgstr "Konfiguracja wyglÄ…du"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "Konfiguracja ścieżek"
+msgstr "Konfiguracja użytkownika"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "Konfiguracja wyglÄ…du"
+msgstr "Konfiguracja dostępu"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "Konfiguracja ścieżek"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "Konfiguracja sesji"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"Zasób API wymaga dostępu do zapisu i do odczytu, ale powiadasz dostęp tylko "
+"do odczytu."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+"Próba uwierzytelnienia API nie powiodła się, pseudonim = %1$s, pośrednik = %2"
+"$s, IP = %3$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Zmodyfikuj aplikacjÄ™"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Ikona tej aplikacji"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Opisz aplikacjÄ™ w %d znakach"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Opisz aplikacjÄ™"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "Źródłowy adres URL"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "Adres URL strony domowej tej aplikacji"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "Organizacja odpowiedzialna za tÄ™ aplikacjÄ™"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "Adres URL strony domowej organizacji"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "Adres URL do przekierowania po uwierzytelnieniu"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "PrzeglÄ…darka"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "Pulpit"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Typ aplikacji, przeglÄ…darka lub pulpit"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Tylko do odczytu"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Odczyt i zapis"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"Domyślny dostęp do tej aplikacji: tylko do odczytu lub do odczytu i zapisu"
@@ -4799,11 +4864,11 @@ msgstr "Powiadamia, kiedy pojawia się ten załącznik"
msgid "Tags for this attachment"
msgstr "Znaczniki dla tego załącznika"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Zmiana hasła nie powiodła się"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Zmiana hasła nie jest dozwolona"
@@ -5112,19 +5177,19 @@ msgstr ""
"tracks - jeszcze nie zaimplementowano\n"
"tracking - jeszcze nie zaimplementowano\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Nie odnaleziono pliku konfiguracji."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Szukano plików konfiguracji w następujących miejscach: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Należy uruchomić instalator, aby to naprawić."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Przejdź do instalatora."
@@ -5769,23 +5834,23 @@ msgstr "Zachód"
msgid "at"
msgstr "w"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "w rozmowie"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Powtórzone przez"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Odpowiedz na ten wpis"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Odpowiedz"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Powtórzono wpis"
@@ -5926,6 +5991,10 @@ msgstr "Powtórzyć ten wpis?"
msgid "Repeat this notice"
msgstr "Powtórz ten wpis"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Ogranicz"
@@ -5936,7 +6005,7 @@ msgstr "Ogranicz tego użytkownika"
#: lib/searchaction.php:120
msgid "Search site"
-msgstr "Przeszukaj stronÄ™"
+msgstr "Przeszukaj witrynÄ™"
#: lib/searchaction.php:126
msgid "Keyword(s)"
@@ -5952,7 +6021,7 @@ msgstr "Osoby"
#: lib/searchgroupnav.php:81
msgid "Find people on this site"
-msgstr "Znajdź osoby na tej stronie"
+msgstr "Znajdź osoby na tej witrynie"
#: lib/searchgroupnav.php:83
msgid "Find content of notices"
@@ -5960,7 +6029,7 @@ msgstr "Przeszukaj zawartość wpisów"
#: lib/searchgroupnav.php:85
msgid "Find groups on this site"
-msgstr "Znajdź grupy na tej stronie"
+msgstr "Znajdź grupy na tej witrynie"
#: lib/section.php:89
msgid "Untitled section"
@@ -6091,47 +6160,47 @@ msgstr "Wiadomość"
msgid "Moderate"
msgstr "Moderuj"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "kilka sekund temu"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "około minutę temu"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "około %d minut temu"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "około godzinę temu"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "około %d godzin temu"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "blisko dzień temu"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "około %d dni temu"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "około miesiąc temu"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "około %d miesięcy temu"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "około rok temu"
diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po
index 86e7899ee..96d35bf8a 100644
--- a/locale/pt/LC_MESSAGES/statusnet.po
+++ b/locale/pt/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:37+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:54+0000\n"
"Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: out-statusnet\n"
@@ -61,11 +61,12 @@ msgstr "Impossibilitar registos novos."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Gravar"
@@ -95,7 +96,7 @@ msgstr "Página não encontrada."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -157,7 +158,7 @@ msgstr ""
"Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [publicar "
"qualquer coisa à sua atenção](%%%%action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -183,7 +184,7 @@ msgstr "Actualizações de %1$s e amigos no %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -360,11 +361,11 @@ msgstr "Não pode deixar de seguir-se a si próprio."
msgid "Two user ids or screen_names must be supplied."
msgstr "Devem ser fornecidos dois nomes de utilizador ou utilizadors."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Não foi possível determinar o utilizador de origem."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Não foi possível encontrar o utilizador de destino."
@@ -386,8 +387,8 @@ msgstr "Utilizador já é usado. Tente outro."
msgid "Not a valid nickname."
msgstr "Utilizador não é válido."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -399,8 +400,8 @@ msgstr "Página de ínicio não é uma URL válida."
msgid "Full name is too long (max 255 chars)."
msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Descrição demasiado longa (máx. 140 caracteres)."
@@ -477,18 +478,23 @@ msgstr "Grupos de %s"
msgid "groups on %s"
msgstr "Grupos em %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Tamanho inválido."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -499,84 +505,85 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Ocorreu um problema com a sua sessão. Por favor, tente novamente."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Nome de utilizador ou senha inválidos."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Erro ao configurar utilizador."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Erro na base de dados ao inserir a marca: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Envio inesperado de formulário."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Conta"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Utilizador"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Senha"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
#, fuzzy
msgid "Deny"
msgstr "Estilo"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "Todas"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -745,8 +752,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Antevisão"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Apagar"
@@ -796,8 +803,9 @@ msgstr ""
"subscrição por este utilizador será cancelada, ele não poderá subscrevê-lo "
"de futuro e você não receberá notificações das @-respostas dele."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Não"
@@ -805,9 +813,9 @@ msgstr "Não"
msgid "Do not block this user"
msgstr "Não bloquear este utilizador"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sim"
@@ -912,6 +920,53 @@ msgstr "Conversação"
msgid "Notices"
msgstr "Notas"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Precisa de iniciar sessão para editar um grupo."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Nota não tem perfil"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Não é membro deste grupo."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Ocorreu um problema com a sua sessão."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Nota não encontrada."
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Tem a certeza de que quer apagar este utilizador? Todos os dados do "
+"utilizador serão eliminados da base de dados, sem haver cópias."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Não apagar esta nota"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Apagar esta nota"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -946,7 +1001,7 @@ msgstr "Tem a certeza de que quer apagar esta nota?"
msgid "Do not delete this notice"
msgstr "Não apagar esta nota"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Apagar esta nota"
@@ -1090,7 +1145,7 @@ msgstr "Esta nota não é uma favorita!"
msgid "Add to favorites"
msgstr "Adicionar às favoritas"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Documento não encontrado."
@@ -1105,22 +1160,12 @@ msgstr "Outras opções"
msgid "You must be logged in to edit an application."
msgstr "Precisa de iniciar sessão para editar um grupo."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Não é membro deste grupo."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Nota não encontrada."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Ocorreu um problema com a sua sessão."
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1131,48 +1176,53 @@ msgstr "Use este formulário para editar o grupo."
msgid "Name is required."
msgstr "Repita a senha acima. Obrigatório."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Utilizador já é usado. Tente outro."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Descrição"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "A URL ‘%s’ do avatar é inválida."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Localidade demasiado longa (máx. 255 caracteres)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
#, fuzzy
msgid "Callback URL is not valid."
msgstr "A URL ‘%s’ do avatar é inválida."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Não foi possível actualizar o grupo."
@@ -1245,8 +1295,8 @@ msgstr ""
"na caixa de spam!) uma mensagem com mais instruções."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancelar"
@@ -2112,11 +2162,11 @@ msgstr "Tem de iniciar uma sessão para criar o grupo."
msgid "Use this form to register a new application."
msgstr "Use este formulário para criar um grupo novo."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Não foi possível criar sinónimos."
@@ -2252,29 +2302,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Não é um membro desse grupo."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2655,7 +2705,7 @@ msgid "Full name"
msgstr "Nome completo"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Página pessoal"
@@ -2781,19 +2831,19 @@ msgstr "Notas públicas, página %d"
msgid "Public timeline"
msgstr "Notas públicas"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Fonte de Notas Públicas (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Fonte de Notas Públicas (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Fonte de Notas Públicas (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2802,11 +2852,11 @@ msgstr ""
"Estas são as notas públicas do site %%site.name%% mas ninguém publicou nada "
"ainda."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Seja a primeira pessoa a publicar!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2814,7 +2864,7 @@ msgstr ""
"Podia [registar uma conta](%%action.register%%) e ser a primeira pessoa a "
"publicar!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2827,7 +2877,7 @@ msgstr ""
"[StatusNet](http://status.net/). [Registe-se agora](%%action.register%%) "
"para partilhar notas sobre si, família e amigos! ([Saber mais](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3196,7 +3246,7 @@ msgstr "Não pode repetir a sua própria nota."
msgid "You already repeated that notice."
msgstr "Já repetiu essa nota."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Repetida"
@@ -3262,6 +3312,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respostas a %1$s em %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Não pode impedir notas públicas neste site."
@@ -3270,6 +3324,37 @@ msgstr "Não pode impedir notas públicas neste site."
msgid "User is already sandboxed."
msgstr "Utilizador já está impedido de criar notas públicas."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessões"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Configurações do estilo deste site StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Gerir sessões"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Se devemos gerir sessões nós próprios."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Depuração de sessões"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Ligar a impressão de dados de depuração, para sessões."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Gravar configurações do site"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3280,22 +3365,22 @@ msgstr "Precisa de iniciar uma sessão para deixar um grupo."
msgid "Application profile"
msgstr "Nota não tem perfil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Nome"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Paginação"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Descrição"
@@ -3306,43 +3391,43 @@ msgstr "Estatísticas"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "Autor"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3565,12 +3650,12 @@ msgstr "Fonte de notas para %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF para %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Estas são as notas de %1$s, mas %2$s ainda não publicou nenhuma."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3578,7 +3663,7 @@ msgstr ""
"Viu algo de interessante ultimamente? Como ainda não publicou nenhuma nota, "
"esta seria uma óptima altura para começar :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3587,7 +3672,7 @@ msgstr ""
"Pode tentar dar um toque em %1$s ou [publicar algo à sua atenção](%%%%action."
"newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3601,7 +3686,7 @@ msgstr ""
"register%%) para seguir as notas de **%s** e de muitos mais! ([Saber mais](%%"
"doc.help%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3612,7 +3697,7 @@ msgstr ""
"(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
"Software Livre [StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Repetência de %s"
@@ -3768,10 +3853,6 @@ msgstr ""
"Quanto tempo os utilizadores terão de esperar (em segundos) para publicar a "
"mesma coisa outra vez."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Gravar configurações do site"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Configurações de SMS"
@@ -4086,84 +4167,64 @@ msgstr "Utilizador"
msgid "User settings for this StatusNet site."
msgstr "Configurações do utilizador para este site StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite da biografia inválido. Tem de ser numérico."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Subscrição predefinida é inválida: '%1$s' não é utilizador."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Limite da Biografia"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Tamanho máximo de uma biografia em caracteres."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Utilizadores novos"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Boas-vindas a utilizadores novos"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Texto de boas-vindas a utilizadores novos (máx. 255 caracteres)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Subscrição predefinida"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Novos utilizadores subscrevem automaticamente este utilizador."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Convites"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Convites habilitados"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Permitir, ou não, que utilizadores convidem utilizadores novos."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessões"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Gerir sessões"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Se devemos gerir sessões nós próprios."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Depuração de sessões"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Ligar a impressão de dados de depuração, para sessões."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autorizar subscrição"
@@ -4315,10 +4376,6 @@ msgstr ""
"Este site utiliza o %1$s versão %2$s, (c) 2008-2010 StatusNet, Inc. e "
"colaboradores."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Colaboradores"
@@ -4455,22 +4512,22 @@ msgstr "Está proibido de publicar notas neste site."
msgid "Problem saving notice."
msgstr "Problema na gravação da nota."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problema na gravação da nota."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Ocorreu um erro na base de dados ao inserir a resposta: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "%1$s dá-lhe as boas-vindas, @%2$s!"
@@ -4742,68 +4799,82 @@ msgstr "Configuração do estilo"
msgid "Paths configuration"
msgstr "Configuração das localizações"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Configuração do estilo"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Descreva o grupo ou o assunto em %d caracteres"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Descreva o grupo ou assunto"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Código"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL da página ou do blogue, deste grupo ou assunto"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL da página ou do blogue, deste grupo ou assunto"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4832,11 +4903,11 @@ msgstr "Notas em que este anexo aparece"
msgid "Tags for this attachment"
msgstr "Categorias para este anexo"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Não foi possível mudar a palavra-chave"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Não é permitido mudar a palavra-chave"
@@ -5140,19 +5211,19 @@ msgstr ""
"tracks - ainda não implementado.\n"
"tracking - ainda não implementado.\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Ficheiro de configuração não encontrado. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Procurei ficheiros de configuração nos seguintes sítios: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Talvez queira correr o instalador para resolver esta questão."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Ir para o instalador."
@@ -5798,23 +5869,23 @@ msgstr "O"
msgid "at"
msgstr "coords."
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Responder a esta nota"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Nota repetida"
@@ -5955,6 +6026,10 @@ msgstr "Repetir esta nota?"
msgid "Repeat this notice"
msgstr "Repetir esta nota"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Bloquear notas públicas"
@@ -6120,47 +6195,47 @@ msgstr "Mensagem"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "há alguns segundos"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "há cerca de um minuto"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "há cerca de %d minutos"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "há cerca de uma hora"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "há cerca de %d horas"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "há cerca de um dia"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "há cerca de %d dias"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "há cerca de um mês"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "há cerca de %d meses"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "há cerca de um ano"
diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po
index c3502658a..81c931c45 100644
--- a/locale/pt_BR/LC_MESSAGES/statusnet.po
+++ b/locale/pt_BR/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:40+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:21:58+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: out-statusnet\n"
@@ -62,11 +62,12 @@ msgstr "Desabilita novos registros."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Salvar"
@@ -96,7 +97,7 @@ msgstr "Esta página não existe."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -160,7 +161,7 @@ msgstr ""
"[publicar alguma coisa que desperte seu interesse](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -186,7 +187,7 @@ msgstr "Atualizações de %1$s e amigos no %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -364,11 +365,11 @@ msgstr "Você não pode deixar de seguir você mesmo!"
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
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Não foi possível determinar o usuário de origem."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Não foi possível encontrar usuário de destino."
@@ -392,8 +393,8 @@ msgstr "Esta identificação já está em uso. Tente outro."
msgid "Not a valid nickname."
msgstr "Não é uma identificação válida."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -405,8 +406,8 @@ msgstr "A URL informada não é válida."
msgid "Full name is too long (max 255 chars)."
msgstr "Nome completo muito extenso (máx. 255 caracteres)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Descrição muito extensa (máximo %d caracteres)."
@@ -483,18 +484,23 @@ msgstr "Grupos de %s"
msgid "groups on %s"
msgstr "grupos no %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Requisição errada."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
+
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Tamanho inválido."
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -506,21 +512,23 @@ 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."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Nome de usuário e/ou senha inválido(s)!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
msgstr ""
"Erro no banco de dados durante a exclusão do aplicativo OAuth do usuário."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+#, fuzzy
+msgid "Database error inserting OAuth application user."
msgstr ""
"Erro no banco de dados durante a inserção do aplicativo OAuth do usuário."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -529,60 +537,61 @@ msgstr ""
"O token de requisição %s foi autorizado. Por favor, troque-o por um token de "
"acesso."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "O token de requisição %s foi negado."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Submissão inesperada de formulário."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "Uma aplicação gostaria de se conectar à sua conta"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Permitir ou negar o acesso"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Conta"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Usuário"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Senha"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Negar"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Permitir"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Permitir ou negar o acesso às informações da sua conta."
@@ -752,8 +761,8 @@ msgstr "Original"
msgid "Preview"
msgstr "Visualização"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Excluir"
@@ -804,8 +813,9 @@ msgstr ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Não"
@@ -813,9 +823,9 @@ msgstr "Não"
msgid "Do not block this user"
msgstr "Não bloquear este usuário"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sim"
@@ -919,6 +929,52 @@ msgstr "Conversa"
msgid "Notices"
msgstr "Mensagens"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Você precisa estar autenticado para editar uma aplicação."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Informação da aplicação"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Você não é o dono desta aplicação."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Ocorreu um problema com o seu token de sessão."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Editar a aplicação"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"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/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Não excluir esta mensagem."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Ãcone para esta aplicação"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -953,7 +1009,7 @@ msgstr "Tem certeza que deseja excluir esta mensagem?"
msgid "Do not delete this notice"
msgstr "Não excluir esta mensagem."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Excluir esta mensagem"
@@ -1097,7 +1153,7 @@ msgstr "Esta mensagem não é uma favorita!"
msgid "Add to favorites"
msgstr "Adicionar às favoritas"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Esse documento não existe."
@@ -1111,20 +1167,11 @@ msgstr "Editar a aplicação"
msgid "You must be logged in to edit an application."
msgstr "Você precisa estar autenticado para editar uma aplicação."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Você não é o dono desta aplicação."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Essa aplicação não existe."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Ocorreu um problema com o seu token de sessão."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "Use este formulário para editar a sua aplicação."
@@ -1133,43 +1180,48 @@ msgstr "Use este formulário para editar a sua aplicação."
msgid "Name is required."
msgstr "O nome é obrigatório."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "O nome é muito extenso (máx. 255 caracteres)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Esta identificação já está em uso. Tente outro."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "A descrição é obrigatória."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "A URL da fonte é muito extensa."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "A URL da fonte não é válida."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "A organização é obrigatória."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "A organização é muito extensa (máx. 255 caracteres)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "O site da organização é obrigatório."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "O retorno é muito extenso."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "A URL de retorno não é válida."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Não foi possível atualizar a aplicação."
@@ -1241,8 +1293,8 @@ msgstr ""
"de spam!) por uma mensagem com mais instruções."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Cancelar"
@@ -2113,11 +2165,11 @@ msgstr "Você deve estar autenticado para registrar uma aplicação."
msgid "Use this form to register a new application."
msgstr "Utilize este formulário para registrar uma nova aplicação."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "A URL da fonte é obrigatória."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Não foi possível criar a aplicação."
@@ -2253,28 +2305,28 @@ msgstr "Aplicações que você registrou"
msgid "You have not registered any applications yet."
msgstr "Você ainda não registrou nenhuma aplicação."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Aplicações conectadas"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr "Você permitiu que as seguintes aplicações acessem a sua conta."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Você não é um usuário dessa aplicação."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "Não foi possível revogar o acesso para a aplicação: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "Você não autorizou nenhuma aplicação a usar a sua conta."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
"Os desenvolvedores podem editar as configurações de registro para suas "
@@ -2652,7 +2704,7 @@ msgid "Full name"
msgstr "Nome completo"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Site"
@@ -2779,19 +2831,19 @@ msgstr "Mensagens públicas, pág. %d"
msgid "Public timeline"
msgstr "Mensagens públicas"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Fonte de mensagens públicas (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Fonte de mensagens públicas (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Fonte de mensagens públicas (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2800,11 +2852,11 @@ msgstr ""
"Esse é o fluxo de mensagens públicas de %%site.name%%, mas ninguém publicou "
"nada ainda."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Seja o primeiro a publicar!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2812,7 +2864,7 @@ msgstr ""
"Por que você não [registra uma conta](%%action.register%%) pra ser o "
"primeiro a publicar?"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2825,7 +2877,7 @@ msgstr ""
"[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
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3194,7 +3246,7 @@ msgstr "Você não pode repetir sua própria mensagem."
msgid "You already repeated that notice."
msgstr "Você já repetiu essa mensagem."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Repetida"
@@ -3261,6 +3313,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respostas para %1$s no %2$s"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Você não pode colocar usuários deste site em isolamento."
@@ -3269,6 +3325,37 @@ msgstr "Você não pode colocar usuários deste site em isolamento."
msgid "User is already sandboxed."
msgstr "O usuário já está em isolamento."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessões"
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "Configurações da aparência deste site StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Gerenciar sessões"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Define se nós cuidamos do gerenciamento das sessões."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Depuração da sessão"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Ativa a saída de depuração para as sessões."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Salvar as configurações do site"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Você deve estar autenticado para visualizar uma aplicação."
@@ -3277,21 +3364,21 @@ msgstr "Você deve estar autenticado para visualizar uma aplicação."
msgid "Application profile"
msgstr "Perfil da aplicação"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Ãcone"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Nome"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "Organização"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Descrição"
@@ -3301,43 +3388,43 @@ msgid "Statistics"
msgstr "Estatísticas"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "criado por %1$s - %2$s acessa por padrão - %3$d usuários"
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "Ações da aplicação"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "Restaurar a chave e o segredo"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Informação da aplicação"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "Chave do consumidor"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Segredo do consumidor"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "URL do token de requisição"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "URL do token de acesso"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "Autorizar a URL"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3562,14 +3649,14 @@ msgstr "Fonte de mensagens de %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF de %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
"Este é o fluxo público de mensagens de %1$s, mas %2$s não publicou nada "
"ainda."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3577,7 +3664,7 @@ msgstr ""
"Viu alguma coisa interessante recentemente? Você ainda não publicou nenhuma "
"mensagem. Que tal começar agora? :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3586,7 +3673,7 @@ msgstr ""
"Você pode tentar chamar a atenção de %1$s ou [publicar alguma coisa que "
"desperte seu interesse](%%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3600,7 +3687,7 @@ msgstr ""
"acompanhar as mensagens de **%s** e muito mais! ([Saiba mais](%%%%doc.help%%%"
"%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3611,7 +3698,7 @@ msgstr ""
"pt.wikipedia.org/wiki/Micro-blogging) baseado no software livre [StatusNet]"
"(http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Repetição de %s"
@@ -3767,10 +3854,6 @@ msgstr ""
"Quanto tempo (em segundos) os usuários devem esperar para publicar a mesma "
"coisa novamente."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Salvar as configurações do site"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Configuração do SMS"
@@ -4083,85 +4166,65 @@ msgstr "Usuário"
msgid "User settings for this StatusNet site."
msgstr "Configurações de usuário para este site StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite da descrição inválido. Seu valor deve ser numérico."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
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
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Assinatura padrão inválida: '%1$s' não é um usuário."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Limite da descrição"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Comprimento máximo da descrição do perfil, em caracteres."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Novos usuários"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Boas vindas aos novos usuários"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Texto de boas vindas para os novos usuários (máx. 255 caracteres)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Assinatura padrão"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Os novos usuários assinam esse usuário automaticamente."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Convites"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Convites habilitados"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Define se os usuários podem ou não convidar novos usuários."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessões"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Gerenciar sessões"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Define se nós cuidamos do gerenciamento das sessões."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Depuração da sessão"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Ativa a saída de depuração para as sessões."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Autorizar a assinatura"
@@ -4315,10 +4378,6 @@ msgstr ""
"Este site funciona sobre %1$s versão %2$s, Copyright 2008-2010 StatusNet, "
"Inc. e colaboradores."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Colaboradores"
@@ -4452,22 +4511,22 @@ msgstr "Você está proibido de publicar mensagens neste site."
msgid "Problem saving notice."
msgstr "Problema no salvamento da mensagem."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problema no salvamento da mensagem."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Erro no banco de dados na inserção da reposta: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Bem vindo(a) a %1$s, @%2$s!"
@@ -4741,64 +4800,78 @@ msgstr "Configuração da aparência"
msgid "Paths configuration"
msgstr "Configuração dos caminhos"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Configuração da aparência"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Editar a aplicação"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Ãcone para esta aplicação"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Descreva a sua aplicação em %d caracteres"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Descreva sua aplicação"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "URL da fonte"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "URL do site desta aplicação"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "Organização responsável por esta aplicação"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "URL para o site da organização"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL para o redirecionamento após a autenticação"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "Navegador"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "Desktop"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Tipo de aplicação: navegador ou desktop"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Somente leitura"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Leitura e escrita"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"Acesso padrão para esta aplicação: somente leitura ou leitura e escrita"
@@ -4827,11 +4900,11 @@ msgstr "Mensagens onde este anexo aparece"
msgid "Tags for this attachment"
msgstr "Etiquetas para este anexo"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Não foi possível alterar a senha"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Não é permitido alterar a senha"
@@ -5138,19 +5211,19 @@ msgstr ""
"tracks - não implementado ainda\n"
"tracking - não implementado ainda\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Não foi encontrado nenhum arquivo de configuração. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Eu procurei pelos arquivos de configuração nos seguintes lugares: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Você pode querer executar o instalador para corrigir isto."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Ir para o instalador."
@@ -5798,23 +5871,23 @@ msgstr "O"
msgid "at"
msgstr "em"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Responder a esta mensagem"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Mensagem repetida"
@@ -5955,6 +6028,10 @@ msgstr "Repetir esta mensagem?"
msgid "Repeat this notice"
msgstr "Repetir esta mensagem"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Isolamento"
@@ -6120,47 +6197,47 @@ msgstr "Mensagem"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "alguns segundos atrás"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "cerca de 1 minuto atrás"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "cerca de %d minutos atrás"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "cerca de 1 hora atrás"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "cerca de %d horas atrás"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "cerca de 1 dia atrás"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "cerca de %d dias atrás"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "cerca de 1 mês atrás"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "cerca de %d meses atrás"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "cerca de 1 ano atrás"
diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po
index cd58abacb..a9fd1e3cf 100644
--- a/locale/ru/LC_MESSAGES/statusnet.po
+++ b/locale/ru/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:43+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:02+0000\n"
"Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: out-statusnet\n"
@@ -28,12 +28,10 @@ msgid "Access"
msgstr "ПринÑÑ‚ÑŒ"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Сохранить наÑтройки Ñайта"
+msgstr "ÐаÑтройки доÑтупа к Ñайту"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
msgstr "РегиÑтрациÑ"
@@ -65,18 +63,18 @@ msgstr "Отключить новые региÑтрации."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Сохранить"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Сохранить наÑтройки Ñайта"
+msgstr "Сохранить наÑтройки доÑтупа"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -99,7 +97,7 @@ msgstr "Ðет такой Ñтраницы"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -161,7 +159,7 @@ msgstr ""
"что-нибудь Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ или её вниманиÑ](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -187,7 +185,7 @@ msgstr "Обновлено от %1$s и его друзей на %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -367,11 +365,11 @@ msgstr "Ð’Ñ‹ не можете переÑтать Ñледовать за Ñоб
msgid "Two user ids or screen_names must be supplied."
msgstr "Ðадо предÑтавить два имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ кода."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ иÑходного пользователÑ."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Ðе удаётÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ целевого пользователÑ."
@@ -394,8 +392,8 @@ msgstr "Такое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ иÑпользуетÑÑ. Попробуйте
msgid "Not a valid nickname."
msgstr "Ðеверное имÑ."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -407,8 +405,8 @@ msgstr "URL Главной Ñтраницы неверен."
msgid "Full name is too long (max 255 chars)."
msgstr "Полное Ð¸Ð¼Ñ Ñлишком длинное (не больше 255 знаков)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Слишком длинное опиÑание (макÑимум %d Ñимволов)"
@@ -485,18 +483,23 @@ msgstr "Группы %s"
msgid "groups on %s"
msgstr "группы на %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Ðеверный запроÑ."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ðеверный размер."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -507,19 +510,19 @@ msgstr "Ðеверный запроÑ."
msgid "There was a problem with your session token. Try again, please."
msgstr "Проблема Ñ Ð’Ð°ÑˆÐµÐ¹ ÑеÑÑией. Попробуйте ещё раз, пожалуйÑта."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Ðеверное Ð¸Ð¼Ñ Ð¸Ð»Ð¸ пароль."
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr "Ошибка базы данных при удалении Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ OAuth."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr "Ошибка базы данных при добавлении Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ OAuth."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -527,60 +530,61 @@ msgid ""
msgstr ""
"Ключ запроÑа %s авторизован. ПожалуйÑта, обменÑйте его на ключ доÑтупа."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Ключ запроÑа %s отклонён."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Ðетиповое подтверждение формы."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "Приложение хочет ÑоединитьÑÑ Ñ Ð²Ð°ÑˆÐµÐ¹ учётной запиÑью"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Разрешить или запретить доÑтуп"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "ÐаÑтройки"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "ИмÑ"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Пароль"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Запретить"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Разрешить"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Разрешить или запретить доÑтуп к информации вашей учётной запиÑи."
@@ -750,8 +754,8 @@ msgstr "Оригинал"
msgid "Preview"
msgstr "ПроÑмотр"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Удалить"
@@ -801,8 +805,9 @@ msgstr ""
"будет отпиÑан от Ð²Ð°Ñ Ð±ÐµÐ· возможноÑти подпиÑатьÑÑ Ð² будущем, а вам не будут "
"приходить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð± @-ответах от него."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Ðет"
@@ -810,9 +815,9 @@ msgstr "Ðет"
msgid "Do not block this user"
msgstr "Ðе блокировать Ñтого пользователÑ"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Да"
@@ -916,6 +921,52 @@ msgstr "ДиÑкуÑÑиÑ"
msgid "Notices"
msgstr "ЗапиÑи"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы изменить приложение."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ приложении"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Ð’Ñ‹ не ÑвлÑетеÑÑŒ владельцем Ñтого приложениÑ."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Проблема Ñ Ð’Ð°ÑˆÐµÐ¹ ÑеÑÑией. Попробуйте ещё раз, пожалуйÑта."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Изменить приложение"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Ð’Ñ‹ дейÑтвительно хотите удалить Ñтого пользователÑ? Это повлечёт удаление "
+"вÑех данных о пользователе из базы данных без возможноÑти воÑÑтановлениÑ."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Ðе удалÑÑ‚ÑŒ Ñту запиÑÑŒ"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Иконка Ð´Ð»Ñ Ñтого приложениÑ"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -950,7 +1001,7 @@ msgstr "Ð’Ñ‹ уверены, что хотите удалить Ñту запиÑ
msgid "Do not delete this notice"
msgstr "Ðе удалÑÑ‚ÑŒ Ñту запиÑÑŒ"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Удалить Ñту запиÑÑŒ"
@@ -1094,13 +1145,12 @@ msgstr "Эта запиÑÑŒ не входит в чиÑло ваших любиÐ
msgid "Add to favorites"
msgstr "Добавить в любимые"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Ðет такого документа."
+msgstr "Ðет такого документа «%s»"
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "Изменить приложение"
@@ -1108,20 +1158,11 @@ msgstr "Изменить приложение"
msgid "You must be logged in to edit an application."
msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы изменить приложение."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Ð’Ñ‹ не ÑвлÑетеÑÑŒ владельцем Ñтого приложениÑ."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Ðет такого приложениÑ."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Проблема Ñ Ð’Ð°ÑˆÐµÐ¹ ÑеÑÑией. Попробуйте ещё раз, пожалуйÑта."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "ВоÑпользуйтеÑÑŒ Ñтой формой, чтобы изменить приложение."
@@ -1130,43 +1171,48 @@ msgstr "ВоÑпользуйтеÑÑŒ Ñтой формой, чтобы измеÐ
msgid "Name is required."
msgstr "Ð˜Ð¼Ñ Ð¾Ð±Ñзательно."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "Ð˜Ð¼Ñ Ñлишком длинное (не больше 255 знаков)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Такое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ иÑпользуетÑÑ. Попробуйте какое-нибудь другое."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "ОпиÑание обÑзательно."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "URL иÑточника Ñлишком длинный."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "URL иÑточника недейÑтвителен."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "ÐžÑ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±Ñзательна."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "Слишком длинное название организации (макÑимум 255 знаков)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "ДомашнÑÑ Ñтраница организации обÑзательна."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "Обратный вызов Ñлишком длинный."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ вызова недейÑтвителен."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ приложение."
@@ -1238,8 +1284,8 @@ msgstr ""
"Ð´Ð»Ñ Ñпама!), там будут дальнейшие инÑтрукции."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Отменить"
@@ -1847,9 +1893,9 @@ msgid "That is not your Jabber ID."
msgstr "Это не Ваш Jabber ID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "ВходÑщие Ð´Ð»Ñ %s"
+msgstr "ВходÑщие Ð´Ð»Ñ %1$s — Ñтраница %2$d"
#: actions/inbox.php:62
#, php-format
@@ -2098,7 +2144,6 @@ msgid "No current status"
msgstr "Ðет текущего ÑтатуÑа"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Ðовое приложение"
@@ -2110,11 +2155,11 @@ msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы зарегиÑ
msgid "Use this form to register a new application."
msgstr "ИÑпользуйте Ñту форму Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ приложениÑ."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "URL иÑточника обÑзателен."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Ðе удаётÑÑ Ñоздать приложение."
@@ -2247,28 +2292,28 @@ msgstr "ПриложениÑ, которые вы зарегиÑтрировал
msgid "You have not registered any applications yet."
msgstr "Ð’Ñ‹ пока не зарегиÑтрировали ни одного приложениÑ."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Подключённые приложениÑ"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr "Ð’Ñ‹ разрешили доÑтуп к учётной запиÑи Ñледующим приложениÑм."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Ð’Ñ‹ не ÑвлÑетеÑÑŒ пользователем Ñтого приложениÑ."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "Ðе удаётÑÑ Ð¾Ñ‚Ð¾Ð·Ð²Ð°Ñ‚ÑŒ права Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "Ð’Ñ‹ не разрешили приложениÑм иÑпользовать вашу учётную запиÑÑŒ."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr "Разработчики могут изменÑÑ‚ÑŒ наÑтройки региÑтрации Ñвоих приложений "
@@ -2355,9 +2400,9 @@ msgid "Login token expired."
msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð° Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð° иÑтёк."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "ИÑходÑщие Ð´Ð»Ñ %s"
+msgstr "ИÑходÑщие Ð´Ð»Ñ %s — Ñтраница %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2642,7 +2687,7 @@ msgid "Full name"
msgstr "Полное имÑ"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "ГлавнаÑ"
@@ -2768,30 +2813,30 @@ msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð°, Ñтраница %d"
msgid "Public timeline"
msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð°"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Лента публичного потока (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Лента публичного потока (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Лента публичного потока (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr "Это Ð¾Ð±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð° %%site.name%%, однако пока никто ничего не отправил."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Создайте первую запиÑÑŒ!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2799,7 +2844,7 @@ msgstr ""
"Почему бы не [зарегиÑтрироватьÑÑ](%%action.register%%), чтобы Ñтать первым "
"отправителем?"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2813,7 +2858,7 @@ msgstr ""
"register%%), чтобы держать в курÑе Ñвоих Ñобытий поклонников, друзей, "
"родÑтвенников и коллег! ([Читать далее](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3179,7 +3224,7 @@ msgstr "Ð’Ñ‹ не можете повторить ÑобÑтвенную запÐ
msgid "You already repeated that notice."
msgstr "Ð’Ñ‹ уже повторили Ñту запиÑÑŒ."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Повторено"
@@ -3194,9 +3239,9 @@ msgid "Replies to %s"
msgstr "Ответы Ð´Ð»Ñ %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Ответы на запиÑи %1$s на %2$s!"
+msgstr "Ответы Ð´Ð»Ñ %1$s, Ñтраница %2$d"
#: actions/replies.php:144
#, php-format
@@ -3245,6 +3290,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Ответы на запиÑи %1$s на %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3254,6 +3303,36 @@ msgstr ""
msgid "User is already sandboxed."
msgstr "Пользователь уже в режиме пеÑочницы."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "СеÑÑии"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "ÐаÑтройки ÑеÑÑии Ð´Ð»Ñ Ñтого Ñайта StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Управление ÑеÑÑиÑми"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "УправлÑÑ‚ÑŒ ли ÑеÑÑиÑми ÑамоÑтоÑтельно."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Отладка ÑеÑÑий"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Включить отладочный вывод Ð´Ð»Ñ ÑеÑÑий."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Сохранить наÑтройки Ñайта"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы проÑматривать приложениÑ."
@@ -3262,21 +3341,21 @@ msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы проÑмаÑ
msgid "Application profile"
msgstr "Профиль приложениÑ"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Иконка"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "ИмÑ"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "ОрганизациÑ"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "ОпиÑание"
@@ -3286,43 +3365,43 @@ msgid "Statistics"
msgstr "СтатиÑтика"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "Ñоздано %1$s — %2$s доÑтуп по умолчанию — %3$d польз."
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "ДейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "СброÑить ключ и Ñекретную фразу"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ приложении"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "ПотребительÑкий ключ"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Ð¡ÐµÐºÑ€ÐµÑ‚Ð½Ð°Ñ Ñ„Ñ€Ð°Ð·Ð° потребителÑ"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "URL ключа запроÑа"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "URL ключа доÑтупа"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "URL авторизации"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3331,9 +3410,9 @@ msgstr ""
"подпиÑи открытым текÑтом."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "Любимые запиÑи %s"
+msgstr "Любимые запиÑи %1$s, Ñтраница %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3392,9 +3471,9 @@ msgid "%s group"
msgstr "Группа %s"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "УчаÑтники группы %1$s, Ñтраница %2$d"
+msgstr "Группа %1$s, Ñтраница %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3517,9 +3596,9 @@ msgid " tagged %s"
msgstr " Ñ Ñ‚ÐµÐ³Ð¾Ð¼ %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s и друзьÑ, Ñтраница %2$d"
+msgstr "%1$s, Ñтраница %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3546,12 +3625,12 @@ msgstr "Лента запиÑей Ð´Ð»Ñ %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF Ð´Ð»Ñ %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Это лента %1$s, однако %2$s пока ничего не отправил."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3559,7 +3638,7 @@ msgstr ""
"Видели недавно что-нибудь интереÑное? Ð’Ñ‹ ещё не отправили ни одной запиÑи, "
"ÑÐµÐ¹Ñ‡Ð°Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐµÐµ Ð²Ñ€ÐµÐ¼Ñ Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3569,7 +3648,7 @@ msgstr ""
"Ð¿Ñ€Ð¸Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ или её вниманиÑ](%%%%action.newnotice%%%%?status_textarea=%2"
"$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3584,7 +3663,7 @@ msgstr ""
"ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑƒÑ‡Ð°Ñтника **%s** и иметь доÑтуп ко множеÑтву других возможноÑтей! "
"([Читать далее](%%%%doc.help%%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3596,7 +3675,7 @@ msgstr ""
"иÑпользованием Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ [StatusNet](http://status."
"net/)."
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Повтор за %s"
@@ -3753,10 +3832,6 @@ msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Сколько нужно ждать пользователÑм (в Ñекундах) Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ того же ещё раз."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Сохранить наÑтройки Ñайта"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "УÑтановки СМС"
@@ -3964,9 +4039,9 @@ msgid "SMS"
msgstr "СМС"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Пользователи, уÑтановившие Ñебе тег %1$s — Ñтраница %2$d"
+msgstr "ЗапиÑи Ñ Ñ‚ÐµÐ³Ð¾Ð¼ %1$s, Ñтраница %2$d"
#: actions/tag.php:86
#, php-format
@@ -4072,85 +4147,65 @@ msgstr "Пользователь"
msgid "User settings for this StatusNet site."
msgstr "ПользовательÑкие наÑтройки Ð´Ð»Ñ Ñтого Ñайта StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Ðеверное ограничение биографии. Должно быть чиÑлом."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
"Ðеверный текÑÑ‚ приветÑтвиÑ. МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑоÑтавлÑет 255 Ñимволов."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñка по умолчанию: «%1$s» не ÑвлÑетÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профиль"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Ограничение биографии"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° биографии Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² Ñимволах."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Ðовые пользователи"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "ПриветÑтвие новым пользователÑм"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "ТекÑÑ‚ приветÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… пользователей (макÑимум 255 Ñимволов)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "ПодпиÑка по умолчанию"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "ÐвтоматичеÑки подпиÑывать новых пользователей на Ñтого пользователÑ."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "ПриглашениÑ"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "ÐŸÑ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ñ‹"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Разрешать ли пользователÑм приглашать новых пользователей."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "СеÑÑии"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Управление ÑеÑÑиÑми"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "УправлÑÑ‚ÑŒ ли ÑеÑÑиÑми ÑамоÑтоÑтельно."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Отладка ÑеÑÑий"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Включить отладочный вывод Ð´Ð»Ñ ÑеÑÑий."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Ðвторизовать подпиÑку"
@@ -4268,9 +4323,9 @@ msgid "Enjoy your hotdog!"
msgstr "ПриÑтного аппетита!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "УчаÑтники группы %1$s, Ñтраница %2$d"
+msgstr "Группы %1$s, Ñтраница %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4301,10 +4356,6 @@ msgstr ""
"Этот Ñайт Ñоздан на оÑнове %1$s верÑии %2$s, Copyright 2008-2010 StatusNet, "
"Inc. и учаÑтники."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Разработчики"
@@ -4438,22 +4489,21 @@ msgstr "Вам запрещено поÑтитьÑÑ Ð½Ð° Ñтом Ñайте (Ð
msgid "Problem saving notice."
msgstr "Проблемы Ñ Ñохранением запиÑи."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Проблемы Ñ Ñохранением запиÑи."
+msgstr "Проблемы Ñ Ñохранением входÑщих Ñообщений группы."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Ошибка баз данных при вÑтавке ответа Ð´Ð»Ñ %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Добро пожаловать на %1$s, @%2$s!"
@@ -4641,8 +4691,8 @@ msgid ""
"s, available under the [GNU Affero General Public License](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-"Этот ÑÐµÑ€Ð²Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ при помощи [StatusNet](http://status.net/) - "
-"программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð¸ÐºÑ€Ð¾Ð±Ð»Ð¾Ð³Ð¸Ð½Ð³Ð°, верÑии %s, доÑтупного под "
+"Этот ÑÐµÑ€Ð²Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ при помощи [StatusNet](http://status.net/) — "
+"программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð¸ÐºÑ€Ð¾Ð±Ð»Ð¾Ð³Ð³Ð¸Ð½Ð³Ð°, верÑии %s, доÑтупного под "
"лицензией [GNU Affero General Public License](http://www.fsf.org/licensing/"
"licenses/agpl-3.0.html)."
@@ -4716,77 +4766,92 @@ msgid "Design configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹"
+msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ"
+msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¾Ñтупа"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑеÑÑий"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"API реÑурÑа требует доÑтуп Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ запиÑи, но у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ только доÑтуп "
+"Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+"ÐÐµÑƒÐ´Ð°Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° авторизации через API, nickname = %1$s, proxy = %2$s, ip = "
+"%3$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Изменить приложение"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Иконка Ð´Ð»Ñ Ñтого приложениÑ"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Опишите ваше приложение при помощи %d Ñимволов"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Опишите ваше приложение"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "URL иÑточника"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ¹ Ñтраницы Ñтого приложениÑ"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "ОрганизациÑ, ответÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð·Ð° Ñто приложение"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÐµÐ¹ Ñтраницы организации"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле проверки подлинноÑти"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "Браузер"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Среда Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: браузер или Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Только чтение"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Чтение и запиÑÑŒ"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"ДоÑтуп по умолчанию Ð´Ð»Ñ Ñтого приложениÑ: только чтение или чтение и запиÑÑŒ"
@@ -4815,11 +4880,11 @@ msgstr "Сообщает, где поÑвлÑетÑÑ Ñто вложение"
msgid "Tags for this attachment"
msgstr "Теги Ð´Ð»Ñ Ñтого вложениÑ"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ удалоÑÑŒ"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Смена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ разрешена"
@@ -5124,19 +5189,19 @@ msgstr ""
"tracks — пока не реализовано.\n"
"tracking — пока не реализовано.\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Конфигурационный файл не найден. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Конфигурационные файлы иÑкалиÑÑŒ в Ñледующих меÑтах: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Возможно, вы решите запуÑтить уÑтановщик Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтого."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Перейти к уÑтановщику"
@@ -5782,23 +5847,23 @@ msgstr "з. д."
msgid "at"
msgstr "на"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "в контекÑте"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Повторено"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Ответить на Ñту запиÑÑŒ"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Ответить"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "ЗапиÑÑŒ повторена"
@@ -5939,6 +6004,10 @@ msgstr "Повторить Ñту запиÑÑŒ?"
msgid "Repeat this notice"
msgstr "Повторить Ñту запиÑÑŒ"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "ПеÑочница"
@@ -6104,47 +6173,47 @@ msgstr "Сообщение"
msgid "Moderate"
msgstr "Модерировать"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "пару Ñекунд назад"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "около минуты назад"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "около %d минут(ы) назад"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "около чаÑа назад"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "около %d чаÑа(ов) назад"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "около Ð´Ð½Ñ Ð½Ð°Ð·Ð°Ð´"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "около %d днÑ(ей) назад"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "около меÑÑца назад"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "около %d меÑÑца(ев) назад"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "около года назад"
diff --git a/locale/statusnet.po b/locale/statusnet.po
index 799511534..bdd6f05cd 100644
--- a/locale/statusnet.po
+++ b/locale/statusnet.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+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"
@@ -56,11 +56,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr ""
@@ -89,7 +90,7 @@ msgstr ""
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -146,7 +147,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -170,7 +171,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -342,11 +343,11 @@ msgstr ""
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr ""
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr ""
@@ -368,8 +369,8 @@ msgstr ""
msgid "Not a valid nickname."
msgstr ""
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -381,8 +382,8 @@ msgstr ""
msgid "Full name is too long (max 255 chars)."
msgstr ""
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr ""
@@ -459,18 +460,22 @@ msgstr ""
msgid "groups on %s"
msgstr ""
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+msgid "Invalid token."
+msgstr ""
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -481,79 +486,80 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr ""
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr ""
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr ""
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr ""
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr ""
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr ""
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -722,8 +728,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr ""
@@ -770,8 +776,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr ""
@@ -779,9 +786,9 @@ msgstr ""
msgid "Do not block this user"
msgstr ""
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr ""
@@ -885,6 +892,44 @@ msgstr ""
msgid "Notices"
msgstr ""
+#: actions/deleteapplication.php:63
+msgid "You must be logged in to delete an application."
+msgstr ""
+
+#: actions/deleteapplication.php:71
+msgid "Application not found."
+msgstr ""
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr ""
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+msgid "Delete application"
+msgstr ""
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+msgid "Do not delete this application"
+msgstr ""
+
+#: actions/deleteapplication.php:160
+msgid "Delete this application"
+msgstr ""
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -917,7 +962,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr ""
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr ""
@@ -1057,7 +1102,7 @@ msgstr ""
msgid "Add to favorites"
msgstr ""
-#: actions/doc.php:155
+#: actions/doc.php:158
#, php-format
msgid "No such document \"%s\""
msgstr ""
@@ -1070,20 +1115,11 @@ msgstr ""
msgid "You must be logged in to edit an application."
msgstr ""
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr ""
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr ""
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1092,43 +1128,47 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr ""
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+msgid "Name already in use. Try another one."
+msgstr ""
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr ""
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr ""
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr ""
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr ""
@@ -1198,8 +1238,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr ""
@@ -1982,11 +2022,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr ""
@@ -2111,28 +2151,28 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr ""
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2500,7 +2540,7 @@ msgid "Full name"
msgstr ""
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr ""
@@ -2624,36 +2664,36 @@ msgstr ""
msgid "Public timeline"
msgstr ""
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2662,7 +2702,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2991,7 +3031,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr ""
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr ""
@@ -3051,6 +3091,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr ""
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr ""
@@ -3059,6 +3103,36 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr ""
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3067,21 +3141,21 @@ msgstr ""
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr ""
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr ""
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr ""
@@ -3092,42 +3166,42 @@ msgstr ""
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3332,25 +3406,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3359,7 +3433,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3367,7 +3441,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr ""
@@ -3521,10 +3595,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr ""
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr ""
@@ -3815,84 +3885,64 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr ""
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr ""
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4031,10 +4081,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr ""
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4152,21 +4198,21 @@ msgstr ""
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:790
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4431,64 +4477,77 @@ msgstr ""
msgid "Paths configuration"
msgstr ""
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr ""
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr ""
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr ""
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr ""
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4516,11 +4575,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr ""
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr ""
@@ -4782,19 +4841,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5345,23 +5404,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr ""
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr ""
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr ""
@@ -5502,6 +5561,10 @@ msgstr ""
msgid "Repeat this notice"
msgstr ""
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5667,47 +5730,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr ""
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr ""
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr ""
diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po
index 6731f7dfc..a6a277ba1 100644
--- a/locale/sv/LC_MESSAGES/statusnet.po
+++ b/locale/sv/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:47+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:06+0000\n"
"Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: sv\n"
"X-Message-Group: out-statusnet\n"
@@ -25,14 +25,12 @@ msgid "Access"
msgstr "Ã…tkomst"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Spara webbplatsinställningar"
+msgstr "Inställningar för webbplatsåtkomst"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
-msgstr "Registrera"
+msgstr "Registrering"
#: actions/accessadminpanel.php:161
msgid "Private"
@@ -62,18 +60,18 @@ msgstr "Inaktivera nya registreringar."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Spara"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Spara webbplatsinställningar"
+msgstr "Spara inställningar för åtkomst"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -96,7 +94,7 @@ msgstr "Ingen sådan sida"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -109,7 +107,7 @@ msgstr "Ingen sådan användare."
#: actions/all.php:84
#, php-format
msgid "%1$s and friends, page %2$d"
-msgstr "%1$s blockerade profiler, sida %2$d"
+msgstr "%1$s och vänner, sida %2$d"
#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
@@ -158,7 +156,7 @@ msgstr ""
"någonting för hans eller hennes uppmärksamhet](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -184,7 +182,7 @@ msgstr "Uppdateringar från %1$s och vänner på %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -282,7 +280,7 @@ msgstr "Hävning av blockering av användare misslyckades."
#: actions/apidirectmessage.php:89
#, php-format
msgid "Direct messages from %s"
-msgstr "Direktmeddelande från %s"
+msgstr "Direktmeddelanden från %s"
#: actions/apidirectmessage.php:93
#, php-format
@@ -358,11 +356,11 @@ msgstr "Du kan inte sluta följa dig själv."
msgid "Two user ids or screen_names must be supplied."
msgstr "Två användar-ID:n eller screen_names måste tillhandahållas."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Kunde inte fastställa användare hos källan."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Kunde inte hitta målanvändare."
@@ -385,8 +383,8 @@ msgstr "Smeknamnet används redan. Försök med ett annat."
msgid "Not a valid nickname."
msgstr "Inte ett giltigt smeknamn."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -398,8 +396,8 @@ msgstr "Hemsida är inte en giltig URL."
msgid "Full name is too long (max 255 chars)."
msgstr "Fullständigt namn är för långt (max 255 tecken)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Beskrivning är för lång (max 140 tecken)."
@@ -476,18 +474,23 @@ msgstr "%s grupper"
msgid "groups on %s"
msgstr "grupper på %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Dålig förfrågan."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Ogiltig storlek."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -498,79 +501,80 @@ msgstr "Dålig förfrågan."
msgid "There was a problem with your session token. Try again, please."
msgstr "Det var ett problem med din sessions-token. Var vänlig försök igen."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Ogiltigt smeknamn / lösenord!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
msgstr "Databasfel vid borttagning av OAuth-applikationsanvändare."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
msgstr "Databasfel vid infogning av OAuth-applikationsanvändare."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr "Begäran-token %s har godkänts. Byt ut den mot en åtkomst-token."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Begäran-token %s har nekats."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Oväntat inskick av formulär."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "En applikation skulle vilja ansluta till ditt konto"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Tillåt eller neka åtkomst"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Konto"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Smeknamn"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Lösenord"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Neka"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Tillåt"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Tillåt eller neka åtkomst till din kontoinformation."
@@ -740,8 +744,8 @@ msgstr "Orginal"
msgid "Preview"
msgstr "Förhandsgranska"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Ta bort"
@@ -791,8 +795,9 @@ msgstr ""
"prenumeration på dig tas bort, de kommer inte kunna prenumerera på dig i "
"framtiden och du kommer inte bli underrättad om några @-svar från dem."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Nej"
@@ -800,9 +805,9 @@ msgstr "Nej"
msgid "Do not block this user"
msgstr "Blockera inte denna användare"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
@@ -907,6 +912,52 @@ msgstr "Konversationer"
msgid "Notices"
msgstr "Notiser"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Du måste vara inloggad för att redigera en applikation."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Information om applikation"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Du är inte ägaren av denna applikation."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Det var ett problem med din sessions-token."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Redigera applikation"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Är du säker på att du vill ta bort denna användare? Det kommer rensa all "
+"data om användaren från databasen, utan en säkerhetskopia."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Ta inte bort denna notis"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Ikon för denna applikation"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -941,7 +992,7 @@ msgstr "Är du säker på att du vill ta bort denna notis?"
msgid "Do not delete this notice"
msgstr "Ta inte bort denna notis"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Ta bort denna notis"
@@ -1085,13 +1136,12 @@ msgstr "Denna notis är inte en favorit!"
msgid "Add to favorites"
msgstr "Lägg till i favoriter"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Inget sådant dokument."
+msgstr "Inget sådant dokument \"%s\""
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "Redigera applikation"
@@ -1099,20 +1149,11 @@ msgstr "Redigera applikation"
msgid "You must be logged in to edit an application."
msgstr "Du måste vara inloggad för att redigera en applikation."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Du är inte ägaren av denna applikation."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Ingen sådan applikation."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Det var ett problem med din sessions-token."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "Använd detta formulär för att redigera din applikation."
@@ -1121,43 +1162,48 @@ msgstr "Använd detta formulär för att redigera din applikation."
msgid "Name is required."
msgstr "Namn krävs."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "Namnet är för långt (max 255 tecken)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Smeknamnet används redan. Försök med ett annat."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "Beskrivning krävs."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "URL till källa är för lång."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "URL till källa är inte giltig."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "Organisation krävs."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "Organisation är för lång (max 255 tecken)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "Hemsida för organisation krävs."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "Anrop är för lång."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "URL för anrop är inte giltig."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Kunde inte uppdatera applikation."
@@ -1229,8 +1275,8 @@ msgstr ""
"skräppostkorg!) efter ett meddelande med vidare instruktioner."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Avbryt"
@@ -1828,9 +1874,9 @@ msgid "That is not your Jabber ID."
msgstr "Detta är inte ditt Jabber-ID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Inkorg för %s"
+msgstr "Inkorg för %1$s - sida %2$d"
#: actions/inbox.php:62
#, php-format
@@ -1954,6 +2000,32 @@ msgid ""
"\n"
"Sincerely, %2$s\n"
msgstr ""
+"%1$s har bjudit in dig till dem på %2$s (%3$s).\n"
+"\n"
+"%2$s är en mikrobloggtjänst som låter dig hålla dig uppdaterad med folk du "
+"känner och folk som intresserar dig . \n"
+"\n"
+"Du kan också dela nyheter om dig själv, dina tankar, eller ditt liv online "
+"med folk som känner till dig. Det är också bra för att träffa nya människor "
+"som delar dina intressen.\n"
+"\n"
+"%1$s sa:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Du kan se %1$ss profilsida på %2$s här: \n"
+"\n"
+"%5$s\n"
+"\n"
+"Om du vill prova tjänsten, klicka på länken nedan för att acceptera "
+"inbjudan. \n"
+"\n"
+"%6$s\n"
+"\n"
+"Om inte, kan du bortse från detta meddelande. Tack för ditt tålamod och din "
+"tid\n"
+"\n"
+"Vänliga hälsningar, %2$s\n"
#: actions/joingroup.php:60
msgid "You must be logged in to join a group."
@@ -2051,7 +2123,6 @@ msgid "No current status"
msgstr "Ingen aktuell status"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Ny applikation"
@@ -2063,11 +2134,11 @@ msgstr "Du måste vara inloggad för att registrera en applikation."
msgid "Use this form to register a new application."
msgstr "Använd detta formulär för att registrera en ny applikation."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "URL till källa krävs."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Kunde inte skapa applikation."
@@ -2202,28 +2273,28 @@ msgstr "Applikationer du har registrerat"
msgid "You have not registered any applications yet."
msgstr "Du har inte registrerat några applikationer än."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Anslutna applikationer"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr "Du har tillåtit följande applikationer att komma åt ditt konto."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Du är inte en användare av den applikationen."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "Kunde inte återkalla åtkomst för applikation: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "Du har inte tillåtit några applikationer att använda ditt konto."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
"Utvecklare kan redigera registreringsinställningarna för sina applikationer "
@@ -2311,9 +2382,9 @@ msgid "Login token expired."
msgstr "Inloggnings-token förfallen."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Utkorg för %s"
+msgstr "Utkorg för %1$s - sida %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2597,7 +2668,7 @@ msgid "Full name"
msgstr "Fullständigt namn"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Hemsida"
@@ -2725,19 +2796,19 @@ msgstr "Publik tidslinje, sida %d"
msgid "Public timeline"
msgstr "Publik tidslinje"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Publikt flöde av ström (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Publikt flöde av ström (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Publikt flöde av ström (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2746,11 +2817,11 @@ msgstr ""
"Detta är den publika tidslinjen för %%site.name%% men ingen har postat något "
"än."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Bli först att posta!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2758,7 +2829,7 @@ msgstr ""
"Varför inte [registrera ett konto](%%action.register%%) och bli först att "
"posta!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2771,7 +2842,7 @@ msgstr ""
"net/). [Gå med nu](%%action.register%%) för att dela notiser om dig själv "
"med vänner, familj och kollegor! ([Läs mer](%%doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3042,6 +3113,20 @@ msgid ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
+"Grattis, %1$s! Och välkommen till %%%%site.name%%%%. Härifrån kan du...\n"
+"\n"
+"* Gå till [din profil](%2$s) och skicka ditt första meddelande.\n"
+"* Lägg till en [Jabber/GTalk-adress](%%%%action.imsettings%%%%) så att du "
+"kan skicka notiser via snabbmeddelanden.\n"
+"* [Söka efter personer](%%%%action.peoplesearch%%%%) som du kanske känner "
+"eller som delar dina intressen. \n"
+"* Uppdatera dina [profilinställningar](%%%%action.profilesettings%%%%) för "
+"att berätta mer om dig. \n"
+"* Läs igenom [online-dokumentationen](%%%%doc.help%%%%) för funktioner du "
+"kan ha missat. \n"
+"\n"
+"Tack för att du anmält dig och vi hoppas att du kommer tycka om att använda "
+"denna tjänst."
#: actions/register.php:562
msgid ""
@@ -3126,7 +3211,7 @@ msgstr "Du kan inte upprepa din egna notis."
msgid "You already repeated that notice."
msgstr "Du har redan upprepat denna notis."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "Upprepad"
@@ -3141,9 +3226,9 @@ msgid "Replies to %s"
msgstr "Svarat till %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Svar till %1$s på %2$s"
+msgstr "Svar till %1$s, sida %2$s"
#: actions/replies.php:144
#, php-format
@@ -3192,6 +3277,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Svar till %1$s på %2$s"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Du kan inte flytta användare till sandlådan på denna webbplats."
@@ -3200,6 +3289,36 @@ msgstr "Du kan inte flytta användare till sandlådan på denna webbplats."
msgid "User is already sandboxed."
msgstr "Användare är redan flyttad till sandlådan."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "Sessioner"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "Sessionsinställningar för denna StatusNet-webbplats."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Hantera sessioner"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Hurvida sessioner skall hanteras av oss själva."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "Sessionsfelsökning"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Sätt på felsökningsutdata för sessioner."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Spara webbplatsinställningar"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Du måste vara inloggad för att se en applikation."
@@ -3208,21 +3327,21 @@ msgstr "Du måste vara inloggad för att se en applikation."
msgid "Application profile"
msgstr "Applikationsprofil"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Ikon"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Namn"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "Organisation"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Beskrivning"
@@ -3232,43 +3351,43 @@ msgid "Statistics"
msgstr "Statistik"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "skapad av %1$s - %2$s standardåtkomst - %3$d användare"
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "Åtgärder för applikation"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "Återställ nyckel & hemlighet"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Information om applikation"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "Nyckel för konsument"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Hemlighet för konsument"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "URL för begäran-token"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "URL för åtkomst-token"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "Tillåt URL"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3277,9 +3396,9 @@ msgstr ""
"klartextsignatur."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "%ss favoritnotiser"
+msgstr "%1$ss favoritnotiser, sida %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3339,9 +3458,9 @@ msgid "%s group"
msgstr "%s grupp"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "%1$s gruppmedlemmar, sida %2$d"
+msgstr "%1$s grupp, sida %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3463,9 +3582,9 @@ msgid " tagged %s"
msgstr "taggade %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s blockerade profiler, sida %2$d"
+msgstr "%1$s, sida %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3492,12 +3611,12 @@ msgstr "Flöde av notiser för %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF för %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Detta är tidslinjen för %1$s men %2$s har inte postat något än."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3505,7 +3624,7 @@ msgstr ""
"Sett något intressant nyligen? Du har inte postat några notiser än. Varför "
"inte börja nu?"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3514,7 +3633,7 @@ msgstr ""
"Du kan prova att knuffa %1$s eller [posta något för hans eller hennes "
"uppmärksamhet](%%%%action.newnotice%%%%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3527,7 +3646,7 @@ msgstr ""
"[StatusNet](http://status.net/). [Gå med nu](%%%%action.register%%%%) för "
"att följa **%s**s notiser och många fler! ([Läs mer](%%%%doc.help%%%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3538,7 +3657,7 @@ msgstr ""
"wikipedia.org/wiki/Micro-blogging)tjänst baserad på den fria programvaran "
"[StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Upprepning av %s"
@@ -3693,10 +3812,6 @@ msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Hur länge användare måste vänta (i sekunder) för att posta samma sak igen."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Spara webbplatsinställningar"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Inställningar för SMS"
@@ -3902,9 +4017,9 @@ msgid "SMS"
msgstr "SMS"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Användare som taggat sig själv med %1$s - sida %2$d"
+msgstr "Notiser taggade med %1$s, sida %2$d"
#: actions/tag.php:86
#, php-format
@@ -4011,86 +4126,66 @@ msgstr "Användare"
msgid "User settings for this StatusNet site."
msgstr "Användarinställningar för denna StatusNet-webbplats"
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Ogiltig begränsning av biografi. Måste vara numerisk."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Ogiltig välkomsttext. Maximal längd är 255 tecken."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Ogiltig standardprenumeration: '%1$s' är inte användare."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "Begränsning av biografi"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "Maximal teckenlängd av profilbiografi."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Nya användare"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "Välkomnande av ny användare"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Välkomsttext för nya användare (max 255 tecken)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "Standardprenumerationer"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr ""
"Lägg automatiskt till en prenumeration på denna användare för alla nya "
"användare."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "Inbjudningar"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Inbjudningar aktiverade"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "Hurvida användare skall tillåtas bjuda in nya användare."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "Sessioner"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "Hantera sessioner"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Hurvida sessioner skall hanteras av oss själva."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "Sessionsfelsökning"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Sätt på felsökningsutdata för sessioner."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Godkänn prenumeration"
@@ -4209,9 +4304,9 @@ msgid "Enjoy your hotdog!"
msgstr "Smaklig måltid!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "%1$s gruppmedlemmar, sida %2$d"
+msgstr "%1$s grupper, sida %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4242,10 +4337,6 @@ msgstr ""
"Denna webbplats drivs med %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. och medarbetare."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Medarbetare"
@@ -4379,22 +4470,21 @@ msgstr "Du är utestängd från att posta notiser på denna webbplats."
msgid "Problem saving notice."
msgstr "Problem med att spara notis."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Problem med att spara notis."
+msgstr "Problem med att spara gruppinkorg."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Databasfel vid infogning av svar: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Välkommen till %1$s, @%2$s!"
@@ -4573,7 +4663,7 @@ msgstr ""
#: lib/action.php:784
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
-msgstr "**%%site.name%%** är en mikrobloggtjänst."
+msgstr "**%%site.name%%** är en mikrobloggtjänst. "
#: lib/action.php:786
#, php-format
@@ -4593,16 +4683,17 @@ msgstr "Licens för webbplatsinnehåll"
#: lib/action.php:806
#, php-format
msgid "Content and data of %1$s are private and confidential."
-msgstr ""
+msgstr "Innehåll och data av %1$s är privat och konfidensiell."
#: lib/action.php:811
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
-msgstr ""
+msgstr "Innehåll och data copyright av %1$s. Alla rättigheter reserverade."
#: lib/action.php:814
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
+"Innehåll och data copyright av medarbetare. Alla rättigheter reserverade."
#: lib/action.php:826
msgid "All "
@@ -4653,77 +4744,91 @@ msgid "Design configuration"
msgstr "Konfiguration av utseende"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "Konfiguration av sökvägar"
+msgstr "Konfiguration av användare"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "Konfiguration av utseende"
+msgstr "Konfiguration av åtkomst"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "Konfiguration av sökvägar"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "Konfiguration av sessioner"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"API-resursen kräver läs- och skrivrättigheter, men du har bara läsrättighet."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+"Misslyckat försök till API-autentisering, smeknamn =%1$s, proxy =%2$s, ip =%3"
+"$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Redigera applikation"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Ikon för denna applikation"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Beskriv din applikation med högst %d tecken"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Beskriv din applikation"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "URL för källa"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "URL till hemsidan för denna applikation"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "Organisation som ansvarar för denna applikation"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "URL till organisationens hemsidan"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL att omdirigera till efter autentisering"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "Webbläsare"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "Skrivbord"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Typ av applikation, webbläsare eller skrivbord"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Skrivskyddad"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Läs och skriv"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"Standardåtkomst för denna applikation: skrivskyddad, eller läs och skriv"
@@ -4752,11 +4857,11 @@ msgstr "Notiser där denna bilaga förekommer"
msgid "Tags for this attachment"
msgstr "Taggar för denna billaga"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Byte av lösenord misslyckades"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Byte av lösenord är inte tillåtet"
@@ -5021,26 +5126,63 @@ msgid ""
"tracks - not yet implemented.\n"
"tracking - not yet implemented.\n"
msgstr ""
+"Kommandon:\n"
+"on - sätt på notifikationer\n"
+"off - stäng av notifikationer\n"
+"help - visa denna hjälp\n"
+"follow <smeknamn> - prenumerera på användare\n"
+"groups - lista grupperna du tillhör\n"
+"subscriptions - lista personerna du följer\n"
+"subscribers - lista personerna som följer dig\n"
+"leave <smeknamn> - avsluta prenumeration på användare\n"
+"d <smeknamn> <text> - direktmeddelande till användare\n"
+"get <smeknamn> - hämta senaste notis från användare\n"
+"whois <smeknamn> - hämta profilinformation om användare\n"
+"fav <smeknamn> - lägg till användarens senaste notis som favorit\n"
+"fav #<notisid> - lägg till notis med given id som favorit\n"
+"repeat #<notisid> - upprepa en notis med en given id\n"
+"repeat <smeknamn> - upprepa den senaste notisen från användare\n"
+"reply #<notisid> - svara på notis med en given id\n"
+"reply <smeknamn> - svara på den senaste notisen från användare\n"
+"join <grupp> - gå med i grupp\n"
+"login - hämta en länk till webbgränssnittets inloggningssida\n"
+"drop <grupp> - lämna grupp\n"
+"stats - hämta din statistik\n"
+"stop - samma som 'off'\n"
+"quit - samma som 'off'\n"
+"sub <smeknamn> - samma som 'follow'\n"
+"unsub <smeknamn> - samma som 'leave'\n"
+"last <smeknamn> - samma som 'get'\n"
+"on <smeknamn> - inte implementerat än.\n"
+"off <smeknamn> - inte implementerat än.\n"
+"nudge <smeknamn> - påminn en användare om att uppdatera\n"
+"invite <telefonnummer> - inte implementerat än.\n"
+"track <ord> - inte implementerat än.\n"
+"untrack <ord> - inte implementerat än.\n"
+"track off - inte implementerat än.\n"
+"untrack all - inte implementerat än.\n"
+"tracks - inte implementerat än.\n"
+"tracking - inte implementerat än.\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Ingen konfigurationsfil hittades. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Jag letade efter konfigurationsfiler på följande platser: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "Du kanske vill köra installeraren för att åtgärda detta."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "GÃ¥ till installeraren."
#: lib/connectsettingsaction.php:110
msgid "IM"
-msgstr "IM"
+msgstr "Snabbmeddelande"
#: lib/connectsettingsaction.php:111
msgid "Updates by instant messenger (IM)"
@@ -5288,6 +5430,18 @@ msgid ""
"Thanks for your time, \n"
"%s\n"
msgstr ""
+"Hej %s!\n"
+"\n"
+"Någon la precis till den här e-postadressen på %s.\n"
+"\n"
+"Om det var du och du vill bekräfta det, använd webbadressen nedan:\n"
+"\n"
+"%s\n"
+"\n"
+"Om inte, ignorera bara det här meddelandet.\n"
+"\n"
+"Tack för din tid, \n"
+"%s\n"
#: lib/mail.php:236
#, php-format
@@ -5308,6 +5462,16 @@ msgid ""
"----\n"
"Change your email address or notification options at %8$s\n"
msgstr ""
+"%1$s lyssnar nu på dina notiser på %2$s.\n"
+"\n"
+"%3$s\n"
+"\n"
+"%4$s%5$s%6$s\n"
+"Med vänliga hälsningar,\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Ändra din e-postadress eller notiferingsinställningar på %8$s\n"
#: lib/mail.php:258
#, php-format
@@ -5369,6 +5533,17 @@ msgid ""
"With kind regards,\n"
"%4$s\n"
msgstr ""
+"%1$s (%2$s) undrar vad du håller på med nuförtiden och inbjuder dig att "
+"lägga upp några nyheter.\n"
+"\n"
+"Så låt oss höra av dig :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"Svara inte på det här e-postmeddelandet; det kommer inte komma fram.\n"
+"\n"
+"Med vänliga hälsningar,\n"
+"%4$s\n"
#: lib/mail.php:510
#, php-format
@@ -5393,6 +5568,20 @@ msgid ""
"With kind regards,\n"
"%5$s\n"
msgstr ""
+"%1$s (%2$s) skickade ett privat meddelande till dig:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"Du kan svara på meddelandet här:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Svara inte på detta e-postmeddelande; det kommer inte komma fram.\n"
+"\n"
+"Med vänliga hälsningar,\n"
+"%5$s\n"
#: lib/mail.php:559
#, php-format
@@ -5419,6 +5608,22 @@ msgid ""
"Faithfully yours,\n"
"%6$s\n"
msgstr ""
+"%1$s (@%7$s) la precis till din notis från %2$s som en av sina favoriter.\n"
+"\n"
+"Webbadressen för din notis är:\n"
+"\n"
+"%3$s\n"
+"\n"
+"Texten i din notis är:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Du kan se listan med %1$ss favoriter här:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Med vänliga hälsningar,\n"
+"%6$s\n"
#: lib/mail.php:624
#, php-format
@@ -5439,6 +5644,17 @@ msgid ""
"\t%4$s\n"
"\n"
msgstr ""
+"%1$s (@%9$s) skickade precis en notis för din uppmärksamhet (ett '@-svar') "
+"på %2$s.\n"
+"\n"
+"Notisen är här:\n"
+"\n"
+"%3$s\n"
+"\n"
+"Den lyder:\n"
+"\n"
+"%4$s\n"
+"\n"
#: lib/mailbox.php:89
msgid "Only the user can read their own mailboxes."
@@ -5604,23 +5820,23 @@ msgstr "V"
msgid "at"
msgstr "på"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "i sammanhang"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Upprepad av"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "Svara på denna notis"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Svara"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Notis upprepad"
@@ -5761,6 +5977,10 @@ msgstr "Upprepa denna notis?"
msgid "Repeat this notice"
msgstr "Upprepa denna notis"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "Flytta till sandlådan"
@@ -5926,47 +6146,47 @@ msgstr "Meddelande"
msgid "Moderate"
msgstr "Moderera"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "ett par sekunder sedan"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "för nån minut sedan"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "för %d minuter sedan"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "för en timma sedan"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "för %d timmar sedan"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "för en dag sedan"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "för %d dagar sedan"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "för en månad sedan"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "för %d månader sedan"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "för ett år sedan"
diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po
index 54579428c..d8eae4dc5 100644
--- a/locale/te/LC_MESSAGES/statusnet.po
+++ b/locale/te/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:50+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:10+0000\n"
"Language-Team: Telugu\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: te\n"
"X-Message-Group: out-statusnet\n"
@@ -25,12 +25,10 @@ msgid "Access"
msgstr "అంగీకరించà±"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "సైటౠఅమరికలనౠభదà±à°°à°ªà°°à°šà±"
+msgstr "సైటౠఅందà±à°¬à°¾à°Ÿà± అమరికలà±"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
msgstr "నమోదà±"
@@ -62,11 +60,12 @@ msgstr "కొతà±à°¤ నమోదà±à°²à°¨à± అచేతనంచేయి.
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "à°­à°¦à±à°°à°ªà°°à°šà±"
@@ -96,7 +95,7 @@ msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ పేజీ లేదà±"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -153,7 +152,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -177,7 +176,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -305,7 +304,7 @@ msgstr "చాలా పొడవà±à°‚ది. à°—à°°à°¿à°·à±à°  సందేà°
#: actions/apidirectmessagenew.php:146
msgid "Recipient user not found."
-msgstr ""
+msgstr "à°…à°‚à°¦à±à°•à±‹à°µà°¾à°²à±à°¸à°¿à°¨ వాడà±à°•à°°à°¿ కనబడలేదà±."
#: actions/apidirectmessagenew.php:150
msgid "Can't send direct messages to users who aren't your friend."
@@ -334,12 +333,12 @@ msgstr "ఇషà±à°Ÿà°¾à°‚శానà±à°¨à°¿ తొలగించలేకపà±
#: actions/apifriendshipscreate.php:109
msgid "Could not follow user: User not found."
-msgstr ""
+msgstr "వాడà±à°•à°°à°¿à°¨à°¿ à°…à°¨à±à°¸à°°à°¿à°‚చలేకపోయాం: వాడà±à°•à°°à°¿ కనబడలేదà±."
#: actions/apifriendshipscreate.php:118
#, php-format
msgid "Could not follow user: %s is already on your list."
-msgstr ""
+msgstr "వాడà±à°•à°°à°¿à°¨à°¿ à°…à°¨à±à°¸à°°à°¿à°‚చలేకపోయాం: %s ఇపà±à°ªà°Ÿà°¿à°•à±‡ మీ జాబితాలో ఉనà±à°¨à°¾à°°à±."
#: actions/apifriendshipsdestroy.php:109
#, fuzzy
@@ -355,12 +354,12 @@ msgstr "మిమà±à°®à°²à±à°¨à°¿ మీరే నిరోధించà±à°•à
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ తాజాకరించలేకà±à°¨à±à°¨à°¾à°‚."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "లకà±à°·à±à°¯à°¿à°¤ వాడà±à°•à°°à°¿à°¨à°¿ à°•à°¨à±à°—ొనలేకపోయాం."
@@ -382,8 +381,8 @@ msgstr "à°† పేరà±à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ వాడà±à°¤à±à°¨à±
msgid "Not a valid nickname."
msgstr "సరైన పేరౠకాదà±."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -395,8 +394,8 @@ msgstr "హోమౠపేజీ URL సరైనది కాదà±."
msgid "Full name is too long (max 255 chars)."
msgstr "పూరà±à°¤à°¿ పేరౠచాలా పెదà±à°¦à°—à°¾ ఉంది (à°—à°°à°¿à°·à±à° à°‚à°—à°¾ 255 à°…à°•à±à°·à°°à°¾à°²à±)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "వివరణ చాలా పెదà±à°¦à°—à°¾ ఉంది (%d à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
@@ -473,18 +472,23 @@ msgstr "%s à°—à±à°‚à°ªà±à°²à±"
msgid "groups on %s"
msgstr "%s పై à°—à±à°‚à°ªà±à°²à±"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "తపà±à°ªà±à°¡à± à°…à°­à±à°¯à°°à±à°¥à°¨."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
+
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "తపà±à°ªà±à°¡à± పరిమాణం."
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -495,80 +499,82 @@ msgstr "తపà±à°ªà±à°¡à± à°…à°­à±à°¯à°°à±à°¥à°¨."
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "తపà±à°ªà±à°¡à± పేరౠ/ సంకేతపదం!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
-msgstr ""
+#: actions/apioauthauthorize.php:159
+#, fuzzy
+msgid "Database error deleting OAuth application user."
+msgstr "అవతారానà±à°¨à°¿ పెటà±à°Ÿà°¡à°‚లో పొరపాటà±"
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "అవతారానà±à°¨à°¿ పెటà±à°Ÿà°¡à°‚లో పొరపాటà±"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "ఖాతా"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "పేరà±"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "సంకేతపదం"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "తిరసà±à°•à°°à°¿à°‚à°šà±"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "à°…à°¨à±à°®à°¤à°¿à°‚à°šà±"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -662,7 +668,7 @@ msgstr "%s బహిరంగ కాలరేఖ"
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
-msgstr ""
+msgstr "అందరి à°¨à±à°‚à°¡à°¿ %s తాజాకరణలà±!"
#: actions/apitimelineretweetedtome.php:111
#, fuzzy, php-format
@@ -740,8 +746,8 @@ msgstr "అసలà±"
msgid "Preview"
msgstr "à°®à±à°¨à±à°œà±‚à°ªà±"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "తొలగించà±"
@@ -788,8 +794,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "కాదà±"
@@ -797,9 +804,9 @@ msgstr "కాదà±"
msgid "Do not block this user"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించకà±"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "à°…à°µà±à°¨à±"
@@ -905,6 +912,52 @@ msgstr "సంభాషణ"
msgid "Notices"
msgstr "సందేశాలà±"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "ఉపకరణాలని మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ మీరౠపà±à°°à°µà±‡à°¶à°¿à°‚à°šà°¿ ఉండాలి."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "ఉపకరణ సమాచారం"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "మీరౠఈ ఉపకరణం యొకà±à°• యజమాని కాదà±."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "ఉపకరణానà±à°¨à°¿ మారà±à°šà±"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"మీరౠనిజంగానే à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ తొలగించాలనà±à°•à±à°‚à°Ÿà±à°¨à±à°¨à°¾à°°à°¾? ఇది à°† వాడà±à°•à°°à°¿ భోగటà±à°Ÿà°¾à°¨à°¿ డాటాబేసౠనà±à°‚à°¡à°¿ తొలగిసà±à°¤à±à°‚ది, "
+"వెనకà±à°•à°¿ తేలేకà±à°‚à°¡à°¾."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించకà±"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "à°ˆ ఉపకరణానికి à°ªà±à°°à°¤à±€à°•à°‚"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -937,7 +990,7 @@ msgstr "మీరౠనిజంగానే à°ˆ నోటీసà±à°¨à°¿ à°¤à±
msgid "Do not delete this notice"
msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించకà±"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించà±"
@@ -1079,7 +1132,7 @@ msgstr "à°ˆ నోటీసౠఇషà±à°Ÿà°¾à°‚శం కాదà±!"
msgid "Add to favorites"
msgstr "ఇషà±à°Ÿà°¾à°‚శాలకౠచేరà±à°šà±"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ పతà±à°°à°®à±‡à°®à±€ లేదà±."
@@ -1093,20 +1146,11 @@ msgstr "ఉపకరణానà±à°¨à°¿ మారà±à°šà±"
msgid "You must be logged in to edit an application."
msgstr "ఉపకరణాలని మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ మీరౠపà±à°°à°µà±‡à°¶à°¿à°‚à°šà°¿ ఉండాలి."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "మీరౠఈ ఉపకరణం యొకà±à°• యజమాని కాదà±."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ ఉపకరణం లేదà±."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "మీ ఉపకరణానà±à°¨à°¿ మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ à°ˆ ఫారానà±à°¨à°¿ ఉపయోగించండి."
@@ -1115,44 +1159,49 @@ msgstr "మీ ఉపకరణానà±à°¨à°¿ మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿
msgid "Name is required."
msgstr "పేరౠతపà±à°ªà°¨à°¿à°¸à°°à°¿."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "పేరౠచాలా పెదà±à°¦à°—à°¾ ఉంది (à°—à°°à°¿à°·à±à° à°‚à°—à°¾ 255 à°…à°•à±à°·à°°à°¾à°²à±)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "à°† పేరà±à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ వాడà±à°¤à±à°¨à±à°¨à°¾à°°à±. మరోటి à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "వివరణ తపà±à°ªà°¨à°¿à°¸à°°à°¿."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "హోమౠపేజీ URL సరైనది కాదà±."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "సంసà±à°¥ తపà±à°ªà°¨à°¿à°¸à°°à°¿."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "సంసà±à°¥ పేరౠమరీ పెదà±à°¦à°—à°¾ ఉంది (255 à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ తాజాకరించలేకà±à°¨à±à°¨à°¾à°‚."
@@ -1223,8 +1272,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "à°°à°¦à±à°¦à±à°šà±‡à°¯à°¿"
@@ -1430,7 +1479,7 @@ 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
@@ -1467,7 +1516,7 @@ msgstr "à°† వాడà±à°•à°°à°¿ మిమà±à°®à°²à±à°¨à°¿ చందాచే
#: actions/finishremotesubscribe.php:110
msgid "You are not authorized."
-msgstr ""
+msgstr "మీకౠఅధీకరణ లేదà±."
#: actions/finishremotesubscribe.php:113
msgid "Could not convert request token to access token."
@@ -1529,6 +1578,8 @@ msgid ""
"will be removed from the group, unable to post, and unable to subscribe to "
"the group in the future."
msgstr ""
+"నిజంగానే వాడà±à°•à°°à°¿ \"%1$s\"ని \"%2$s\" à°—à±à°‚పౠనà±à°‚à°¡à°¿ నిరోధించాలనà±à°•à±à°‚à°Ÿà±à°¨à±à°¨à°¾à°°à°¾? వారిని à°—à±à°‚పౠనà±à°‚à°¡à°¿ "
+"తొలగిసà±à°¤à°¾à°‚, ఇక భవిషà±à°¯à°¤à±à°¤à±à°²à±‹ వారౠగà±à°‚à°ªà±à°²à±‹ à°ªà±à°°à°šà±à°°à°¿à°‚చలేరà±, మరియౠగà±à°‚à°ªà±à°•à°¿ చందాచేరలేరà±."
#: actions/groupblock.php:178
msgid "Do not block this user from this group"
@@ -1693,6 +1744,8 @@ msgid ""
"Why not [register an account](%%action.register%%) and [create the group](%%"
"action.newgroup%%) yourself!"
msgstr ""
+"[à°’à°• ఖాతాని నమోదà±à°šà±‡à°¸à±à°•à±à°¨à°¿](%%action.register%%) మీరే à°Žà°‚à°¦à±à°•à± [à°† à°—à±à°‚à°ªà±à°¨à°¿ సృషà±à°Ÿà°¿à°‚à°š](%%"
+"action.newgroup%%)కూడదà±!"
#: actions/groupunblock.php:91
msgid "Only an admin can unblock group members."
@@ -1853,7 +1906,7 @@ msgstr ""
#: actions/invite.php:162
msgid ""
"Use this form to invite your friends and colleagues to use this service."
-msgstr ""
+msgstr "à°ˆ ఫారానà±à°¨à°¿ ఉపయోగించి మీ à°¸à±à°¨à±‡à°¹à°¿à°¤à±à°²à°¨à± మరియౠసహోదà±à°¯à±‹à°—à±à°²à°¨à± à°ˆ సేవనౠవినియోగించà±à°•à±‹à°®à°¨à°¿ ఆహà±à°µà°¾à°¨à°¿à°‚à°šà°‚à°¡à°¿."
#: actions/invite.php:187
msgid "Email addresses"
@@ -2006,7 +2059,6 @@ msgid "No current status"
msgstr "à°ªà±à°°à°¸à±à°¤à±à°¤ à°¸à±à°¥à°¿à°¤à°¿ à°à°®à±€ లేదà±"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "కొతà±à°¤ ఉపకరణం"
@@ -2018,11 +2070,11 @@ msgstr "ఉపకరణాలని నమోదà±à°šà±‡à°¸à±à°•à±‹à°¡à°¾à°¨à°
msgid "Use this form to register a new application."
msgstr "కొతà±à°¤ ఉపకరణానà±à°¨à°¿ నమోదà±à°šà±‡à°¸à±à°•à±‹à°¡à°¾à°¨à°¿à°•à°¿ à°ˆ ఫారానà±à°¨à°¿ ఉపయోగించండి."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "మారà±à°ªà±‡à°°à±à°²à°¨à°¿ సృషà±à°Ÿà°¿à°‚చలేకపోయాం."
@@ -2154,28 +2206,28 @@ msgstr "మీరౠనమోదౠచేసివà±à°¨à±à°¨ ఉపకరణ
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "సంధానిత ఉపకరణాలà±"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "మీరౠఆ ఉపకరణం యొకà±à°• వాడà±à°•à°°à°¿ కాదà±."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2558,7 +2610,7 @@ msgid "Full name"
msgstr "పూరà±à°¤à°¿ పేరà±"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "హోమౠపేజీ"
@@ -2683,39 +2735,39 @@ msgstr "à°ªà±à°°à°œà°¾ కాలరేఖ, పేజీ %d"
msgid "Public timeline"
msgstr "à°ªà±à°°à°œà°¾ కాలరేఖ"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "à°ªà±à°°à°œà°¾ వాహిని ఫీడà±"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "à°ªà±à°°à°œà°¾ వాహిని ఫీడà±"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "à°ªà±à°°à°œà°¾ వాహిని ఫీడà±"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2724,7 +2776,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2758,7 +2810,7 @@ msgstr ""
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post "
"one!"
-msgstr ""
+msgstr "[à°’à°• ఖాతాని నమోదà±à°šà±‡à°¸à±à°•à±à°¨à°¿](%%action.register%%) మీరే మొదట à°µà±à°°à°¾à°¸à±‡à°µà°¾à°°à± à°Žà°‚à°¦à±à°•à± కాకూడదà±!"
#: actions/publictagcloud.php:131
msgid "Tag cloud"
@@ -3073,7 +3125,7 @@ msgstr "à°ˆ లైసెనà±à°¸à±à°•à°¿ అంగీకరించకపోà
msgid "You already repeated that notice."
msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ à°† వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించారà±."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
@@ -3122,6 +3174,8 @@ msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
+"మీరౠఇతర వాడà±à°•à°°à±à°²à°¤à±‹ సంభాషించవచà±à°šà±, మరింత మంది à°µà±à°¯à°•à±à°¤à±à°²à°•à± చందాచేరవచà±à°šà± లేదా [à°—à±à°‚à°ªà±à°²à°²à±‹ చేరవచà±à°šà±]"
+"(%%action.groups%%)."
#: actions/replies.php:205
#, php-format
@@ -3135,6 +3189,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%sà°•à°¿ à°¸à±à°ªà°‚దనలà±"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "à°¸à±à°Ÿà±‡à°Ÿà°¸à±â€Œà°¨à±†à°Ÿà±"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3145,6 +3203,37 @@ msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ లోనికి à°ªà±à°°à°µà±‡
msgid "User is already sandboxed."
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ à°—à±à°‚à°ªà±à°¨à±à°‚à°¡à°¿ నిరోధించారà±."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+#, fuzzy
+msgid "Session settings for this StatusNet site."
+msgstr "à°ˆ à°¸à±à°Ÿà±‡à°Ÿà°¸à±&zwnj;నెటౠసైటà±à°•à°¿ రూపà±à°°à±‡à°–à°² అమరికలà±."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "సైటౠఅమరికలనౠభదà±à°°à°ªà°°à°šà±"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3154,21 +3243,21 @@ msgstr "à°—à±à°‚à°ªà±à°¨à°¿ వదిలివెళà±à°³à°¡à°¾à°¨à°¿à°•à°¿ à
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "à°ªà±à°°à°¤à±€à°•à°‚"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "పేరà±"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "సంసà±à°§"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "వివరణ"
@@ -3179,52 +3268,52 @@ msgstr "గణాంకాలà±"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "ఉపకరణ à°šà°°à±à°¯à°²à±"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "ఉపకరణ సమాచారం"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
#, fuzzy
msgid "Authorize URL"
msgstr "రచయిత"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
msgstr ""
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "%sà°•à°¿ ఇషà±à°Ÿà°®à±ˆà°¨ నోటీసà±à°²à±"
+msgstr "%1$sà°•à°¿ ఇషà±à°Ÿà°®à±ˆà°¨ నోటీసà±à°²à±, పేజీ %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3420,25 +3509,26 @@ msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "ఇది %s మరియౠమితà±à°°à±à°² కాలరేఖ కానీ ఇంకా ఎవరూ à°à°®à±€ రాయలేదà±."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3447,7 +3537,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3455,7 +3545,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "%s యొకà±à°• à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°‚"
@@ -3471,7 +3561,7 @@ msgstr "వాడà±à°•à°°à°¿à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ à°—à±à°‚à°ªà±à°¨à
#: actions/siteadminpanel.php:69
msgid "Basic settings for this StatusNet site."
-msgstr ""
+msgstr "à°ˆ à°¸à±à°Ÿà±‡à°Ÿà°¸à±&zwnj;నెటౠసైటà±à°•à°¿ à°ªà±à°°à°¾à°§à°®à°¿à°• అమరికలà±."
#: actions/siteadminpanel.php:132
msgid "Site name must have non-zero length."
@@ -3611,10 +3701,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "సైటౠఅమరికలనౠభదà±à°°à°ªà°°à°šà±"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS అమరికలà±"
@@ -3673,7 +3759,7 @@ msgstr "ఇది ఇపà±à°ªà°Ÿà°¿à°•à±‡ మీ ఫోనౠనెంబరà±
#: actions/smssettings.php:321
msgid "That phone number already belongs to another user."
-msgstr ""
+msgstr "à°† ఫోనౠనంబరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ వేరే వాడà±à°•à°°à°¿à°•à°¿ చెందినది."
#: actions/smssettings.php:347
#, fuzzy
@@ -3751,6 +3837,7 @@ msgid ""
"You have no subscribers. Try subscribing to people you know and they might "
"return the favor"
msgstr ""
+"మీకౠచందాదారà±à°²à± ఎవరూ లేరà±. మీకౠతెలిసినవారికి చందాచేర à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿ వాళà±à°³à± à°ªà±à°°à°¤à±à°¯à±à°ªà°•à°¾à°°à°‚ చేయవచà±à°šà±."
#: actions/subscribers.php:110
#, php-format
@@ -3913,85 +4000,65 @@ msgstr "వాడà±à°•à°°à°¿"
msgid "User settings for this StatusNet site."
msgstr "à°ˆ à°¸à±à°Ÿà±‡à°Ÿà°¸à±&zwnj;నెటౠసైటà±à°•à°¿ వాడà±à°•à°°à°¿ అమరికలà±."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "à°ªà±à°°à±Šà°«à±ˆà°²à±"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯ పరిమితి"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯à°‚ యొకà±à°• à°—à°°à°¿à°·à±à°  పొడవà±, à°…à°•à±à°·à°°à°¾à°²à°²à±‹."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "కొతà±à°¤ వాడà±à°•à°°à±à°²à±"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "కొతà±à°¤ వాడà±à°•à°°à°¿ à°¸à±à°µà°¾à°—తం"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "కొతà±à°¤ వాడà±à°•à°°à±à°²à°•à±ˆ à°¸à±à°µà°¾à°—à°¤ సందేశం (255 à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "à°…à°ªà±à°°à°®à±‡à°¯ చందా"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "ఉపయోగించాలà±à°¸à°¿à°¨ యాంతà±à°°à°¿à°• à°•à±à°¦à°¿à°‚పౠసేవ."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "ఆహà±à°µà°¾à°¨à°¾à°²à±"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "ఆహà±à°µà°¾à°¨à°¾à°²à°¨à°¿ చేతనంచేసాం"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr "వాడà±à°•à°°à±à°²à°¨à± కొతà±à°¤ వారిని ఆహà±à°µà°¾à°¨à°¿à°‚చడానికి à°…à°¨à±à°®à°¤à°¿à°‚చాలా వదà±à°¦à°¾."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr ""
@@ -4130,10 +4197,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "à°¸à±à°Ÿà±‡à°Ÿà°¸à±â€Œà°¨à±†à°Ÿà±"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4195,9 +4258,8 @@ msgid "Group join failed."
msgstr "à°—à±à°‚à°ªà±à°²à±‹ చేరడం విఫలమైంది."
#: classes/Group_member.php:53
-#, fuzzy
msgid "Not part of group."
-msgstr "à°—à±à°‚à°ªà±à°¨à°¿ తాజాకరించలేకà±à°¨à±à°¨à°¾à°‚."
+msgstr "à°—à±à°‚à°ªà±à°²à±‹ భాగం కాదà±."
#: classes/Group_member.php:60
msgid "Group leave failed."
@@ -4254,22 +4316,22 @@ msgstr "à°ˆ సైటà±à°²à±‹ నోటీసà±à°²à± రాయడం à°¨à±à°
msgid "Problem saving notice."
msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "@%2$s, %1$sà°•à°¿ à°¸à±à°µà°¾à°—తం!"
@@ -4528,14 +4590,12 @@ msgid "Basic site configuration"
msgstr "à°ªà±à°°à°¾à°¥à°®à°¿à°• సైటౠసà±à°µà°°à±‚పణం"
#: lib/adminpanelaction.php:317
-#, fuzzy
msgid "Design configuration"
-msgstr "SMS నిరà±à°§à°¾à°°à°£"
+msgstr "రూపకలà±à°ªà°¨ à°¸à±à°µà°°à±‚పణం"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "SMS నిరà±à°§à°¾à°°à°£"
+msgstr "వాడà±à°•à°°à°¿ à°¸à±à°µà°°à±‚పణం"
#: lib/adminpanelaction.php:327
#, fuzzy
@@ -4547,66 +4607,80 @@ msgstr "SMS నిరà±à°§à°¾à°°à°£"
msgid "Paths configuration"
msgstr "SMS నిరà±à°§à°¾à°°à°£"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "రూపకలà±à°ªà°¨ à°¸à±à°µà°°à±‚పణం"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "ఉపకరణానà±à°¨à°¿ మారà±à°šà±"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "à°ˆ ఉపకరణానికి à°ªà±à°°à°¤à±€à°•à°‚"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "మీ ఉపకరణం à°—à±à°°à°¿à°‚à°šà°¿ %d à°…à°•à±à°·à°°à°¾à°²à±à°²à±‹ వివరించండి"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "మీ ఉపకరణానà±à°¨à°¿ వివరించండి"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "మూలమà±"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "à°ˆ ఉపకరణం యొకà±à°• హోమà±&zwnj;పేజీ à°šà°¿à°°à±à°¨à°¾à°®à°¾"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "à°ˆ ఉపకరణానికి బాధà±à°¯à°¤à°¾à°¯à±à°¤à°®à±ˆà°¨ సంసà±à°¥"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "మీ హోమౠపేజీ, à°¬à±à°²à°¾à°—à±, లేదా వేరే సేటà±à°²à±‹à°¨à°¿ మీ à°ªà±à°°à±Šà°«à±ˆà°²à± యొకà±à°• à°šà°¿à°°à±à°¨à°¾à°®à°¾"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "విహారిణి"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4636,12 +4710,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "సంకేతపదం మారà±à°ªà±"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "సంకేతపదం మారà±à°ªà±"
@@ -4911,20 +4985,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "నిరà±à°§à°¾à°°à°£ సంకేతం లేదà±."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5319,7 +5393,7 @@ msgstr ""
#: 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
@@ -5335,6 +5409,16 @@ msgid ""
"\t%4$s\n"
"\n"
msgstr ""
+"%1$s (@%9$s) %2$sలో మీకౠ('@-à°¸à±à°ªà°‚దన') à°’à°• నోటీసà±à°¨à°¿ పంపించారౠ.\n"
+"\n"
+"à°† నోటీసౠఇకà±à°•à°¡:\n"
+"\n"
+"%3$s\n"
+"\n"
+"ఇదీ పాఠà±à°¯à°‚:\n"
+"\n"
+"%4$s\n"
+"\n"
#: lib/mailbox.php:89
msgid "Only the user can read their own mailboxes."
@@ -5495,24 +5579,24 @@ msgstr "à°ª"
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "సందరà±à°­à°‚లో"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "à°¸à±à°ªà°‚దించండి"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "నోటీసà±à°¨à°¿ తొలగించాం."
@@ -5659,6 +5743,10 @@ msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
msgid "Repeat this notice"
msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5832,47 +5920,47 @@ msgstr "సందేశం"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°² à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "à°“ నిమిషం à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "%d నిమిషాల à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "à°’à°• à°—à°‚à°Ÿ à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "%d à°—à°‚à°Ÿà°² à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "à°“ రోజౠకà±à°°à°¿à°¤à°‚"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "%d రోజà±à°² à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "à°“ నెల à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "%d నెలల à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "à°’à°• సంవతà±à°¸à°°à°‚ à°•à±à°°à°¿à°¤à°‚"
diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po
index 5b620f24d..d406e6159 100644
--- a/locale/tr/LC_MESSAGES/statusnet.po
+++ b/locale/tr/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:53+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:13+0000\n"
"Language-Team: Turkish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: out-statusnet\n"
@@ -64,11 +64,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Kaydet"
@@ -99,7 +100,7 @@ msgstr "Böyle bir durum mesajı yok."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -156,7 +157,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -181,7 +182,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,12 +363,12 @@ msgstr "Kullanıcı güncellenemedi."
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Kullanıcı güncellenemedi."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Kullanıcı güncellenemedi."
@@ -392,8 +393,8 @@ msgstr "Takma ad kullanımda. Başka bir tane deneyin."
msgid "Not a valid nickname."
msgstr "Geçersiz bir takma ad."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -405,8 +406,8 @@ msgstr "Başlangıç sayfası adresi geçerli bir URL değil."
msgid "Full name is too long (max 255 chars)."
msgstr "Tam isim çok uzun (azm: 255 karakter)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "Hakkında bölümü çok uzun (azm 140 karakter)."
@@ -486,18 +487,23 @@ msgstr ""
msgid "groups on %s"
msgstr ""
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Geçersiz büyüklük."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -508,83 +514,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Geçersiz kullanıcı adı veya parola."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Kullanıcı ayarlamada hata oluştu."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Cevap eklenirken veritabanı hatası: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "BeklenmeÄŸen form girdisi."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "Hakkında"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Takma ad"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Parola"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -761,8 +768,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr ""
@@ -812,8 +819,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr ""
@@ -822,9 +830,9 @@ msgstr ""
msgid "Do not block this user"
msgstr "Böyle bir kullanıcı yok."
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr ""
@@ -934,6 +942,50 @@ msgstr "Yer"
msgid "Notices"
msgstr "Durum mesajları"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Kullanıcı güncellenemedi."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Bu durum mesajının ait oldugu kullanıcı profili yok"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Bize o profili yollamadınız"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Böyle bir durum mesajı yok."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Böyle bir durum mesajı yok."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -967,7 +1019,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "Böyle bir durum mesajı yok."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr ""
@@ -1120,7 +1172,7 @@ msgstr ""
msgid "Add to favorites"
msgstr ""
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Böyle bir belge yok."
@@ -1134,22 +1186,12 @@ msgstr "Bu durum mesajının ait oldugu kullanıcı profili yok"
msgid "You must be logged in to edit an application."
msgstr ""
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Bize o profili yollamadınız"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Böyle bir durum mesajı yok."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1158,47 +1200,52 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Tam isim çok uzun (azm: 255 karakter)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Takma ad kullanımda. Başka bir tane deneyin."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Abonelikler"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Başlangıç sayfası adresi geçerli bir URL değil."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Yer bilgisi çok uzun (azm: 255 karakter)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Kullanıcı güncellenemedi."
@@ -1273,8 +1320,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Ä°ptal et"
@@ -2107,11 +2154,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Avatar bilgisi kaydedilemedi"
@@ -2240,29 +2287,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Bize o profili yollamadınız"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2657,7 +2704,7 @@ msgid "Full name"
msgstr "Tam Ä°sim"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Başlangıç Sayfası"
@@ -2785,39 +2832,39 @@ msgstr "Genel zaman çizgisi"
msgid "Public timeline"
msgstr "Genel zaman çizgisi"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Genel Durum Akış RSS Beslemesi"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Genel Durum Akış RSS Beslemesi"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Genel Durum Akış RSS Beslemesi"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2826,7 +2873,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3168,7 +3215,7 @@ msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız."
msgid "You already repeated that notice."
msgstr "Zaten giriş yapmış durumdasıznız!"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Yarat"
@@ -3230,6 +3277,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%s için cevaplar"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Avatar güncellendi."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3240,6 +3292,37 @@ msgstr "Bize o profili yollamadınız"
msgid "User is already sandboxed."
msgstr "Kullanıcının profili yok."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Ayarlar"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3249,23 +3332,23 @@ msgstr ""
msgid "Application profile"
msgstr "Bu durum mesajının ait oldugu kullanıcı profili yok"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Takma ad"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "Yer"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "Abonelikler"
@@ -3277,42 +3360,42 @@ msgstr "Ä°statistikler"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3522,25 +3605,25 @@ msgstr "%s için durum RSS beslemesi"
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3549,7 +3632,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3557,7 +3640,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "%s için cevaplar"
@@ -3716,11 +3799,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Ayarlar"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4028,87 +4106,67 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Bütün abonelikler"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "Takip talebine izin verildi"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "Yer"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Takip isteÄŸini onayla"
@@ -4254,11 +4312,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Avatar güncellendi."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4382,22 +4435,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "Durum mesajını kaydederken hata oluştu."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Durum mesajını kaydederken hata oluştu."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Cevap eklenirken veritabanı hatası: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4686,70 +4739,84 @@ msgstr "Eposta adresi onayı"
msgid "Paths configuration"
msgstr "Eposta adresi onayı"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Eposta adresi onayı"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Kaynak"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr ""
"Web Sitenizin, blogunuzun ya da varsa baÅŸka bir sitedeki profilinizin adresi"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr ""
"Web Sitenizin, blogunuzun ya da varsa baÅŸka bir sitedeki profilinizin adresi"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4779,12 +4846,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Parola kaydedildi."
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Parola kaydedildi."
@@ -5053,20 +5120,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Onay kodu yok."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5645,26 +5712,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "İçerik yok!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Yarat"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
#, fuzzy
msgid "Reply"
msgstr "cevapla"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Durum mesajları"
@@ -5812,6 +5879,10 @@ msgstr "Böyle bir durum mesajı yok."
msgid "Repeat this notice"
msgstr "Böyle bir durum mesajı yok."
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5989,47 +6060,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "birkaç saniye önce"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "yaklaşık bir dakika önce"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "yaklaşık %d dakika önce"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "yaklaşık bir saat önce"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "yaklaşık %d saat önce"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "yaklaşık bir gün önce"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "yaklaşık %d gün önce"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "yaklaşık bir ay önce"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "yaklaşık %d ay önce"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "yaklaşık bir yıl önce"
diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po
index c5ea85a8a..3532fdf9f 100644
--- a/locale/uk/LC_MESSAGES/statusnet.po
+++ b/locale/uk/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:56+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:16+0000\n"
"Language-Team: Ukrainian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: out-statusnet\n"
@@ -27,12 +27,10 @@ msgid "Access"
msgstr "ПогодитиÑÑŒ"
#: actions/accessadminpanel.php:65
-#, fuzzy
msgid "Site access settings"
-msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñайту"
+msgstr "Параметри доÑтупу на Ñайт"
#: actions/accessadminpanel.php:158
-#, fuzzy
msgid "Registration"
msgstr "РеєÑтраціÑ"
@@ -65,18 +63,18 @@ msgstr "СкаÑувати подальшу регіÑтрацію."
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "Зберегти"
#: actions/accessadminpanel.php:189
-#, fuzzy
msgid "Save access settings"
-msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñайту"
+msgstr "Зберегти параметри доÑтупу"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
#: actions/showfavorites.php:137 actions/tag.php:51
@@ -99,7 +97,7 @@ msgstr "Ðемає такої Ñторінки"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -160,7 +158,7 @@ msgstr ""
"Ви можете [«розштовхати» %1$s](../%2$s) зі Ñторінки його профілю або [щоÑÑŒ "
"йому напиÑати](%%%%action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -186,7 +184,7 @@ msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %1$s та друзів на %2$s!"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -362,11 +360,11 @@ msgstr "Ви не можете відпиÑатиÑÑŒ від Ñамого Ñеб
msgid "Two user ids or screen_names must be supplied."
msgstr "Два ID або імені_у_мережі повинні підтримуватиÑÑŒ."
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
msgstr "Ðе вдалоÑÑŒ вÑтановити джерело кориÑтувача."
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
msgid "Could not find target user."
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ цільового кориÑтувача."
@@ -390,8 +388,8 @@ msgstr "Це Ñ–Ð¼â€™Ñ Ð²Ð¶Ðµ викориÑтовуєтьÑÑ. Спробуйт
msgid "Not a valid nickname."
msgstr "Це недійÑне Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -403,8 +401,8 @@ msgstr "Веб-Ñторінка має недійÑну URL-адреÑу."
msgid "Full name is too long (max 255 chars)."
msgstr "Повне Ñ–Ð¼â€™Ñ Ð·Ð°Ð´Ð¾Ð²Ð³Ðµ (255 знаків макÑимум)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "ÐžÐ¿Ð¸Ñ Ð½Ð°Ð´Ñ‚Ð¾ довгий (%d знаків макÑимум)."
@@ -481,18 +479,23 @@ msgstr "%s групи"
msgid "groups on %s"
msgstr "групи на %s"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
-msgstr "Ðевірний запит."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "ÐедійÑний розмір."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -504,19 +507,19 @@ msgid "There was a problem with your session token. Try again, please."
msgstr ""
"Виникли певні проблеми з токеном поточної ÑеÑÑ–Ñ—. Спробуйте знов, будь лаÑка."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "ÐедійÑне Ñ–Ð¼â€™Ñ / пароль!"
-#: actions/apioauthauthorize.php:170
-msgid "DB error deleting OAuth app user."
-msgstr "Помилка бази даних при видаленні OAuth кориÑтувача."
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
+msgstr "Помилка бази даних при видаленні кориÑтувача OAuth-додатку."
-#: actions/apioauthauthorize.php:196
-msgid "DB error inserting OAuth app user."
-msgstr "Помилка бази даних при додаванні OAuth кориÑтувача."
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
+msgstr "Помилка бази даних при додаванні кориÑтувача OAuth-додатку."
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
@@ -525,60 +528,61 @@ msgstr ""
"Токен запиту %s було авторизовано. Будь лаÑка, обмінÑйте його на токен "
"доÑтупу."
-#: actions/apioauthauthorize.php:241
-#, php-format
-msgid "The request token %s has been denied."
+#: actions/apioauthauthorize.php:227
+#, fuzzy, php-format
+msgid "The request token %s has been denied and revoked."
msgstr "Токен запиту %s було відхилено."
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "ÐеÑподіване предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð¸."
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr "Запит на дозвіл під’єднатиÑÑ Ð´Ð¾ Вашого облікового запиÑу"
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr "Дозволити або заборонити доÑтуп"
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "Ðкаунт"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Пароль"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr "Відхилити"
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr "Дозволити"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr "Дозволити або заборонити доÑтуп до Вашого облікового запиÑу."
@@ -749,8 +753,8 @@ msgstr "Оригінал"
msgid "Preview"
msgstr "ПереглÑд"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr "Видалити"
@@ -800,8 +804,9 @@ msgstr ""
"відпиÑано від ВаÑ, він не зможе підпиÑитаÑÑ‚ÑŒ до Ð’Ð°Ñ Ñƒ майбутньому Ñ– Ви "
"більше не отримуватимете жодних допиÑів від нього."
-#: actions/block.php:143 actions/deletenotice.php:145
-#: actions/deleteuser.php:147 actions/groupblock.php:178
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "ÐÑ–"
@@ -809,9 +814,9 @@ msgstr "ÐÑ–"
msgid "Do not block this user"
msgstr "Ðе блокувати цього кориÑтувача"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Так"
@@ -915,6 +920,52 @@ msgstr "Розмова"
msgid "Notices"
msgstr "ДопиÑи"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Ви маєте Ñпочатку увійти, аби мати змогу керувати додатком."
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Інфо додатку"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "Ви не Ñ” влаÑником цього додатку."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr "Виникли певні проблеми з токеном поточної ÑеÑÑ–Ñ—."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Керувати додатками"
+
+#: actions/deleteapplication.php:149
+#, fuzzy
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+"Впевнені, що бажаєте видалити цього кориÑтувача? УÑÑ– дані буде знищено без "
+"можливоÑÑ‚Ñ– відновленнÑ."
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Ðе видалÑти цей допиÑ"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Іконка Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ додатку"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -947,7 +998,7 @@ msgstr "Ви впевненні, що бажаєте видалити цей дÐ
msgid "Do not delete this notice"
msgstr "Ðе видалÑти цей допиÑ"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr "Видалити допиÑ"
@@ -1091,13 +1142,12 @@ msgstr "Цей Ð´Ð¾Ð¿Ð¸Ñ Ð½Ðµ Ñ” обраним!"
msgid "Add to favorites"
msgstr "Додати до обраних"
-#: actions/doc.php:155
-#, fuzzy, php-format
+#: actions/doc.php:158
+#, php-format
msgid "No such document \"%s\""
-msgstr "Такого документа немає."
+msgstr "Ðемає такого документа «%s»"
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "Керувати додатками"
@@ -1105,20 +1155,11 @@ msgstr "Керувати додатками"
msgid "You must be logged in to edit an application."
msgstr "Ви маєте Ñпочатку увійти, аби мати змогу керувати додатком."
-#: actions/editapplication.php:77 actions/showapplication.php:94
-msgid "You are not the owner of this application."
-msgstr "Ви не Ñ” влаÑником цього додатку."
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
msgid "No such application."
msgstr "Такого додатку немає."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr "Виникли певні проблеми з токеном поточної ÑеÑÑ–Ñ—."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr "СкориÑтайтеÑÑŒ цією формою, щоб відредагувати додаток."
@@ -1127,43 +1168,48 @@ msgstr "СкориÑтайтеÑÑŒ цією формою, щоб відредаÐ
msgid "Name is required."
msgstr "Потрібне ім’Ñ."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
msgid "Name is too long (max 255 chars)."
msgstr "Ð†Ð¼â€™Ñ Ð·Ð°Ð´Ð¾Ð²Ð³Ðµ (255 знаків макÑимум)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "Це Ñ–Ð¼â€™Ñ Ð²Ð¶Ðµ викориÑтовуєтьÑÑ. Спробуйте інше."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
msgid "Description is required."
msgstr "Потрібен опиÑ."
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr "URL-адреÑа надто довга."
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
msgid "Source URL is not valid."
msgstr "URL-адреÑа не Ñ” дійÑною."
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr "Потрібна організаціÑ."
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
msgid "Organization is too long (max 255 chars)."
msgstr "Ðазва організації надто довга (255 знаків макÑимум)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr "Потрібна Ð´Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка організації."
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr "Форма зворотнього дзвінка надто довга."
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr "URL-адреÑа Ð´Ð»Ñ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½ÑŒÐ¾Ð³Ð¾ дзвінка не Ñ” дійÑною."
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
msgid "Could not update application."
msgstr "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ додаток."
@@ -1235,8 +1281,8 @@ msgstr ""
"Ñпамом також!), там має бути Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· подальшими інÑтрукціÑми."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "СкаÑувати"
@@ -1834,9 +1880,9 @@ msgid "That is not your Jabber ID."
msgstr "Це не Ваш Jabber ID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Вхідні Ð´Ð»Ñ %s"
+msgstr "Вхідні Ð´Ð»Ñ %1$s — Ñторінка %2$d"
#: actions/inbox.php:62
#, php-format
@@ -2086,7 +2132,6 @@ msgid "No current status"
msgstr "ÐÑ–Ñкого поточного ÑтатуÑу"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "Ðовий додаток"
@@ -2098,11 +2143,11 @@ msgstr "Ви маєте Ñпочатку увійти, аби мати змогÑ
msgid "Use this form to register a new application."
msgstr "СкориÑтайтеÑÑŒ цією формою, щоб зареєÑтрувати новий додаток."
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "Потрібна URL-адреÑа."
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Ðе вдалоÑÑ Ñтворити додаток."
@@ -2236,29 +2281,29 @@ msgstr "Додатки, Ñкі Ви зареєÑтрували"
msgid "You have not registered any applications yet."
msgstr "Поки що Ви не зареєÑтрували жодних додатків."
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Під’єднані додатки"
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
"Ви маєте дозволити наÑтупним додаткам доÑтуп до Вашого облікового запиÑу."
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Ви не Ñ” кориÑтувачем даного додатку."
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr "Ðе вдалоÑÑ ÑкаÑувати доÑтуп Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÑƒ: "
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr "Ви не дозволили жодним додаткам викориÑтовувати Ваш акаунт."
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr "Розробники можуть змінити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÑ”Ñтрації Ð´Ð»Ñ Ñ—Ñ…Ð½Ñ–Ñ… додатків "
@@ -2345,9 +2390,9 @@ msgid "Login token expired."
msgstr "Токен Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñƒ втратив чинніÑÑ‚ÑŒ."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Вихідні Ð´Ð»Ñ %s"
+msgstr "Вихідні Ð´Ð»Ñ %1$s — Ñторінка %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2633,7 +2678,7 @@ msgid "Full name"
msgstr "Повне ім’Ñ"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Веб-Ñторінка"
@@ -2760,19 +2805,19 @@ msgstr "Загальний Ñтрічка, Ñторінка %d"
msgid "Public timeline"
msgstr "Загальна Ñтрічка"
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Стрічка публічних допиÑів (RSS 1.0)"
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Стрічка публічних допиÑів (RSS 2.0)"
-#: actions/public.php:159
+#: actions/public.php:167
msgid "Public Stream Feed (Atom)"
msgstr "Стрічка публічних допиÑів (Atom)"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2780,11 +2825,11 @@ msgid ""
msgstr ""
"Це публічна Ñтрічка допиÑів Ñайту %%site.name%%, але вона поки що порожнÑ."
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr "Станьте першим! Ðапишіть щоÑÑŒ!"
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2792,7 +2837,7 @@ msgstr ""
"Чому б не [зареєÑтруватиÑÑŒ](%%action.register%%) Ñ– не зробити Ñвій перший "
"допиÑ!"
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2806,7 +2851,7 @@ msgstr ""
"розділити Ñвоє Ð¶Ð¸Ñ‚Ñ‚Ñ Ð· друзÑми, родиною Ñ– колегами! ([ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ](%%"
"doc.help%%))"
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3172,7 +3217,7 @@ msgstr "Ви не можете вторувати Ñвоїм влаÑним до
msgid "You already repeated that notice."
msgstr "Ви вже вторували цьому допиÑу."
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
msgid "Repeated"
msgstr "ВторуваннÑ"
@@ -3187,9 +3232,9 @@ msgid "Replies to %s"
msgstr "Відповіді до %s"
#: actions/replies.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Відповіді до %1$s на %2$s!"
+msgstr "Відповіді до %1$s, Ñторінка %2$d"
#: actions/replies.php:144
#, php-format
@@ -3238,6 +3283,10 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Відповіді до %1$s на %2$s!"
+#: actions/rsd.php:146 actions/version.php:157
+msgid "StatusNet"
+msgstr "StatusNet"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
msgstr "Ви не можете нікого ізолювати на цьому Ñайті."
@@ -3246,6 +3295,36 @@ msgstr "Ви не можете нікого ізолювати на цьому Ñ
msgid "User is already sandboxed."
msgstr "КориÑтувача ізольовано доки наберетьÑÑ ÑƒÐ¼Ñƒ-розуму."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr "СеÑÑ–Ñ—"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑеÑÑ–Ñ— Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñайту StatusNet."
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "СеÑÑ–Ñ— обробки даних"
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr "Обробка даних ÑеÑій ÑамоÑтійно."
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr "СеÑÑ–Ñ Ð½Ð°Ð»Ð°Ð´ÐºÐ¸"
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr "Виводити дані ÑеÑÑ–Ñ— наладки."
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+msgid "Save site settings"
+msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñайту"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr "Ви повинні Ñпочатку увійти, аби переглÑнути додаток."
@@ -3254,21 +3333,21 @@ msgstr "Ви повинні Ñпочатку увійти, аби переглÑ
msgid "Application profile"
msgstr "Профіль додатку"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr "Іконка"
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
msgid "Name"
msgstr "Ім’Ñ"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
msgid "Organization"
msgstr "ОрганізаціÑ"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "ОпиÑ"
@@ -3278,43 +3357,43 @@ msgid "Statistics"
msgstr "СтатиÑтика"
#: actions/showapplication.php:204
-#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+#, fuzzy, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr "Ñтворено %1$s — %2$s доÑтуп за замовч. — %3$d кориÑтувачів"
#: actions/showapplication.php:214
msgid "Application actions"
msgstr "МожливоÑÑ‚Ñ– додатку"
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr "Призначити новий ключ Ñ– таємне Ñлово"
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr "Інфо додатку"
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr "Ключ Ñпоживача"
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr "Таємно Ñлово Ñпоживача"
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr "URL-адреÑа токена запиту"
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr "URL-адреÑа токена дозволу"
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr "Ðвторизувати URL-адреÑу"
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3323,9 +3402,9 @@ msgstr ""
"ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñів відкритим текÑтом."
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "Обрані допиÑи %s"
+msgstr "Обрані допиÑи %1$s, Ñторінка %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3385,9 +3464,9 @@ msgid "%s group"
msgstr "Група %s"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "УчаÑники групи %1$s, Ñторінка %2$d"
+msgstr "Група %1$s, Ñторінка %2$d"
#: actions/showgroup.php:218
msgid "Group profile"
@@ -3509,9 +3588,9 @@ msgid " tagged %s"
msgstr " позначено з %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s та друзі, Ñторінка %2$d"
+msgstr "%1$s, Ñторінка %2$d"
#: actions/showstream.php:122
#, php-format
@@ -3538,12 +3617,12 @@ msgstr "Стрічка допиÑів Ð´Ð»Ñ %s (Atom)"
msgid "FOAF for %s"
msgstr "FOAF Ð´Ð»Ñ %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "Це Ñтрічка допиÑів %1$s, але %2$s ще нічого не напиÑав."
-#: actions/showstream.php:196
+#: actions/showstream.php:205
msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
@@ -3551,7 +3630,7 @@ msgstr ""
"Побачили щоÑÑŒ цікаве нещодавно? Ви ще нічого не напиÑали Ñ– це Ñлушна нагода "
"аби розпочати! :)"
-#: actions/showstream.php:198
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
@@ -3560,7 +3639,7 @@ msgstr ""
"Ви можете «розштовхати» %1$s або [щоÑÑŒ йому напиÑати](%%%%action.newnotice%%%"
"%?status_textarea=%2$s)."
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3574,7 +3653,7 @@ msgstr ""
"register%%) зараз Ñ– Ñлідкуйте за допиÑами **%s**, також на Ð’Ð°Ñ Ñ‡ÐµÐºÐ°Ñ” багато "
"іншого! ([ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ](%%doc.help%%))"
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3585,7 +3664,7 @@ msgstr ""
"(http://uk.wikipedia.org/wiki/Мікроблоґ), Ñкий працює на вільному "
"програмному забезпеченні [StatusNet](http://status.net/). "
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr "Ð’Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ %s"
@@ -3743,10 +3822,6 @@ msgstr ""
"Як довго кориÑтувачі мають зачекати (в Ñекундах) аби надіÑлати той Ñамий "
"Ð´Ð¾Ð¿Ð¸Ñ Ñ‰Ðµ раз."
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-msgid "Save site settings"
-msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñайту"
-
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¡ÐœÐ¡"
@@ -3952,9 +4027,9 @@ msgid "SMS"
msgstr "СМС"
#: actions/tag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "КориÑтувачі з оÑобиÑтим теґом %1$s — Ñторінка %2$d"
+msgstr "ДопиÑи з теґом %1$s, Ñторінка %2$d"
#: actions/tag.php:86
#, php-format
@@ -4058,85 +4133,65 @@ msgstr "КориÑтувач"
msgid "User settings for this StatusNet site."
msgstr "ВлаÑні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñайту StatusNet."
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr "Помилкове Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ñ–Ð¾. Це мають бути цифри."
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Помилковий текÑÑ‚ привітаннÑ. МакÑимальна довжина 255 знаків."
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Помилкова підпиÑка за замовчуваннÑм: '%1$s' не Ñ” кориÑтувачем."
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профіль"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ñ–Ð¾"
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr "МакÑимальна довжина біо кориÑтувача в знаках."
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr "Ðові кориÑтувачі"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr "ÐŸÑ€Ð¸Ð²Ñ–Ñ‚Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кориÑтувача"
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr "ТекÑÑ‚ Ð¿Ñ€Ð¸Ð²Ñ–Ñ‚Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… кориÑтувачів (255 знаків)."
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
msgid "Default subscription"
msgstr "ПідпиÑка за замовчуваннÑм"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr "Ðвтоматично підпиÑувати нових кориÑтувачів до цього кориÑтувача."
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
msgid "Invitations"
msgstr "ЗапрошеннÑ"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ ÑкаÑовано"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
"Ð’ той чи інший ÑпоÑіб дозволити кориÑтувачам вітати нових кориÑтувачів."
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr "СеÑÑ–Ñ—"
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr "СеÑÑ–Ñ— обробки даних"
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr "Обробка даних ÑеÑій ÑамоÑтійно."
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr "СеÑÑ–Ñ Ð½Ð°Ð»Ð°Ð´ÐºÐ¸"
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr "Виводити дані ÑеÑÑ–Ñ— наладки."
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Ðвторизувати підпиÑку"
@@ -4256,9 +4311,9 @@ msgid "Enjoy your hotdog!"
msgstr "ПолаÑуйте бутербродом!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "УчаÑники групи %1$s, Ñторінка %2$d"
+msgstr "Групи %1$s, Ñторінка %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
@@ -4289,10 +4344,6 @@ msgstr ""
"Цей Ñайт працює на %1$s, верÑÑ–Ñ %2$s. ÐвторÑькі права 2008-2010 StatusNet, "
"Inc. і розробники."
-#: actions/version.php:157
-msgid "StatusNet"
-msgstr "StatusNet"
-
#: actions/version.php:161
msgid "Contributors"
msgstr "Розробники"
@@ -4426,22 +4477,21 @@ msgstr "Вам заборонено надÑилати допиÑи до цьоÐ
msgid "Problem saving notice."
msgstr "Проблема при збереженні допиÑу."
-#: classes/Notice.php:790
-#, fuzzy
+#: classes/Notice.php:788
msgid "Problem saving group inbox."
-msgstr "Проблема при збереженні допиÑу."
+msgstr "Проблема при збереженні вхідних допиÑів Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "Помилка бази даних при додаванні відповіді: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Вітаємо на %1$s, @%2$s!"
@@ -4701,77 +4751,91 @@ msgid "Design configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½Ñƒ"
#: lib/adminpanelaction.php:322
-#, fuzzy
msgid "User configuration"
-msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ»Ñху"
+msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
#: lib/adminpanelaction.php:327
-#, fuzzy
msgid "Access configuration"
-msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½Ñƒ"
+msgstr "ПрийнÑти конфігурацію"
#: lib/adminpanelaction.php:332
msgid "Paths configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ»Ñху"
+#: lib/adminpanelaction.php:337
+msgid "Sessions configuration"
+msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑеÑій"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+"API-реÑÑƒÑ€Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ” дозвіл типу «читаннÑ-запиÑ», але у Ð²Ð°Ñ Ñ” лише доÑтуп Ð´Ð»Ñ "
+"читаннÑ."
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+"Ðевдала Ñпроба авторизації API, nickname = %1$s, proxy = %2$s, ip = %3$s"
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr "Керувати додатками"
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr "Іконка Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ додатку"
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, php-format
msgid "Describe your application in %d characters"
msgstr "Опишіть додаток, вкладаючиÑÑŒ у %d знаків"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
msgid "Describe your application"
msgstr "Опишіть Ваш додаток"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr "URL-адреÑа"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr "URL-адреÑа веб-Ñторінки цього додатку"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr "ОрганізаціÑ, відповідальна за цей додаток"
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr "URL-адреÑа веб-Ñторінки організації"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr "URL-адреÑа, на Ñку перенаправлÑти піÑÐ»Ñ Ð°Ð²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ—"
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr "Браузер"
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr "ДеÑктоп"
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr "Тип додатку, браузер або деÑктоп"
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr "Лише читаннÑ"
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr "Читати-пиÑати"
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
"Дозвіл за замовчуваннÑм Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ додатку: лише Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ читати-пиÑати"
@@ -4800,11 +4864,11 @@ msgstr "ДопиÑи, до Ñких прикріплено це вкладенн
msgid "Tags for this attachment"
msgstr "Теґи Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вкладеннÑ"
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ пароль"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr "Змінювати пароль не дозволено"
@@ -5108,19 +5172,19 @@ msgstr ""
"tracks — наразі не виконуєтьÑÑ\n"
"tracking — наразі не виконуєтьÑÑ\n"
-#: lib/common.php:131
+#: lib/common.php:135
msgid "No configuration file found. "
msgstr "Файлу конфігурації не знайдено. "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr "Шукав файли конфігурації в цих міÑцÑÑ…: "
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr "ЗапуÑÑ‚Ñ–Ñ‚ÑŒ файл інÑталÑції, аби полагодити це."
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr "Іти до файлу інÑталÑції."
@@ -5765,23 +5829,23 @@ msgstr "Зах."
msgid "at"
msgstr "в"
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
msgid "in context"
msgstr "в контекÑÑ‚Ñ–"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
msgid "Repeated by"
msgstr "Вторуванні"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr "ВідповіÑти на цей допиÑ"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "ВідповіÑти"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
msgid "Notice repeated"
msgstr "Ð”Ð¾Ð¿Ð¸Ñ Ð²Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð»Ð¸"
@@ -5922,6 +5986,10 @@ msgstr "Повторити цей допиÑ?"
msgid "Repeat this notice"
msgstr "Вторувати цьому допиÑу"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr "ПіÑочницÑ"
@@ -6087,47 +6155,47 @@ msgstr "ПовідомленнÑ"
msgid "Moderate"
msgstr "Модерувати"
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "мить тому"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "хвилину тому"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "близько %d хвилин тому"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "годину тому"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "близько %d годин тому"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "день тому"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "близько %d днів тому"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "міÑÑць тому"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "близько %d міÑÑців тому"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "рік тому"
diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po
index 741589cff..91f2cbd94 100644
--- a/locale/vi/LC_MESSAGES/statusnet.po
+++ b/locale/vi/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-27 23:59:59+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:19+0000\n"
"Language-Team: Vietnamese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: vi\n"
"X-Message-Group: out-statusnet\n"
@@ -63,11 +63,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "LÆ°u"
@@ -98,7 +99,7 @@ msgstr "Không có tin nhắn nào."
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -155,7 +156,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -180,7 +181,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -366,12 +367,12 @@ msgstr "Không thể cập nhật thành viên."
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "Không thể lấy lại các tin nhắn ưa thích"
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "Không tìm thấy bất kỳ trạng thái nào."
@@ -394,8 +395,8 @@ msgstr "Biệt hiệu này đã dùng rồi. Hãy nhập biệt hiệu khác."
msgid "Not a valid nickname."
msgstr "Biệt hiệu không hợp lệ."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -407,8 +408,8 @@ msgstr "Trang chủ không phải là URL"
msgid "Full name is too long (max 255 chars)."
msgstr "Tên đầy đủ quá dài (tối đa là 255 ký tự)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "Lý lịch quá dài (không quá 140 ký tự)"
@@ -488,18 +489,23 @@ msgstr "%s và nhóm"
msgid "groups on %s"
msgstr "Mã nhóm"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "Kích thước không hợp lệ."
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -510,83 +516,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "Có lỗi xảy ra khi thao tác. Hãy thử lại lần nữa."
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "Tên đăng nhập hoặc mật khẩu không hợp lệ."
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "Lỗi xảy ra khi tạo thành viên."
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "Lá»—i cÆ¡ sở dữ liệu khi chèn trả lá»i: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "Bất ngỠgửi mẫu thông tin. "
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "Giới thiệu"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "Biệt danh"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Mật khẩu"
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -764,8 +771,8 @@ msgstr ""
msgid "Preview"
msgstr "Xem trÆ°á»›c"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
#, fuzzy
msgid "Delete"
msgstr "Xóa tin nhắn"
@@ -817,8 +824,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "Không"
@@ -827,9 +835,9 @@ msgstr "Không"
msgid "Do not block this user"
msgstr "Bá» chặn ngÆ°á»i dùng này"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Có"
@@ -938,6 +946,51 @@ msgstr "Không có mã số xác nhận."
msgid "Notices"
msgstr "Tin nhắn"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "Tin nhắn không có hồ sơ cá nhân"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "Bạn chưa cập nhật thông tin riêng"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+#, 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."
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "Không có tin nhắn nào."
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "Không thể xóa tin nhắn này."
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "Xóa tin nhắn"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -972,7 +1025,7 @@ msgstr "Bạn có chắc chắn là muốn xóa tin nhắn này không?"
msgid "Do not delete this notice"
msgstr "Không thể xóa tin nhắn này."
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
#, fuzzy
msgid "Delete this notice"
msgstr "Xóa tin nhắn"
@@ -1134,7 +1187,7 @@ msgstr "Tin nhắn này đã có trong danh sách tin nhắn Æ°a thích của bá
msgid "Add to favorites"
msgstr "Tìm kiếm các tin nhắn ưa thích của %s"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "Không có tài liệu nào."
@@ -1149,23 +1202,12 @@ msgstr "Tin nhắn không có hồ sơ cá nhân"
msgid "You must be logged in to edit an application."
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "Bạn chưa cập nhật thông tin riêng"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "Không có tin nhắn nào."
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-#, 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."
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1175,47 +1217,52 @@ msgstr ""
msgid "Name is required."
msgstr "Cùng mật khẩu ở trên. Bắt buộc."
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "Tên đầy đủ quá dài (tối đa là 255 ký tự)."
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name 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/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "Mô tả"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "Trang chủ không phải là URL"
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "Tên khu vực quá dài (không quá 255 ký tự)."
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "Không thể cập nhật thành viên."
@@ -1294,8 +1341,8 @@ msgstr ""
"để nhận tin nhắn và lá»i hÆ°á»›ng dẫn."
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "Hủy"
@@ -2188,11 +2235,11 @@ msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "Không thể tạo favorite."
@@ -2329,29 +2376,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2754,7 +2801,7 @@ msgid "Full name"
msgstr "Tên đầy đủ"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "Trang chủ hoặc Blog"
@@ -2884,39 +2931,39 @@ msgstr "Dòng tin công cộng"
msgid "Public timeline"
msgstr "Dòng tin công cộng"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Dòng tin công cộng"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Dòng tin công cộng"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Dòng tin công cộng"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2925,7 +2972,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3287,7 +3334,7 @@ msgstr "Bạn không thể đăng ký nếu không đồng ý các Ä‘iá»u khoáº
msgid "You already repeated that notice."
msgstr "Bạn đã theo những ngÆ°á»i này:"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "Tạo"
@@ -3349,6 +3396,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%s chào mừng bạn "
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "Hình đại diện đã được cập nhật."
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3359,6 +3411,37 @@ msgstr "Bạn đã theo những ngÆ°á»i này:"
msgid "User is already sandboxed."
msgstr "NgÆ°á»i dùng không có thông tin."
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "Thay đổi hình đại diện"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3369,23 +3452,23 @@ msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những
msgid "Application profile"
msgstr "Tin nhắn không có hồ sơ cá nhân"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "Biệt danh"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "ThÆ° má»i đã gá»­i"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Mô tả"
@@ -3396,42 +3479,42 @@ msgstr "Số liệu thống kê"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3643,25 +3726,25 @@ msgstr "Dòng tin nhắn cho %s"
msgid "FOAF for %s"
msgstr "Hộp thư đi của %s"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3670,7 +3753,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3678,7 +3761,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "Trả lá»i cho %s"
@@ -3839,11 +3922,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "Thay đổi hình đại diện"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4167,89 +4245,69 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Hồ sơ "
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "Gá»­i thÆ° má»i đến những ngÆ°á»i chÆ°a có tài khoản"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "Tất cả đăng nhận"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "Tá»± Ä‘á»™ng theo những ngÆ°á»i nào đăng ký theo tôi"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "ThÆ° má»i đã gá»­i"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "ThÆ° má»i đã gá»­i"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "Äăng nhận cho phép"
@@ -4402,11 +4460,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "Hình đại diện đã được cập nhật."
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4533,22 +4586,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, 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:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%s (%s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "%s chào mừng bạn "
@@ -4845,68 +4898,82 @@ msgstr "Xác nhận SMS"
msgid "Paths configuration"
msgstr "Xác nhận SMS"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "Xác nhận SMS"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "Nói vỠnhững sở thích của nhóm trong vòng 140 ký tự"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "Nói vỠnhững sở thích của nhóm trong vòng 140 ký tự"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "Nguồn"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "URL vỠTrang chính, Blog, hoặc hồ sơ cá nhân của bạn trên "
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "URL vỠTrang chính, Blog, hoặc hồ sơ cá nhân của bạn trên "
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4936,12 +5003,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "Äã lÆ°u mật khẩu."
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Äã lÆ°u mật khẩu."
@@ -5217,20 +5284,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "Không có mã số xác nhận."
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5870,26 +5937,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "Không có nội dung!"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "Tạo"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
#, fuzzy
msgid "Reply to this notice"
msgstr "Trả lá»i tin nhắn này"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr "Trả lá»i"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "Tin đã gửi"
@@ -6044,6 +6111,10 @@ msgstr "Trả lá»i tin nhắn này"
msgid "Repeat this notice"
msgstr "Trả lá»i tin nhắn này"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6230,47 +6301,47 @@ msgstr "Tin mới nhất"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "vài giây trước"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "1 phút trước"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "%d phút trước"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "1 giá» trÆ°á»›c"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "%d giá» trÆ°á»›c"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "1 ngày trước"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "%d ngày trước"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "1 tháng trước"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "%d tháng trước"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "1 năm trước"
diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po
index 1cd332a8b..81dcb1db2 100644
--- a/locale/zh_CN/LC_MESSAGES/statusnet.po
+++ b/locale/zh_CN/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-28 00:00:04+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:22+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n"
"X-Message-Group: out-statusnet\n"
@@ -66,11 +66,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr "ä¿å­˜"
@@ -100,7 +101,7 @@ msgstr "没有该页é¢"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -157,7 +158,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -182,7 +183,7 @@ msgstr "æ¥è‡ª%2$s 上 %1$s 和好å‹çš„æ›´æ–°ï¼"
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -364,12 +365,12 @@ msgstr "无法更新用户。"
msgid "Two user ids or screen_names must be supplied."
msgstr "å¿…é¡»æ供两个用户å¸å·æˆ–昵称。"
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "无法获å–收è—的通告。"
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "找ä¸åˆ°ä»»ä½•ä¿¡æ¯ã€‚"
@@ -392,8 +393,8 @@ msgstr "昵称已被使用,æ¢ä¸€ä¸ªå§ã€‚"
msgid "Not a valid nickname."
msgstr "ä¸æ˜¯æœ‰æ•ˆçš„昵称。"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -405,8 +406,8 @@ msgstr "主页的URLä¸æ­£ç¡®ã€‚"
msgid "Full name is too long (max 255 chars)."
msgstr "å…¨å过长(ä¸èƒ½è¶…过 255 个字符)。"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "æ述过长(ä¸èƒ½è¶…过140字符)。"
@@ -486,18 +487,23 @@ msgstr "%s 群组"
msgid "groups on %s"
msgstr "组动作"
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "大å°ä¸æ­£ç¡®ã€‚"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -508,83 +514,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr "会è¯æ ‡è¯†æœ‰é—®é¢˜ï¼Œè¯·é‡è¯•ã€‚"
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "用户å或密ç ä¸æ­£ç¡®ã€‚"
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "ä¿å­˜ç”¨æˆ·è®¾ç½®æ—¶å‡ºé”™ã€‚"
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "添加标签时数æ®åº“出错:%s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr "未预料的表å•æ交。"
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
msgid "Account"
msgstr "å¸å·"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "昵称"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr "密ç "
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
#, fuzzy
msgid "Allow"
msgstr "全部"
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -759,8 +766,8 @@ msgstr "原æ¥çš„"
msgid "Preview"
msgstr "预览"
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
#, fuzzy
msgid "Delete"
msgstr "删除"
@@ -811,8 +818,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr "å¦"
@@ -821,9 +829,9 @@ msgstr "å¦"
msgid "Do not block this user"
msgstr "å–消阻止次用户"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "是"
@@ -934,6 +942,51 @@ msgstr "确认ç "
msgid "Notices"
msgstr "通告"
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "您必须登录æ‰èƒ½åˆ›å»ºå°ç»„。"
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "通告没有关è”个人信æ¯"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "您未告知此个人信æ¯"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+#, fuzzy
+msgid "There was a problem with your session token."
+msgstr "会è¯æ ‡è¯†æœ‰é—®é¢˜ï¼Œè¯·é‡è¯•ã€‚"
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "没有这份通告。"
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "无法删除通告。"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "删除通告"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -968,7 +1021,7 @@ msgstr "确定è¦åˆ é™¤è¿™æ¡æ¶ˆæ¯å—?"
msgid "Do not delete this notice"
msgstr "无法删除通告。"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
#, fuzzy
msgid "Delete this notice"
msgstr "删除通告"
@@ -1123,7 +1176,7 @@ msgstr "此通告未被收è—ï¼"
msgid "Add to favorites"
msgstr "加入收è—"
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "没有这份文档。"
@@ -1138,23 +1191,12 @@ msgstr "其他选项"
msgid "You must be logged in to edit an application."
msgstr "您必须登录æ‰èƒ½åˆ›å»ºå°ç»„。"
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "您未告知此个人信æ¯"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "没有这份通告。"
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-#, fuzzy
-msgid "There was a problem with your session token."
-msgstr "会è¯æ ‡è¯†æœ‰é—®é¢˜ï¼Œè¯·é‡è¯•ã€‚"
-
#: actions/editapplication.php:161
#, fuzzy
msgid "Use this form to edit your application."
@@ -1165,47 +1207,52 @@ msgstr "使用这个表å•æ¥ç¼–辑组"
msgid "Name is required."
msgstr "相åŒçš„密ç ã€‚此项必填。"
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "å…¨å过长(ä¸èƒ½è¶…过 255 个字符)。"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "昵称已被使用,æ¢ä¸€ä¸ªå§ã€‚"
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "æè¿°"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "主页的URLä¸æ­£ç¡®ã€‚"
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "ä½ç½®è¿‡é•¿(ä¸èƒ½è¶…过255个字符)。"
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "无法更新组"
@@ -1281,8 +1328,8 @@ msgstr ""
"指示。"
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "å–消"
@@ -2144,11 +2191,11 @@ msgstr "您必须登录æ‰èƒ½åˆ›å»ºå°ç»„。"
msgid "Use this form to register a new application."
msgstr "使用此表格创建组。"
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "无法创建收è—。"
@@ -2279,29 +2326,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "您未告知此个人信æ¯"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2695,7 +2742,7 @@ msgid "Full name"
msgstr "å…¨å"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "主页"
@@ -2823,39 +2870,39 @@ msgstr "公开的时间表"
msgid "Public timeline"
msgstr "公开的时间表"
-#: actions/public.php:151
+#: actions/public.php:159
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "公开的èšåˆ"
-#: actions/public.php:155
+#: actions/public.php:163
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "公开的èšåˆ"
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "公开的èšåˆ"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2864,7 +2911,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3221,7 +3268,7 @@ msgstr "您必须åŒæ„此授æƒæ–¹å¯æ³¨å†Œã€‚"
msgid "You already repeated that notice."
msgstr "您已æˆåŠŸé˜»æ­¢è¯¥ç”¨æˆ·ï¼š"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "创建"
@@ -3283,6 +3330,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "å‘é€ç»™ %1$s çš„ %2$s 消æ¯"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "头åƒå·²æ›´æ–°ã€‚"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3293,6 +3345,37 @@ msgstr "无法å‘此用户å‘é€æ¶ˆæ¯ã€‚"
msgid "User is already sandboxed."
msgstr "用户没有个人信æ¯ã€‚"
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "头åƒè®¾ç½®"
+
#: actions/showapplication.php:82
#, fuzzy
msgid "You must be logged in to view an application."
@@ -3303,23 +3386,23 @@ msgstr "您必须登录æ‰èƒ½é‚€è¯·å…¶ä»–人使用 %s"
msgid "Application profile"
msgstr "通告没有关è”个人信æ¯"
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "昵称"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "分页"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "æè¿°"
@@ -3331,42 +3414,42 @@ msgstr "统计"
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3579,25 +3662,25 @@ msgstr "%s 的通告èšåˆ"
msgid "FOAF for %s"
msgstr "%s çš„å‘件箱"
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, fuzzy, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr "这是 %s 和好å‹çš„时间线,但是没有任何人å‘布内容。"
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3606,7 +3689,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, fuzzy, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3616,7 +3699,7 @@ msgstr ""
"**%s** 有一个å¸å·åœ¨ %%%%site.name%%%%, 一个微åšå®¢æœåŠ¡ [micro-blogging]"
"(http://en.wikipedia.org/wiki/Micro-blogging)"
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, fuzzy, php-format
msgid "Repeat of %s"
msgstr "%s 的回å¤"
@@ -3777,11 +3860,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "头åƒè®¾ç½®"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -4097,89 +4175,69 @@ msgstr "用户"
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "个人信æ¯"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
#, fuzzy
msgid "New users"
msgstr "邀请新用户"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "所有订阅"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "自动订阅任何订阅我的更新的人(这个选项最适åˆæœºå™¨äºº)"
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "å·²å‘é€é‚€è¯·"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
#, fuzzy
msgid "Invitations enabled"
msgstr "å·²å‘é€é‚€è¯·"
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "确认订阅"
@@ -4329,11 +4387,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "头åƒå·²æ›´æ–°ã€‚"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4459,22 +4512,22 @@ msgstr "在这个网站你被ç¦æ­¢å‘布消æ¯ã€‚"
msgid "Problem saving notice."
msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "添加回å¤æ—¶æ•°æ®åº“出错:%s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
-#: classes/User.php:382
+#: classes/User.php:385
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "å‘é€ç»™ %1$s çš„ %2$s 消æ¯"
@@ -4768,68 +4821,82 @@ msgstr "SMS短信确认"
msgid "Paths configuration"
msgstr "SMS短信确认"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "SMS短信确认"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "用ä¸è¶…过140个字符æ述您自己和您的爱好"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "用ä¸è¶…过140个字符æ述您自己和您的爱好"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
#, fuzzy
msgid "Source URL"
msgstr "æ¥æº"
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
#, fuzzy
msgid "URL of the homepage of this application"
msgstr "您的主页ã€åšå®¢æˆ–在其他站点的URL"
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
#, fuzzy
msgid "URL for the homepage of the organization"
msgstr "您的主页ã€åšå®¢æˆ–在其他站点的URL"
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4859,12 +4926,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
#, fuzzy
msgid "Password changing failed"
msgstr "密ç å·²ä¿å­˜ã€‚"
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
#, fuzzy
msgid "Password changing is not allowed"
msgstr "密ç å·²ä¿å­˜ã€‚"
@@ -5132,20 +5199,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "没有验è¯ç "
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
#, fuzzy
msgid "Go to the installer."
msgstr "登入本站"
@@ -5737,27 +5804,27 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "没有内容ï¼"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "创建"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
#, fuzzy
msgid "Reply to this notice"
msgstr "无法删除通告。"
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
#, fuzzy
msgid "Reply"
msgstr "回å¤"
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "消æ¯å·²å‘布。"
@@ -5910,6 +5977,10 @@ msgstr "无法删除通告。"
msgid "Repeat this notice"
msgstr "无法删除通告。"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
#, fuzzy
msgid "Sandbox"
@@ -6095,47 +6166,47 @@ msgstr "新消æ¯"
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr "几秒å‰"
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr "一分钟å‰"
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr "%d 分钟å‰"
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr "一å°æ—¶å‰"
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr "%d å°æ—¶å‰"
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr "一天å‰"
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr "%d 天å‰"
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr "一个月å‰"
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr "%d 个月å‰"
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr "一年å‰"
diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po
index e01caa3c3..7122a0e05 100644
--- a/locale/zh_TW/LC_MESSAGES/statusnet.po
+++ b/locale/zh_TW/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 23:58+0000\n"
-"PO-Revision-Date: 2010-01-28 00:00:08+0000\n"
+"POT-Creation-Date: 2010-02-02 19:19+0000\n"
+"PO-Revision-Date: 2010-02-02 19:22:25+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 (r61595); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.16alpha (r61864); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hant\n"
"X-Message-Group: out-statusnet\n"
@@ -61,11 +61,12 @@ msgstr ""
#: actions/accessadminpanel.php:189 actions/designadminpanel.php:586
#: actions/emailsettings.php:195 actions/imsettings.php:163
#: actions/othersettings.php:126 actions/pathsadminpanel.php:351
-#: actions/profilesettings.php:174 actions/siteadminpanel.php:336
-#: actions/smssettings.php:181 actions/subscriptions.php:203
-#: actions/tagother.php:154 actions/useradminpanel.php:313
-#: lib/applicationeditform.php:335 lib/applicationeditform.php:336
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:336 actions/smssettings.php:181
+#: actions/subscriptions.php:203 actions/tagother.php:154
+#: actions/useradminpanel.php:293 lib/applicationeditform.php:333
+#: lib/applicationeditform.php:334 lib/designsettings.php:256
+#: lib/groupeditform.php:202
msgid "Save"
msgstr ""
@@ -96,7 +97,7 @@ msgstr "無此通知"
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
#: actions/showfavorites.php:105 actions/userbyid.php:74
#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
#: lib/command.php:163 lib/command.php:302 lib/command.php:355
@@ -153,7 +154,7 @@ msgid ""
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
+#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -178,7 +179,7 @@ msgstr ""
#: actions/apiaccountupdateprofilecolors.php:118
#: actions/apidirectmessage.php:156 actions/apifavoritecreate.php:99
#: actions/apifavoritedestroy.php:100 actions/apifriendshipscreate.php:100
-#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:129
+#: actions/apifriendshipsdestroy.php:100 actions/apifriendshipsshow.php:128
#: actions/apigroupcreate.php:136 actions/apigroupismember.php:114
#: actions/apigroupjoin.php:155 actions/apigroupleave.php:141
#: actions/apigrouplist.php:132 actions/apigrouplistall.php:120
@@ -357,12 +358,12 @@ msgstr "無法更新使用者"
msgid "Two user ids or screen_names must be supplied."
msgstr ""
-#: actions/apifriendshipsshow.php:135
+#: actions/apifriendshipsshow.php:134
#, fuzzy
msgid "Could not determine source user."
msgstr "無法更新使用者"
-#: actions/apifriendshipsshow.php:143
+#: actions/apifriendshipsshow.php:142
#, fuzzy
msgid "Could not find target user."
msgstr "無法更新使用者"
@@ -385,8 +386,8 @@ msgstr "此暱稱已有人使用。å†è©¦è©¦çœ‹åˆ¥çš„å§ã€‚"
msgid "Not a valid nickname."
msgstr ""
-#: actions/apigroupcreate.php:196 actions/editapplication.php:212
-#: actions/editgroup.php:195 actions/newapplication.php:200
+#: actions/apigroupcreate.php:196 actions/editapplication.php:215
+#: actions/editgroup.php:195 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
@@ -398,8 +399,8 @@ msgstr "個人首é ä½å€éŒ¯èª¤"
msgid "Full name is too long (max 255 chars)."
msgstr "å…¨åéŽé•·ï¼ˆæœ€å¤š255字元)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:187
-#: actions/newapplication.php:169
+#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "自我介紹éŽé•·(å…±140個字元)"
@@ -478,18 +479,23 @@ msgstr ""
msgid "groups on %s"
msgstr ""
-#: actions/apioauthauthorize.php:108 actions/apioauthauthorize.php:114
-msgid "Bad request."
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
msgstr ""
-#: actions/apioauthauthorize.php:134 actions/avatarsettings.php:268
+#: actions/apioauthauthorize.php:106
+#, fuzzy
+msgid "Invalid token."
+msgstr "尺寸錯誤"
+
+#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
#: actions/deletenotice.php:157 actions/disfavor.php:74
-#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:50
+#: actions/emailsettings.php:238 actions/favor.php:75 actions/geocode.php:54
#: actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:139
+#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
#: actions/register.php:165 actions/remotesubscribe.php:77
@@ -500,83 +506,84 @@ msgstr ""
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: actions/apioauthauthorize.php:146
+#: actions/apioauthauthorize.php:135
#, fuzzy
msgid "Invalid nickname / password!"
msgstr "使用者å稱或密碼無效"
-#: actions/apioauthauthorize.php:170
+#: actions/apioauthauthorize.php:159
#, fuzzy
-msgid "DB error deleting OAuth app user."
+msgid "Database error deleting OAuth application user."
msgstr "使用者設定發生錯誤"
-#: actions/apioauthauthorize.php:196
+#: actions/apioauthauthorize.php:185
#, fuzzy
-msgid "DB error inserting OAuth app user."
+msgid "Database error inserting OAuth application user."
msgstr "增加回覆時,資料庫發生錯誤: %s"
-#: actions/apioauthauthorize.php:231
+#: actions/apioauthauthorize.php:214
#, php-format
msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
-#: actions/apioauthauthorize.php:241
+#: actions/apioauthauthorize.php:227
#, php-format
-msgid "The request token %s has been denied."
+msgid "The request token %s has been denied and revoked."
msgstr ""
-#: actions/apioauthauthorize.php:246 actions/avatarsettings.php:281
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
#: actions/designadminpanel.php:103 actions/editapplication.php:139
#: actions/emailsettings.php:256 actions/grouplogo.php:319
#: actions/imsettings.php:220 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:151 actions/recoverpassword.php:44
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
msgstr ""
-#: actions/apioauthauthorize.php:273
+#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
msgstr ""
-#: actions/apioauthauthorize.php:290
+#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
msgstr ""
-#: actions/apioauthauthorize.php:306
+#: actions/apioauthauthorize.php:292
#, php-format
msgid ""
-"The application <strong>%s</strong> by <strong>%s</strong> would like the "
-"ability to <strong>%s</strong> your account data."
+"The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
+"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
+"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:320 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:441
#, fuzzy
msgid "Account"
msgstr "關於"
-#: actions/apioauthauthorize.php:323 actions/login.php:230
+#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
#: actions/showgroup.php:236 actions/tagother.php:94 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
msgstr "暱稱"
-#: actions/apioauthauthorize.php:326 actions/login.php:233
+#: actions/apioauthauthorize.php:316 actions/login.php:233
#: actions/register.php:429 lib/accountsettingsaction.php:116
msgid "Password"
msgstr ""
-#: actions/apioauthauthorize.php:338
+#: actions/apioauthauthorize.php:328
msgid "Deny"
msgstr ""
-#: actions/apioauthauthorize.php:344
+#: actions/apioauthauthorize.php:334
msgid "Allow"
msgstr ""
-#: actions/apioauthauthorize.php:361
+#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
msgstr ""
@@ -751,8 +758,8 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: actions/avatarsettings.php:149 lib/deleteuserform.php:66
-#: lib/noticelist.php:611
+#: actions/avatarsettings.php:149 actions/showapplication.php:247
+#: lib/deleteuserform.php:66 lib/noticelist.php:624
msgid "Delete"
msgstr ""
@@ -802,8 +809,9 @@ msgid ""
"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
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/groupblock.php:178
msgid "No"
msgstr ""
@@ -812,9 +820,9 @@ msgstr ""
msgid "Do not block this user"
msgstr "無此使用者"
-#: actions/block.php:144 actions/deletenotice.php:146
-#: actions/deleteuser.php:148 actions/groupblock.php:179
-#: lib/repeatform.php:132
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr ""
@@ -924,6 +932,50 @@ msgstr "地點"
msgid "Notices"
msgstr ""
+#: actions/deleteapplication.php:63
+#, fuzzy
+msgid "You must be logged in to delete an application."
+msgstr "無法更新使用者"
+
+#: actions/deleteapplication.php:71
+#, fuzzy
+msgid "Application not found."
+msgstr "確èªç¢¼éºå¤±"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+#, fuzzy
+msgid "You are not the owner of this application."
+msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1195
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#, fuzzy
+msgid "Delete application"
+msgstr "無此通知"
+
+#: actions/deleteapplication.php:149
+msgid ""
+"Are you sure you want to delete this application? This will clear all data "
+"about the application from the database, including all existing user "
+"connections."
+msgstr ""
+
+#: actions/deleteapplication.php:156
+#, fuzzy
+msgid "Do not delete this application"
+msgstr "無此通知"
+
+#: actions/deleteapplication.php:160
+#, fuzzy
+msgid "Delete this application"
+msgstr "請在140個字以內æ述你自己與你的興趣"
+
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
@@ -957,7 +1009,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "無此通知"
-#: actions/deletenotice.php:146 lib/noticelist.php:611
+#: actions/deletenotice.php:146 lib/noticelist.php:624
msgid "Delete this notice"
msgstr ""
@@ -1108,7 +1160,7 @@ msgstr ""
msgid "Add to favorites"
msgstr ""
-#: actions/doc.php:155
+#: actions/doc.php:158
#, fuzzy, php-format
msgid "No such document \"%s\""
msgstr "無此文件"
@@ -1122,22 +1174,12 @@ msgstr "無此通知"
msgid "You must be logged in to edit an application."
msgstr ""
-#: actions/editapplication.php:77 actions/showapplication.php:94
-#, fuzzy
-msgid "You are not the owner of this application."
-msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
-
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:163
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
#, fuzzy
msgid "No such application."
msgstr "無此通知"
-#: actions/editapplication.php:127 actions/newapplication.php:110
-#: actions/showapplication.php:118 lib/action.php:1195
-msgid "There was a problem with your session token."
-msgstr ""
-
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
msgstr ""
@@ -1146,47 +1188,52 @@ msgstr ""
msgid "Name is required."
msgstr ""
-#: actions/editapplication.php:180 actions/newapplication.php:162
+#: actions/editapplication.php:180 actions/newapplication.php:165
#, fuzzy
msgid "Name is too long (max 255 chars)."
msgstr "å…¨åéŽé•·ï¼ˆæœ€å¤š255字元)"
-#: actions/editapplication.php:183 actions/newapplication.php:165
+#: actions/editapplication.php:183 actions/newapplication.php:162
+#, fuzzy
+msgid "Name already in use. Try another one."
+msgstr "此暱稱已有人使用。å†è©¦è©¦çœ‹åˆ¥çš„å§ã€‚"
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
#, fuzzy
msgid "Description is required."
msgstr "所有訂閱"
-#: actions/editapplication.php:191
+#: actions/editapplication.php:194
msgid "Source URL is too long."
msgstr ""
-#: actions/editapplication.php:197 actions/newapplication.php:182
+#: actions/editapplication.php:200 actions/newapplication.php:185
#, fuzzy
msgid "Source URL is not valid."
msgstr "個人首é ä½å€éŒ¯èª¤"
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#: actions/editapplication.php:203 actions/newapplication.php:188
msgid "Organization is required."
msgstr ""
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#: actions/editapplication.php:206 actions/newapplication.php:191
#, fuzzy
msgid "Organization is too long (max 255 chars)."
msgstr "地點éŽé•·ï¼ˆå…±255個字)"
-#: actions/editapplication.php:206 actions/newapplication.php:191
+#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
msgstr ""
-#: actions/editapplication.php:215 actions/newapplication.php:203
+#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
msgstr ""
-#: actions/editapplication.php:222 actions/newapplication.php:212
+#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
msgstr ""
-#: actions/editapplication.php:255
+#: actions/editapplication.php:258
#, fuzzy
msgid "Could not update application."
msgstr "無法更新使用者"
@@ -1260,8 +1307,8 @@ msgid ""
msgstr ""
#: actions/emailsettings.php:117 actions/imsettings.php:120
-#: actions/smssettings.php:126 lib/applicationeditform.php:333
-#: lib/applicationeditform.php:334
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
msgid "Cancel"
msgstr "å–消"
@@ -2069,11 +2116,11 @@ msgstr ""
msgid "Use this form to register a new application."
msgstr ""
-#: actions/newapplication.php:173
+#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr ""
-#: actions/newapplication.php:255 actions/newapplication.php:264
+#: actions/newapplication.php:258 actions/newapplication.php:267
#, fuzzy
msgid "Could not create application."
msgstr "無法存å–個人圖åƒè³‡æ–™"
@@ -2199,29 +2246,29 @@ msgstr ""
msgid "You have not registered any applications yet."
msgstr ""
-#: actions/oauthconnectionssettings.php:71
+#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr ""
-#: actions/oauthconnectionssettings.php:87
+#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
-#: actions/oauthconnectionssettings.php:170
+#: actions/oauthconnectionssettings.php:175
#, fuzzy
msgid "You are not a user of that application."
msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
-#: actions/oauthconnectionssettings.php:180
+#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
msgstr ""
-#: actions/oauthconnectionssettings.php:192
+#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
-#: actions/oauthconnectionssettings.php:205
+#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@@ -2604,7 +2651,7 @@ msgid "Full name"
msgstr "å…¨å"
#: actions/profilesettings.php:115 actions/register.php:453
-#: lib/applicationeditform.php:230 lib/groupeditform.php:161
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
msgid "Homepage"
msgstr "個人首é "
@@ -2731,37 +2778,37 @@ msgstr ""
msgid "Public timeline"
msgstr ""
-#: actions/public.php:151
+#: actions/public.php:159
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:155
+#: actions/public.php:163
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:167
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "%s的公開內容"
-#: actions/public.php:179
+#: actions/public.php:187
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:182
+#: actions/public.php:190
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:186
+#: actions/public.php:194
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:233
+#: actions/public.php:241
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2770,7 +2817,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:238
+#: actions/public.php:246
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3104,7 +3151,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "無此使用者"
-#: actions/repeat.php:114 lib/noticelist.php:629
+#: actions/repeat.php:114 lib/noticelist.php:642
#, fuzzy
msgid "Repeated"
msgstr "新增"
@@ -3166,6 +3213,11 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "&s的微型部è½æ ¼"
+#: actions/rsd.php:146 actions/version.php:157
+#, fuzzy
+msgid "StatusNet"
+msgstr "更新個人圖åƒ"
+
#: actions/sandbox.php:65 actions/unsandbox.php:65
#, fuzzy
msgid "You cannot sandbox users on this site."
@@ -3175,6 +3227,37 @@ msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
msgid "User is already sandboxed."
msgstr ""
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:336
+msgid "Sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:177
+msgid "Whether to handle sessions ourselves."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:181
+msgid "Session debugging"
+msgstr ""
+
+#: actions/sessionsadminpanel.php:183
+msgid "Turn on debugging output for sessions."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
+#: actions/useradminpanel.php:293
+#, fuzzy
+msgid "Save site settings"
+msgstr "線上å³æ™‚通設定"
+
#: actions/showapplication.php:82
msgid "You must be logged in to view an application."
msgstr ""
@@ -3183,23 +3266,23 @@ msgstr ""
msgid "Application profile"
msgstr ""
-#: actions/showapplication.php:160 lib/applicationeditform.php:182
+#: actions/showapplication.php:160 lib/applicationeditform.php:180
msgid "Icon"
msgstr ""
#: actions/showapplication.php:170 actions/version.php:195
-#: lib/applicationeditform.php:197
+#: lib/applicationeditform.php:195
#, fuzzy
msgid "Name"
msgstr "暱稱"
-#: actions/showapplication.php:179 lib/applicationeditform.php:224
+#: actions/showapplication.php:179 lib/applicationeditform.php:222
#, fuzzy
msgid "Organization"
msgstr "地點"
#: actions/showapplication.php:188 actions/version.php:198
-#: lib/applicationeditform.php:211 lib/groupeditform.php:172
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
#, fuzzy
msgid "Description"
msgstr "所有訂閱"
@@ -3211,42 +3294,42 @@ msgstr ""
#: actions/showapplication.php:204
#, php-format
-msgid "created by %1$s - %2$s access by default - %3$d users"
+msgid "Created by %1$s - %2$s access by default - %3$d users"
msgstr ""
#: actions/showapplication.php:214
msgid "Application actions"
msgstr ""
-#: actions/showapplication.php:233
+#: actions/showapplication.php:232
msgid "Reset key & secret"
msgstr ""
-#: actions/showapplication.php:241
+#: actions/showapplication.php:256
msgid "Application info"
msgstr ""
-#: actions/showapplication.php:243
+#: actions/showapplication.php:258
msgid "Consumer key"
msgstr ""
-#: actions/showapplication.php:248
+#: actions/showapplication.php:263
msgid "Consumer secret"
msgstr ""
-#: actions/showapplication.php:253
+#: actions/showapplication.php:268
msgid "Request token URL"
msgstr ""
-#: actions/showapplication.php:258
+#: actions/showapplication.php:273
msgid "Access token URL"
msgstr ""
-#: actions/showapplication.php:263
+#: actions/showapplication.php:278
msgid "Authorize URL"
msgstr ""
-#: actions/showapplication.php:268
+#: actions/showapplication.php:283
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
@@ -3455,25 +3538,25 @@ msgstr ""
msgid "FOAF for %s"
msgstr ""
-#: actions/showstream.php:191
+#: actions/showstream.php:200
#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-#: actions/showstream.php:196
+#: actions/showstream.php:205
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
+#: actions/showstream.php:207
#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-#: actions/showstream.php:234
+#: actions/showstream.php:243
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3482,7 +3565,7 @@ msgid ""
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showstream.php:239
+#: actions/showstream.php:248
#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3490,7 +3573,7 @@ msgid ""
"[StatusNet](http://status.net/) tool. "
msgstr ""
-#: actions/showstream.php:313
+#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
msgstr ""
@@ -3648,11 +3731,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:336 actions/useradminpanel.php:313
-#, fuzzy
-msgid "Save site settings"
-msgstr "線上å³æ™‚通設定"
-
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -3957,86 +4035,66 @@ msgstr ""
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:149
+#: actions/useradminpanel.php:148
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:155
+#: actions/useradminpanel.php:154
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:165
+#: actions/useradminpanel.php:164
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:221
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:223
+#: actions/useradminpanel.php:222
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:231
+#: actions/useradminpanel.php:230
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:234
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:236
+#: actions/useradminpanel.php:235
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:240
#, fuzzy
msgid "Default subscription"
msgstr "所有訂閱"
-#: actions/useradminpanel.php:242
+#: actions/useradminpanel.php:241
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:251
+#: actions/useradminpanel.php:250
#, fuzzy
msgid "Invitations"
msgstr "地點"
-#: actions/useradminpanel.php:256
+#: actions/useradminpanel.php:255
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:258
+#: actions/useradminpanel.php:257
msgid "Whether to allow users to invite new users."
msgstr ""
-#: actions/useradminpanel.php:265
-msgid "Sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:270
-msgid "Handle sessions"
-msgstr ""
-
-#: actions/useradminpanel.php:272
-msgid "Whether to handle sessions ourselves."
-msgstr ""
-
-#: actions/useradminpanel.php:276
-msgid "Session debugging"
-msgstr ""
-
-#: actions/useradminpanel.php:278
-msgid "Turn on debugging output for sessions."
-msgstr ""
-
#: actions/userauthorization.php:105
msgid "Authorize subscription"
msgstr "註冊確èª"
@@ -4176,11 +4234,6 @@ msgid ""
"Inc. and contributors."
msgstr ""
-#: actions/version.php:157
-#, fuzzy
-msgid "StatusNet"
-msgstr "更新個人圖åƒ"
-
#: actions/version.php:161
msgid "Contributors"
msgstr ""
@@ -4304,22 +4357,22 @@ msgstr ""
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:790
+#: classes/Notice.php:788
#, fuzzy
msgid "Problem saving group inbox."
msgstr "儲存使用者發生錯誤"
-#: classes/Notice.php:850
+#: classes/Notice.php:848
#, php-format
msgid "DB error inserting reply: %s"
msgstr "增加回覆時,資料庫發生錯誤: %s"
-#: classes/Notice.php:1233
+#: classes/Notice.php:1231
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
-#: classes/User.php:382
+#: classes/User.php:385
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
@@ -4602,65 +4655,79 @@ msgstr "確èªä¿¡ç®±"
msgid "Paths configuration"
msgstr "確èªä¿¡ç®±"
+#: lib/adminpanelaction.php:337
+#, fuzzy
+msgid "Sessions configuration"
+msgstr "確èªä¿¡ç®±"
+
+#: lib/apiauth.php:99
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:279
+#, php-format
+msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
+msgstr ""
+
#: lib/applicationeditform.php:136
msgid "Edit application"
msgstr ""
-#: lib/applicationeditform.php:186
+#: lib/applicationeditform.php:184
msgid "Icon for this application"
msgstr ""
-#: lib/applicationeditform.php:206
+#: lib/applicationeditform.php:204
#, fuzzy, php-format
msgid "Describe your application in %d characters"
msgstr "請在140個字以內æ述你自己與你的興趣"
-#: lib/applicationeditform.php:209
+#: lib/applicationeditform.php:207
#, fuzzy
msgid "Describe your application"
msgstr "請在140個字以內æ述你自己與你的興趣"
-#: lib/applicationeditform.php:218
+#: lib/applicationeditform.php:216
msgid "Source URL"
msgstr ""
-#: lib/applicationeditform.php:220
+#: lib/applicationeditform.php:218
msgid "URL of the homepage of this application"
msgstr ""
-#: lib/applicationeditform.php:226
+#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
-#: lib/applicationeditform.php:232
+#: lib/applicationeditform.php:230
msgid "URL for the homepage of the organization"
msgstr ""
-#: lib/applicationeditform.php:238
+#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
msgstr ""
-#: lib/applicationeditform.php:260
+#: lib/applicationeditform.php:258
msgid "Browser"
msgstr ""
-#: lib/applicationeditform.php:276
+#: lib/applicationeditform.php:274
msgid "Desktop"
msgstr ""
-#: lib/applicationeditform.php:277
+#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
msgstr ""
-#: lib/applicationeditform.php:299
+#: lib/applicationeditform.php:297
msgid "Read-only"
msgstr ""
-#: lib/applicationeditform.php:317
+#: lib/applicationeditform.php:315
msgid "Read-write"
msgstr ""
-#: lib/applicationeditform.php:318
+#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
@@ -4688,11 +4755,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:214 lib/authenticationplugin.php:219
+#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
msgid "Password changing failed"
msgstr ""
-#: lib/authenticationplugin.php:229
+#: lib/authenticationplugin.php:233
msgid "Password changing is not allowed"
msgstr ""
@@ -4959,20 +5026,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:131
+#: lib/common.php:135
#, fuzzy
msgid "No configuration file found. "
msgstr "無確èªç¢¼"
-#: lib/common.php:132
+#: lib/common.php:136
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:134
+#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:135
+#: lib/common.php:139
msgid "Go to the installer."
msgstr ""
@@ -5545,25 +5612,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:531
+#: lib/noticelist.php:547
#, fuzzy
msgid "in context"
msgstr "無內容"
-#: lib/noticelist.php:556
+#: lib/noticelist.php:572
#, fuzzy
msgid "Repeated by"
msgstr "新增"
-#: lib/noticelist.php:585
+#: lib/noticelist.php:598
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:586
+#: lib/noticelist.php:599
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:628
+#: lib/noticelist.php:641
#, fuzzy
msgid "Notice repeated"
msgstr "更新個人圖åƒ"
@@ -5710,6 +5777,10 @@ msgstr "無此通知"
msgid "Repeat this notice"
msgstr "無此通知"
+#: lib/router.php:665
+msgid "No single user defined for single-user mode."
+msgstr ""
+
#: lib/sandboxform.php:67
msgid "Sandbox"
msgstr ""
@@ -5884,47 +5955,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:868
+#: lib/util.php:867
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:870
+#: lib/util.php:869
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:872
+#: lib/util.php:871
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:874
+#: lib/util.php:873
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:876
+#: lib/util.php:875
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:878
+#: lib/util.php:877
msgid "about a day ago"
msgstr ""
-#: lib/util.php:880
+#: lib/util.php:879
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:882
+#: lib/util.php:881
msgid "about a month ago"
msgstr ""
-#: lib/util.php:884
+#: lib/util.php:883
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:886
+#: lib/util.php:885
msgid "about a year ago"
msgstr ""
diff --git a/plugins/Adsense/AdsensePlugin.php b/plugins/Adsense/AdsensePlugin.php
new file mode 100644
index 000000000..ab2b9a6fb
--- /dev/null
+++ b/plugins/Adsense/AdsensePlugin.php
@@ -0,0 +1,160 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin for Google Adsense
+ *
+ * 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 Ads
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Plugin to add Google Adsense to StatusNet sites
+ *
+ * This plugin lets you add Adsense ad units to your StatusNet site.
+ *
+ * We support the 4 ad sizes for the Universal Ad Platform (UAP):
+ *
+ * Medium Rectangle
+ * (Small) Rectangle
+ * Leaderboard
+ * Wide Skyscraper
+ *
+ * They fit in different places on the default theme. Some themes
+ * might interact quite poorly with this plugin.
+ *
+ * To enable advertising, you must sign up with Google Adsense and
+ * get a client ID.
+ *
+ * https://www.google.com/adsense/
+ *
+ * You'll also need to create an Adsense for Content unit in one
+ * of the four sizes described above. At the end of the process,
+ * note the "google_ad_client" and "google_ad_slot" values in the
+ * resultant Javascript.
+ *
+ * Add the plugin to config.php like so:
+ *
+ * addPlugin('Adsense', array('client' => 'Your client ID',
+ * 'rectangle' => 'slot'));
+ *
+ * Here, your client ID is the value of google_ad_client and the
+ * slot is the value of google_ad_slot. Note that if you create
+ * a different size, you'll need to provide different arguments:
+ * 'mediumRectangle', 'leaderboard', or 'wideSkyscraper'.
+ *
+ * If for some reason your ad server is different from the default,
+ * use the 'adScript' parameter to set the full path to the ad script.
+ *
+ * @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/
+ *
+ * @seeAlso UAPPlugin
+ */
+
+class AdsensePlugin extends UAPPlugin
+{
+ public $adScript = 'http://pagead2.googlesyndication.com/pagead/show_ads.js';
+ public $client = null;
+
+ /**
+ * Show a medium rectangle 'ad'
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showMediumRectangle($action)
+ {
+ $this->showAdsenseCode($action, 300, 250, $this->mediumRectangle);
+ }
+
+ /**
+ * Show a rectangle 'ad'
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showRectangle($action)
+ {
+ $this->showAdsenseCode($action, 180, 150, $this->rectangle);
+ }
+
+ /**
+ * Show a wide skyscraper ad
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showWideSkyscraper($action)
+ {
+ $this->showAdsenseCode($action, 160, 600, $this->wideSkyscraper);
+ }
+
+ /**
+ * Show a leaderboard ad
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showLeaderboard($action)
+ {
+ $this->showAdsenseCode($action, 728, 90, $this->leaderboard);
+ }
+
+ /**
+ * Output the bits of JavaScript code to show Adsense
+ *
+ * @param Action $action Action being shown
+ * @param integer $width Width of the block
+ * @param integer $height Height of the block
+ * @param string $slot Slot identifier
+ *
+ * @return void
+ */
+
+ protected function showAdsenseCode($action, $width, $height, $slot)
+ {
+ $code = 'google_ad_client = "'.$this->client.'"; ';
+ $code .= 'google_ad_slot = "'.$slot.'"; ';
+ $code .= 'google_ad_width = '.$width.'; ';
+ $code .= 'google_ad_height = '.$height.'; ';
+
+ $action->inlineScript($code);
+
+ $action->script($this->adScript);
+ }
+} \ No newline at end of file
diff --git a/plugins/GeonamesPlugin.php b/plugins/GeonamesPlugin.php
index 52cc9c97f..589462ed9 100644
--- a/plugins/GeonamesPlugin.php
+++ b/plugins/GeonamesPlugin.php
@@ -71,7 +71,7 @@ class GeonamesPlugin extends Plugin
$loc = $this->getCache(array('name' => $name,
'language' => $language));
- if (!empty($loc)) {
+ if ($loc !== false) {
$location = $loc;
return false;
}
@@ -87,12 +87,20 @@ class GeonamesPlugin extends Plugin
return true;
}
+ if (count($geonames) == 0) {
+ // no results
+ $this->setCache(array('name' => $name,
+ 'language' => $language),
+ null);
+ return true;
+ }
+
$n = $geonames[0];
$location = new Location();
- $location->lat = (string)$n->lat;
- $location->lon = (string)$n->lng;
+ $location->lat = $this->canonical($n->lat);
+ $location->lon = $this->canonical($n->lng);
$location->names[$language] = (string)$n->name;
$location->location_id = (string)$n->geonameId;
$location->location_ns = self::LOCATION_NS;
@@ -125,7 +133,7 @@ class GeonamesPlugin extends Plugin
$loc = $this->getCache(array('id' => $id));
- if (!empty($loc)) {
+ if ($loc !== false) {
$location = $loc;
return false;
}
@@ -157,8 +165,9 @@ class GeonamesPlugin extends Plugin
$location->location_id = (string)$last->geonameId;
$location->location_ns = self::LOCATION_NS;
- $location->lat = (string)$last->lat;
- $location->lon = (string)$last->lng;
+ $location->lat = $this->canonical($last->lat);
+ $location->lon = $this->canonical($last->lng);
+
$location->names[$language] = implode(', ', array_reverse($parts));
$this->setCache(array('id' => (string)$last->geonameId),
@@ -186,13 +195,15 @@ class GeonamesPlugin extends Plugin
function onLocationFromLatLon($lat, $lon, $language, &$location)
{
- $lat = rtrim($lat, "0");
- $lon = rtrim($lon, "0");
+ // Make sure they're canonical
+
+ $lat = $this->canonical($lat);
+ $lon = $this->canonical($lon);
$loc = $this->getCache(array('lat' => $lat,
'lon' => $lon));
- if (!empty($loc)) {
+ if ($loc !== false) {
$location = $loc;
return false;
}
@@ -207,6 +218,14 @@ class GeonamesPlugin extends Plugin
return true;
}
+ if (count($geonames) == 0) {
+ // no results
+ $this->setCache(array('lat' => $lat,
+ 'lon' => $lon),
+ null);
+ return true;
+ }
+
$n = $geonames[0];
$parts = array();
@@ -225,8 +244,8 @@ class GeonamesPlugin extends Plugin
$location->location_id = (string)$n->geonameId;
$location->location_ns = self::LOCATION_NS;
- $location->lat = (string)$lat;
- $location->lon = (string)$lon;
+ $location->lat = $this->canonical($n->lat);
+ $location->lon = $this->canonical($n->lng);
$location->names[$language] = implode(', ', $parts);
@@ -264,7 +283,7 @@ class GeonamesPlugin extends Plugin
$n = $this->getCache(array('id' => $id,
'language' => $language));
- if (!empty($n)) {
+ if ($n !== false) {
$name = $n;
return false;
}
@@ -278,6 +297,13 @@ class GeonamesPlugin extends Plugin
return false;
}
+ if (count($geonames) == 0) {
+ $this->setCache(array('id' => $id,
+ 'language' => $language),
+ null);
+ return false;
+ }
+
$parts = array();
foreach ($geonames as $level) {
@@ -412,17 +438,29 @@ class GeonamesPlugin extends Plugin
throw new Exception("HTTP error code " . $result->code);
}
- $document = new SimpleXMLElement($result->getBody());
+ $body = $result->getBody();
+
+ if (empty($body)) {
+ throw new Exception("Empty HTTP body in response");
+ }
+
+ // This will throw an exception if the XML is mal-formed
+
+ $document = new SimpleXMLElement($body);
- if (empty($document)) {
- throw new Exception("No results in response");
+ // No children, usually no results
+
+ $children = $document->children();
+
+ if (count($children) == 0) {
+ return array();
}
if (isset($document->status)) {
throw new Exception("Error #".$document->status['value']." ('".$document->status['message']."')");
}
- // Array of elements
+ // Array of elements, >0 elements
return $document->geoname;
}
@@ -438,4 +476,12 @@ class GeonamesPlugin extends Plugin
'names for locations based on user-provided lat/long pairs.'));
return true;
}
+
+ function canonical($coord)
+ {
+ $coord = rtrim($coord, "0");
+ $coord = rtrim($coord, ".");
+
+ return $coord;
+ }
}
diff --git a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
index 1755033f1..768f0fe7f 100644
--- a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
+++ b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
@@ -96,8 +96,11 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
}
}
- function autoRegister($username)
+ function autoRegister($username, $nickname)
{
+ if(is_null($nickname)){
+ $nickname = $username;
+ }
$entry = $this->ldap_get_user($username,$this->attributes);
if($entry){
$registration_data = array();
@@ -107,6 +110,7 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
if(isset($registration_data['email']) && !empty($registration_data['email'])){
$registration_data['email_confirmed']=true;
}
+ $registration_data['nickname'] = $nickname;
//set the database saved password to a random string.
$registration_data['password']=common_good_rand(16);
return User::register($registration_data);
diff --git a/plugins/MemcachePlugin.php b/plugins/MemcachePlugin.php
index 8c8b8da6d..2bc4b892b 100644
--- a/plugins/MemcachePlugin.php
+++ b/plugins/MemcachePlugin.php
@@ -59,6 +59,8 @@ class MemcachePlugin extends Plugin
public $persistent = null;
+ public $defaultExpiry = 86400; // 24h
+
/**
* Initialize the plugin
*
@@ -110,6 +112,9 @@ class MemcachePlugin extends Plugin
function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
{
$this->_ensureConn();
+ if ($expiry === null) {
+ $expiry = $this->defaultExpiry;
+ }
$success = $this->_conn->set($key, $value, $flag, $expiry);
Event::handle('EndCacheSet', array($key, $value, $flag,
$expiry));
diff --git a/plugins/OpenX/OpenXPlugin.php b/plugins/OpenX/OpenXPlugin.php
new file mode 100644
index 000000000..59485f25d
--- /dev/null
+++ b/plugins/OpenX/OpenXPlugin.php
@@ -0,0 +1,165 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin for OpenX ad server
+ *
+ * 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 Ads
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Plugin for OpenX Ad Server
+ *
+ * This plugin supports the OpenX ad server, http://www.openx.org/
+ *
+ * We support the 4 ad sizes for the Universal Ad Platform (UAP):
+ *
+ * Medium Rectangle
+ * (Small) Rectangle
+ * Leaderboard
+ * Wide Skyscraper
+ *
+ * They fit in different places on the default theme. Some themes
+ * might interact quite poorly with this plugin.
+ *
+ * To enable advertising, you will need an OpenX server. You'll need
+ * to set up a "zone" for your StatusNet site that identifies a
+ * kind of ad you want to place (of the above 4 sizes).
+ *
+ * Add the plugin to config.php like so:
+ *
+ * addPlugin('OpenX', array('adScript' => 'full path to script',
+ * 'rectangle' => 1));
+ *
+ * Here, the 'adScript' parameter is the full path to the OpenX
+ * ad script, like 'http://example.com/www/delivery/ajs.php'. Note
+ * that we don't do any magic to swap between HTTP and HTTPS, so
+ * if you want HTTPS, say so.
+ *
+ * The 'rectangle' parameter is the zone ID for that ad space on
+ * your site. If you've configured another size, try 'mediumRectangle',
+ * 'leaderboard', or 'wideSkyscraper'.
+ *
+ * If for some reason your ad server is different from the default,
+ * use the 'adScript' parameter to set the full path to the ad script.
+ *
+ * @category Ads
+ * @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/
+ *
+ * @seeAlso UAPPlugin
+ */
+
+class OpenXPlugin extends UAPPlugin
+{
+ public $adScript = null;
+
+ /**
+ * Show a medium rectangle 'ad'
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showMediumRectangle($action)
+ {
+ $this->showAd($action, $this->mediumRectangle);
+ }
+
+ /**
+ * Show a rectangle 'ad'
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showRectangle($action)
+ {
+ $this->showAd($action, $this->rectangle);
+ }
+
+ /**
+ * Show a wide skyscraper ad
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showWideSkyscraper($action)
+ {
+ $this->showAd($action, $this->wideSkyscraper);
+ }
+
+ /**
+ * Show a leaderboard ad
+ *
+ * @param Action $action Action being shown
+ *
+ * @return void
+ */
+
+ protected function showLeaderboard($action)
+ {
+ $this->showAd($action, $this->leaderboard);
+ }
+
+ /**
+ * Show an ad using OpenX
+ *
+ * @param Action $action Action being shown
+ * @param integer $zone Zone to show
+ *
+ * @return void
+ */
+
+ protected function showAd($action, $zone)
+ {
+$scr = <<<ENDOFSCRIPT
+var m3_u = '%s';
+var m3_r = Math.floor(Math.random()*99999999999);
+if (!document.MAX_used) document.MAX_used = ',';
+document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
+document.write ("?zoneid=%d");
+document.write ('&amp;cb=' + m3_r);
+if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
+document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
+document.write ("&amp;loc=" + escape(window.location));
+if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
+if (document.context) document.write ("&context=" + escape(document.context));
+if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
+document.write ("'><\/scr"+"ipt>");
+ENDOFSCRIPT;
+
+ $action->inlineScript(sprintf($scr, $this->adScript, $zone));
+ return true;
+ }
+} \ No newline at end of file
diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php
index 16e28e94d..6c212453e 100644
--- a/plugins/Realtime/RealtimePlugin.php
+++ b/plugins/Realtime/RealtimePlugin.php
@@ -87,7 +87,7 @@ class RealtimePlugin extends Plugin
$scripts = $this->_getScripts();
foreach ($scripts as $script) {
- $action->script(common_path($script));
+ $action->script($script);
}
$user = common_current_user();
@@ -307,7 +307,7 @@ class RealtimePlugin extends Plugin
function _getScripts()
{
- return array('plugins/Realtime/realtimeupdate.js');
+ return array(common_path('plugins/Realtime/realtimeupdate.js'));
}
function _updateInitialize($timeline, $user_id)
diff --git a/plugins/Realtime/realtimeupdate.js b/plugins/Realtime/realtimeupdate.js
index 52151f9de..7adea45a0 100644
--- a/plugins/Realtime/realtimeupdate.js
+++ b/plugins/Realtime/realtimeupdate.js
@@ -95,9 +95,7 @@ RealtimeUpdate = {
$("#notices_primary .notice:first").css({display:"none"});
$("#notices_primary .notice:first").fadeIn(1000);
- SN.U.FormXHR($('#'+noticeItemID+' .form_favor'));
SN.U.NoticeReplyTo($('#'+noticeItemID));
- SN.U.FormXHR($('#'+noticeItemID+' .form_repeat'));
SN.U.NoticeWithAttachment($('#'+noticeItemID));
},
@@ -136,7 +134,7 @@ RealtimeUpdate = {
ni = "<li class=\"hentry notice\" id=\"notice-"+unique+"\">"+
"<div class=\"entry-title\">"+
"<span class=\"vcard author\">"+
- "<a href=\""+user['profile_url']+"\" class=\"url\">"+
+ "<a href=\""+user['profile_url']+"\" class=\"url\" title=\""+user['name']+"\">"+
"<img src=\""+user['profile_image_url']+"\" class=\"avatar photo\" width=\"48\" height=\"48\" alt=\""+user['screen_name']+"\"/>"+
"<span class=\"nickname fn\">"+user['screen_name']+"</span>"+
"</a>"+
@@ -180,7 +178,7 @@ RealtimeUpdate = {
ni = ni+"</div>";
- "</li>";
+ ni = ni+"</li>";
return ni;
},
diff --git a/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php b/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
index d9d2137f8..dac5a1588 100644
--- a/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
+++ b/plugins/ReverseUsernameAuthentication/ReverseUsernameAuthenticationPlugin.php
@@ -47,10 +47,13 @@ class ReverseUsernameAuthenticationPlugin extends AuthenticationPlugin
return $username == strrev($password);
}
- function autoRegister($username)
+ function autoRegister($username, $nickname)
{
+ if(is_null($nickname)){
+ $nickname = $username;
+ }
$registration_data = array();
- $registration_data['nickname'] = $username ;
+ $registration_data['nickname'] = $nickname ;
return User::register($registration_data);
}
diff --git a/plugins/UserFlag/UserFlagPlugin.php b/plugins/UserFlag/UserFlagPlugin.php
index a33869c19..ae3dfe036 100644
--- a/plugins/UserFlag/UserFlagPlugin.php
+++ b/plugins/UserFlag/UserFlagPlugin.php
@@ -183,21 +183,6 @@ class UserFlagPlugin extends Plugin
}
/**
- * 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'),
- null, 'screen, projection, tv');
- return true;
- }
-
- /**
* Initialize any flagging buttons on the page
*
* @param Action $action action being shown
@@ -208,8 +193,8 @@ class UserFlagPlugin extends Plugin
function onEndShowScripts($action)
{
$action->inlineScript('if ($(".form_entity_flag").length > 0) { '.
- 'SN.U.FormXHR($(".form_entity_flag")); '.
- '}');
+ '$(".form_entity_flag").bind("click", function() {'.
+ 'SN.U.FormXHR($(this)); return false; }); }');
return true;
}
diff --git a/plugins/UserFlag/clearflagform.php b/plugins/UserFlag/clearflagform.php
index 5ad6055d3..eefd15c36 100644
--- a/plugins/UserFlag/clearflagform.php
+++ b/plugins/UserFlag/clearflagform.php
@@ -54,7 +54,7 @@ class ClearFlagForm extends ProfileActionForm
function formClass()
{
- return 'form_entity_clearflag';
+ return 'form_user_clearflag';
}
/**
diff --git a/plugins/UserFlag/userflag.css b/plugins/UserFlag/userflag.css
deleted file mode 100644
index 98da24cc9..000000000
--- a/plugins/UserFlag/userflag.css
+++ /dev/null
@@ -1,4 +0,0 @@
-.entity_flag input.submit,
-.entity_flag p {
-background:url(icon_flag.gif) 5px 5px no-repeat;
-}
diff --git a/plugins/UserLimitPlugin.php b/plugins/UserLimitPlugin.php
new file mode 100644
index 000000000..ab3187299
--- /dev/null
+++ b/plugins/UserLimitPlugin.php
@@ -0,0 +1,92 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to limit number of users that can register (best for cloud providers)
+ *
+ * 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 limit number of users that can register (best for cloud providers)
+ *
+ * For cloud providers whose freemium model is based on how many
+ * users can register. We use it on the StatusNet Cloud.
+ *
+ * @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/
+ *
+ * @seeAlso Location
+ */
+
+class UserLimitPlugin extends Plugin
+{
+ public $maxUsers = null;
+
+ function onStartUserRegister(&$user, &$profile)
+ {
+ $this->_checkMaxUsers();
+ return true;
+ }
+
+ function onStartRegistrationTry($action)
+ {
+ $this->_checkMaxUsers();
+ return true;
+ }
+
+ function _checkMaxUsers()
+ {
+ if (!is_null($this->maxUsers)) {
+
+ $cls = new User();
+
+ $cnt = $cls->count();
+
+ if ($cnt >= $this->maxUsers) {
+ $msg = sprintf(_('Cannot register; maximum number of users (%d) reached.'),
+ $this->maxUsers);
+
+ throw new ClientException($msg);
+ }
+ }
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'UserLimit',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:UserLimit',
+ 'description' =>
+ _m('Limit the number of users who can register.'));
+ return true;
+ }
+}
diff --git a/scripts/clearcache.php b/scripts/clearcache.php
new file mode 100644
index 000000000..702c1e3d6
--- /dev/null
+++ b/scripts/clearcache.php
@@ -0,0 +1,70 @@
+#!/usr/bin/env php
+<?php
+/*
+ * 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/>.
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+
+$shortoptions = "t:c:v:k:";
+
+$helptext = <<<ENDOFHELP
+USAGE: clearcache.php <args>
+clears the cached object based on the args
+
+ -t table Table to look up
+ -c column Column to look up, default "id"
+ -v value Value to look up
+ -k key Key to look up; other args are ignored
+
+ENDOFHELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+$karg = get_option_value('k');
+
+if (!empty($karg)) {
+ $k = common_cache_key($karg);
+} else {
+ $table = get_option_value('t');
+ if (empty($table)) {
+ die("No table or key specified\n");
+ }
+ $column = get_option_value('c');
+ if (empty($column)) {
+ $column = 'id';
+ }
+ $value = get_option_value('v');
+
+ $k = Memcached_DataObject::cacheKey($table, $column, $value);
+}
+
+print "Clearing key '$k'...";
+
+$c = common_memcache();
+
+if (empty($c)) {
+ die("Can't initialize cache object!\n");
+}
+
+$result = $c->delete($k);
+
+if ($result) {
+ print "OK.\n";
+} else {
+ print "FAIL.\n";
+}
diff --git a/scripts/delete_status_network.sh b/scripts/delete_status_network.sh
index f55f1486b..3a8ebdcfd 100755
--- a/scripts/delete_status_network.sh
+++ b/scripts/delete_status_network.sh
@@ -1,5 +1,9 @@
#!/bin/bash
+# live fast! die young!
+
+set -e
+
source /etc/statusnet/setup.cfg
export nickname=$1
diff --git a/scripts/queuedaemon.php b/scripts/queuedaemon.php
index c2e2351c3..30a8a9602 100755
--- a/scripts/queuedaemon.php
+++ b/scripts/queuedaemon.php
@@ -109,7 +109,13 @@ class QueueDaemon extends SpawningDaemon
$master = new QueueMaster($this->get_id());
$master->init($this->all);
- $master->service();
+ try {
+ $master->service();
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Unhandled exception: " . $e->getMessage() . ' ' .
+ str_replace("\n", " ", $e->getTraceAsString()));
+ return self::EXIT_ERR;
+ }
$this->log(LOG_INFO, 'finished servicing the queue');
diff --git a/scripts/sendemail.php b/scripts/sendemail.php
new file mode 100755
index 000000000..436e085be
--- /dev/null
+++ b/scripts/sendemail.php
@@ -0,0 +1,82 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - a 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:n:';
+$longoptions = array('id=', 'nickname=', 'subject=');
+
+$helptext = <<<END_OF_USEREMAIL_HELP
+sendemail.php [options] < <message body>
+Sends given email text to user.
+
+ -i --id id of the user to query
+ -n --nickname nickname of the user to query
+ --subject mail subject line (required)
+
+END_OF_USEREMAIL_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+if (have_option('i', 'id')) {
+ $id = get_option_value('i', 'id');
+ $user = User::staticGet('id', $id);
+ if (empty($user)) {
+ print "Can't find user with ID $id\n";
+ exit(1);
+ }
+} else if (have_option('n', 'nickname')) {
+ $nickname = get_option_value('n', 'nickname');
+ $user = User::staticGet('nickname', $nickname);
+ if (empty($user)) {
+ print "Can't find user with nickname '$nickname'\n";
+ exit(1);
+ }
+} else {
+ print "You must provide a user by --id or --nickname\n";
+ exit(1);
+}
+
+if (empty($user->email)) {
+ // @fixme unconfirmed address?
+ print "No email registered for user '$user->nickname'\n";
+ exit(1);
+}
+
+if (!have_option('subject')) {
+ echo "You must provide a subject line for the mail in --subject='...' param.\n";
+ exit(1);
+}
+$subject = get_option_value('subject');
+
+if (posix_isatty(STDIN)) {
+ print "You must provide message input on stdin!\n";
+ exit(1);
+}
+$body = file_get_contents('php://stdin');
+
+print "Sending to $user->email...";
+if (mail_to_user($user, $subject, $body)) {
+ print " done\n";
+} else {
+ print " failed.\n";
+ exit(1);
+}
+
diff --git a/scripts/setconfig.php b/scripts/setconfig.php
index b102f99b1..fe0e46d65 100644..100755
--- a/scripts/setconfig.php
+++ b/scripts/setconfig.php
@@ -28,6 +28,7 @@ setconfig.php [options] [section] [setting] <value>
With three args, set the setting to the value.
With two args, just show the setting.
With -d, delete the setting.
+With no args, lists all currently set values.
[section] section to use (required)
[setting] setting to use (required)
@@ -39,6 +40,21 @@ END_OF_SETCONFIG_HELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
+if (empty($args)) {
+ $count = 0;
+ $config = new Config();
+ $config->find();
+ while ($config->fetch()) {
+ $count++;
+ printf("%-20s %-20s %s\n", $config->section, $config->setting,
+ var_export($config->value, true));
+ }
+ if ($count == 0) {
+ print "No configuration set in database for this site.\n";
+ }
+ exit(0);
+}
+
if (count($args) < 2 || count($args) > 3) {
show_help();
exit(1);
diff --git a/scripts/settag.php b/scripts/settag.php
new file mode 100644
index 000000000..e91d5eb50
--- /dev/null
+++ b/scripts/settag.php
@@ -0,0 +1,84 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - a 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 = 'd';
+$longoptions = array('delete');
+
+$helptext = <<<END_OF_SETTAG_HELP
+settag.php [options] <site> <tag>
+Set the tag <tag> for site <site>.
+
+With -d, delete the tag.
+
+END_OF_SETTAG_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+if (count($args) != 2) {
+ show_help();
+ exit(1);
+}
+
+$nickname = $args[0];
+$tag = strtolower($args[1]);
+
+$sn = Status_network::memGet('nickname', $nickname);
+
+if (empty($sn)) {
+ print "No such site.\n";
+ exit(-1);
+}
+
+$tags = $sn->getTags();
+
+$i = array_search($tag, $tags);
+
+if ($i !== false) {
+ if (have_option('d', 'delete')) { // Delete
+ unset($tags[$i]);
+
+ $orig = clone($sn);
+ $sn->tags = implode('|', $tags);
+ $result = $sn->update($orig);
+ if (!$result) {
+ print "Couldn't update.\n";
+ exit(-1);
+ }
+ } else {
+ print "Already set.\n";
+ exit(-1);
+ }
+} else {
+ if (have_option('d', 'delete')) { // Delete
+ print "No such tag.\n";
+ exit(-1);
+ } else {
+ $tags[] = $tag;
+ $orig = clone($sn);
+ $sn->tags = implode('|', $tags);
+ $result = $sn->update($orig);
+ if (!$result) {
+ print "Couldn't update.\n";
+ exit(-1);
+ }
+ }
+}
diff --git a/scripts/setup.cfg.sample b/scripts/setup.cfg.sample
index 8d03b06f5..f247a3bca 100644
--- a/scripts/setup.cfg.sample
+++ b/scripts/setup.cfg.sample
@@ -11,4 +11,8 @@ export AVATARBASE=/var/www/avatar.example.net
export BACKGROUNDBASE=/var/www/background.example.net
export FILEBASE=/var/www/file.example.net
export PWDGEN="pwgen 20"
-
+export PHPBASE=/var/www/statusnet
+export WILDCARD=example.net
+export MAILTEMPLATE=/etc/statusnet/newsite-mail.txt
+export MAILSUBJECT="Your new StatusNet site"
+export POSTINSTALL=/etc/statusnet/morestuff.sh
diff --git a/scripts/setup_status_network.sh b/scripts/setup_status_network.sh
index 777711fb5..4ad808011 100755
--- a/scripts/setup_status_network.sh
+++ b/scripts/setup_status_network.sh
@@ -1,10 +1,28 @@
#!/bin/bash
+# live fast! die young!
+
+set -e
+
source /etc/statusnet/setup.cfg
-export nickname=$1
-export sitename=$2
+# setup_status_net.sh mysite 'My Site' '1user' 'owner@example.com' 'Firsty McLastname'
+
+export nickname="$1"
+export sitename="$2"
+export tags="$3"
+export email="$4"
+export fullname="$5"
+
+# Fixme: if this is changed later we need to update profile URLs
+# for the created user.
+export server="$nickname.$WILDCARD"
+
+# End-user info
+export userpass=`$PWDGEN`
+export roles="administrator moderator owner"
+# DB info
export password=`$PWDGEN`
export database=$nickname$DBBASE
export username=$nickname$USERBASE
@@ -21,8 +39,8 @@ mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB << ENDOFCOMMANDS
GRANT ALL ON $database.* TO '$username'@'localhost' IDENTIFIED BY '$password';
GRANT ALL ON $database.* TO '$username'@'%' IDENTIFIED BY '$password';
-INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created)
-VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now());
+INSERT INTO status_network (nickname, dbhost, dbuser, dbpass, dbname, sitename, created, tags)
+VALUES ('$nickname', '$DBHOSTNAME', '$username', '$password', '$database', '$sitename', now(), '$tags');
ENDOFCOMMANDS
@@ -30,3 +48,39 @@ for top in $AVATARBASE $FILEBASE $BACKGROUNDBASE; do
mkdir $top/$nickname
chmod a+w $top/$nickname
done
+
+php $PHPBASE/scripts/registeruser.php \
+ -s"$server" \
+ -n"$nickname" \
+ -f"$fullname" \
+ -w"$userpass" \
+ -e"$email"
+
+for role in $roles
+do
+ php $PHPBASE/scripts/userrole.php \
+ -s"$server" \
+ -n"$nickname" \
+ -r"$role"
+done
+
+if [ -f "$MAILTEMPLATE" ]
+then
+ # fixme how safe is this? are sitenames sanitized?
+ cat $MAILTEMPLATE | \
+ sed "s/\$nickname/$nickname/" | \
+ sed "s/\$sitename/$sitename/" | \
+ sed "s/\$userpass/$userpass/" | \
+ php $PHPBASE/scripts/sendemail.php \
+ -s"$server" \
+ -n"$nickname" \
+ --subject="$MAILSUBJECT"
+else
+ echo "No mail template, not sending email."
+fi
+
+if [ -f "$POSTINSTALL" ]
+then
+ echo "Running $POSTINSTALL ..."
+ source "$POSTINSTALL"
+fi
diff --git a/theme/base/css/display.css b/theme/base/css/display.css
index 65dd15990..b5cfab7e9 100644
--- a/theme/base/css/display.css
+++ b/theme/base/css/display.css
@@ -632,7 +632,8 @@ margin-bottom:18px;
.entity_profile .entity_url,
.entity_profile .entity_note,
.entity_profile .entity_tags,
-.entity_profile .entity_aliases {
+.entity_profile .entity_aliases,
+.entity_profile .entity_statistics {
margin-left:113px;
margin-bottom:4px;
}
@@ -995,6 +996,9 @@ padding-left:28px;
.notice .author {
margin-right:11px;
}
+#showstream #content .notice .author {
+display:none;
+}
.fn {
overflow:hidden;
@@ -1127,8 +1131,17 @@ top:3px;
}
.dialogbox .submit_dialogbox {
-text-indent:0;
font-weight:bold;
+text-indent:0;
+min-width:46px;
+}
+
+#wrap form.processing input.submit,
+.entity_actions a.processing,
+.dialogbox.processing .submit_dialogbox {
+cursor:wait;
+outline:none;
+text-indent:-9999px;
}
.notice-options {
@@ -1399,6 +1412,9 @@ margin-bottom:18px;
.hentry .entry-content li li {
margin-left:18px;
}
+.hentry .entry-content .form_settings ul {
+margin-left:0;
+}
#content #plugin_authors {
min-width:122px;
diff --git a/theme/base/images/icons/icons-01.gif b/theme/base/images/icons/icons-01.gif
index f93d33d79..01a729c10 100644
--- a/theme/base/images/icons/icons-01.gif
+++ b/theme/base/images/icons/icons-01.gif
Binary files differ
diff --git a/theme/base/images/icons/twotone/green/clear.gif b/theme/base/images/icons/twotone/green/clear.gif
new file mode 100644
index 000000000..2666430ef
--- /dev/null
+++ b/theme/base/images/icons/twotone/green/clear.gif
Binary files differ
diff --git a/plugins/UserFlag/icon_flag.gif b/theme/base/images/icons/twotone/green/flag.gif
index 68c8aee25..68c8aee25 100644
--- a/plugins/UserFlag/icon_flag.gif
+++ b/theme/base/images/icons/twotone/green/flag.gif
Binary files differ
diff --git a/theme/base/logo.png b/theme/base/logo.png
index 7c68b34f6..cf1839194 100644
--- a/theme/base/logo.png
+++ b/theme/base/logo.png
Binary files differ
diff --git a/theme/default/css/display.css b/theme/default/css/display.css
index 3aebb239d..6954de7ba 100644
--- a/theme/default/css/display.css
+++ b/theme/default/css/display.css
@@ -1,7 +1,7 @@
/** theme: default
*
* @package StatusNet
- * @author Sarven Capadisli <csarven@status.net>
+ * @author Sarven Capadisli <csarven@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/
@@ -18,7 +18,7 @@ font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
font-size:1em;
}
address {
-margin-right:5.7%;
+margin-right:5.3%;
}
input, textarea, select {
border-width:2px;
@@ -189,18 +189,22 @@ button.close,
.notice-options .repeated,
.form_notice label[for=notice_data-geo],
button.minimize,
-.form_reset_key input.submit {
+.form_reset_key input.submit,
+.entity_clear input.submit,
+.entity_flag input.submit,
+.entity_flag p {
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 {
+.entity_actions a.processing,
+.dialogbox.processing .submit_dialogbox {
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
-cursor:wait;
-text-indent:-9999px;
-outline:none;
+}
+.notice-options .form_repeat.processing {
+background-image:none;
}
#content {
@@ -337,6 +341,13 @@ background-position: 5px -1511px;
.form_reset_key input.submit {
background-position: 5px -1973px;
}
+.entity_clear input.submit {
+background-position: 5px -2039px;
+}
+.entity_flag input.submit,
+.entity_flag p {
+background-position: 5px -2105px;
+}
/* NOTICES */
.notice .attachment {
diff --git a/theme/default/logo.png b/theme/default/logo.png
index 550d373fe..cf1839194 100644
--- a/theme/default/logo.png
+++ b/theme/default/logo.png
Binary files differ
diff --git a/theme/default/mobilelogo.png b/theme/default/mobilelogo.png
index b72f7aff5..66bb5f678 100644
--- a/theme/default/mobilelogo.png
+++ b/theme/default/mobilelogo.png
Binary files differ
diff --git a/theme/identica/css/display.css b/theme/identica/css/display.css
index 2818196c2..9ac2730bd 100644
--- a/theme/identica/css/display.css
+++ b/theme/identica/css/display.css
@@ -1,7 +1,7 @@
/** theme: identica
*
* @package StatusNet
- * @author Sarven Capadisli <csarven@status.net>
+ * @author Sarven Capadisli <csarven@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/
@@ -189,18 +189,22 @@ button.close,
.notice-options .repeated,
.form_notice label[for=notice_data-geo],
button.minimize,
-.form_reset_key input.submit {
+.form_reset_key input.submit,
+.entity_clear input.submit,
+.entity_flag input.submit,
+.entity_flag p {
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 {
+.entity_actions a.processing,
+.dialogbox.processing .submit_dialogbox {
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
-cursor:wait;
-text-indent:-9999px;
-outline:none;
+}
+.notice-options .form_repeat.processing {
+background-image:none;
}
#content {
@@ -336,6 +340,13 @@ background-position: 5px -1511px;
.form_reset_key input.submit {
background-position: 5px -1973px;
}
+.entity_clear input.submit {
+background-position: 5px -2039px;
+}
+.entity_flag input.submit,
+.entity_flag p {
+background-position: 5px -2105px;
+}
/* NOTICES */
.notice .attachment {
diff --git a/theme/identica/mobilelogo.png b/theme/identica/mobilelogo.png
index b72f7aff5..66bb5f678 100644
--- a/theme/identica/mobilelogo.png
+++ b/theme/identica/mobilelogo.png
Binary files differ